咨询 节点导纳矩阵
for i=1:nl %支路数if B1(i,6)==0 %左节点处于低压侧
p=B1(i,1);q=B1(i,2); %取节点号
else
p=B1(i,2);q=B1(i,1);
end
Y(p,q)=Y(p,q)-1./(B1(i,3)*B1(i,5)); %非对角元
Y(q,p)=Y(p,q);
Y(q,q)=Y(q,q)+1./(B1(i,3)*B1(i,5)^2)+B1(i,4)./2; %对角元K侧
Y(p,p)=Y(p,p)+1./B1(i,3)+B1(i,4)./2; %对角元1侧
end
请问各位高手,左节点处于低压侧 这一段我不怎么看的懂,这一句主要是有什么用,谢谢 if B1(i,6)==0 %左节点处于低压侧
此语句是一个条件语句,原始数据中,当第i行第6列的元素为0时,表示此处相应i行支路的左侧节点是位于低压侧的,此时执行p=B1(i,1);q=B1(i,2);
当B1(i,6)~=0时,即此时左侧节点不在低压侧,执行 p=B1(i,2);q=B1(i,1);
如此执行是因为节点对低压侧有要求,比如说在变压器进行等值时,变比1:k,两侧等值的公式是不同的,需要辨别节点。相类似的,你的问题要看你原始数据每一列都代表什么。 可以在输入数据的时候按低压高压的顺序来输入,然后省略掉这个判断吧? 如果输入数据的时候按低压高压的顺序来输入可以省略此语句,但是若计算的是一个大网络还是利用这样一个判断语句比较方便,否则在输入数据时很容易出错 都在编啊 我得学习下 π型线路 1:k 和 k:1换算导纳不同。
程序读明白了不一定会改, 这个程序平衡节点必须在第一点,可以试着改成任意点的,主要是练练。 ddddddddddddddddddddddddd 先学习学习! 一看就知道是某本书上的,呵呵 回复 1# 木子李
它是开始输入数据时,设定的。来判断,是呢,就运行下面的。
页:
[1]
2
