⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ymatrixconstruct.m

📁 % 该Matlab程序基于牛顿-拉夫逊算法
💻 M
字号:
function [Y_B]=YmatrixConstruct(para_line,para_trans2,para_trans3,para_capac,SB,NodeNum)
% 自动生成节点导纳矩阵程序
% SB为功率基准值,NodeNum是电力系统网络节点数(含三绕组变压器增加的节点数)

Y_B=zeros(NodeNum,NodeNum);

% 对线路
for i=1:size(para_line,1)
    [Y,Z]=LineModel(para_line(i,:),SB);
    act_node=para_line(i,2:3);
    Y_B(act_node(1),act_node(1))=Y_B(act_node(1),act_node(1))+1/Z+Y;
    Y_B(act_node(2),act_node(2))=Y_B(act_node(2),act_node(2))+1/Z+Y;
    Y_B(act_node(1),act_node(2))=Y_B(act_node(1),act_node(2))-1/Z;
end

% 对两绕组变压器
for i=1:size(para_trans2,1)
    [Y,Z,Gt,Bt]=Trans2Model(para_trans2(i,:),SB);
    act_node=para_trans2(i,2:3);
    Y_B(act_node(1),act_node(1))=Y_B(act_node(1),act_node(1))+1/Z+Y(1);
    Y_B(act_node(2),act_node(2))=Y_B(act_node(2),act_node(2))+1/Z+Y(2);
    Y_B(act_node(1),act_node(2))=Y_B(act_node(1),act_node(2))-1/Z;
end

% 对三绕组变压器
for i=1:size(para_trans3,1)
    [Y_out,Z_out]=Trans3Model(para_trans3(i,:),SB);
    Y_B(para_trans3(5),para_trans3(5))=Y_B(para_trans3(5),para_trans3(5))+sum(1./Z_out)+Y_out(4);
    act_node=para_trans3(i,2:4);
    M_sequence=1;
    for j=act_node
        Y_B(j,j)=Y_B(j,j)+1/Z_out(M_sequence)+Y_out(M_sequence);
        Y_B(j,para_trans3(5))=Y_B(j,para_trans3(5))-1/Z_out(M_sequence);
        M_sequence=M_sequence+1;
    end
end

% construct Y_B  
temp_triu=triu(Y_B,1)
Y_B=Y_B+(triu(Y_B,1)).';
Y_B=Y_B+(tril(Y_B,-1)).';
Y_B=Y_B-temp_triu;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -