木子李 发表于 2010-1-18 15:12:46

咨询 节点导纳矩阵

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


请问各位高手,左节点处于低压侧 这一段我不怎么看的懂,这一句主要是有什么用,谢谢

jiapi119 发表于 2010-1-19 16:21:53

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,两侧等值的公式是不同的,需要辨别节点。相类似的,你的问题要看你原始数据每一列都代表什么。

木子李 发表于 2010-1-19 16:41:45

可以在输入数据的时候按低压高压的顺序来输入,然后省略掉这个判断吧?

jiapi119 发表于 2010-1-19 16:57:10

如果输入数据的时候按低压高压的顺序来输入可以省略此语句,但是若计算的是一个大网络还是利用这样一个判断语句比较方便,否则在输入数据时很容易出错

kentyfang 发表于 2010-1-20 10:58:12

都在编啊      我得学习下

ravb1314 发表于 2010-2-8 20:35:39

π型线路 1:k 和 k:1换算导纳不同。
程序读明白了不一定会改, 这个程序平衡节点必须在第一点,可以试着改成任意点的,主要是练练。

小木1987 发表于 2010-4-6 21:21:05

ddddddddddddddddddddddddd

kittish 发表于 2010-4-16 14:52:11

先学习学习!

hzl004 发表于 2011-4-6 20:33:01

一看就知道是某本书上的,呵呵

dlcx11 发表于 2011-4-18 17:34:56

回复 1# 木子李


    它是开始输入数据时,设定的。来判断,是呢,就运行下面的。
页: [1] 2
查看完整版本: 咨询 节点导纳矩阵

招聘斑竹