zhouyou529 发表于 2009-4-30 15:59:38

谁能帮我指教一下改怎么编潮流计算

clear;
Yb=[6.25-18.75i-5+15i      -1.25+3.75i    0             0
    -5+15i       10.834-32.5i-1.667+5i   -1.667+5i    -2.5+7.5i
    -1.25+3.75i-1.667+5i   12.917-38.75i -10+30i      0
    0            -1.667+5i   -10+30i       12.917-38.75i-1.25+3.75i
    0            -2.5+7.5i   0             -1.25+3.75i    3.75-11.25i];
Pknow=;Qknow=;e1=1.06;f1=0;%已知量
e=;f=;
k=0;%跌代次数
PQX=;%修正量   
P=zeros(4,1);Q=zeros(4,1);I=zeros(4,1);YAKEBI=zeros(8,8);
while (max(PQX)>=0.1|min(PQX)<=-0.1)
    k=k+1;
    for n=1:4
      for m=1:5
            P(n)=P(n)+e(n+1)*(real(Yb(n+1,m))*e(m)-imag(Yb(n+1,m))*f(m))+f(n+1)*(real(Yb(n+1,m))*f(m)+imag(Yb(n+1,m)*e(m)));
            Q(n)=Q(n)+f(n+1)*(real(Yb(n+1,m))*e(m)-imag(Yb(n+1,m))*f(m))-e(n+1)*(real(Yb(n+1,m))*f(m)+imag(Yb(n+1,m)*e(m)));
      end
      PQX(2*n-1)=Pknow(n+1)-P(n);
      PQX(2*n)=Qknow(n+1)-Q(n);
      I(n)=(P(n)-Q(n)*i)/(e(n+1)-f(n+1)*i);
    end
    for n=1:4
      for m=1:4
            YAKEBI(2*n-1,2*m-1)=-imag(Yb(n+1,m+1))*e(n+1)+real(Yb(n+1,m+1))*f(n+1);%Hnm
            YAKEBI(2*n-1,2*m)=real(Yb(n+1,n+1))*e(n+1)+imag(Yb(n+1,n+1))*f(n+1);%Nnm
            YAKEBI(2*n,2*m-1)=-real(Yb(n+1,m+1))*e(n+1)-imag(Yb(n+1,m+1))*f(n+1);%Jnm
            YAKEBI(2*n,2*m)=-imag(Yb(n+1,m+1))*e(n+1)+real(Yb(n+1,m+1))*f(n+1);%Lnm
      end
      YAKEBI(2*n-1,2*n-1)=-imag(Yb(n+1,n+1))*e(n+1)+real(Yb(n+1,n+1))*f(n+1)+imag(I(n));%Hnn
      YAKEBI(2*n-1,2*n)=real(Yb(n+1,n+1))*e(n+1)+imag(Yb(n+1,n+1))*f(n+1)+real(I(n));%Nnn
      YAKEBI(2*n,2*n-1)=-real(Yb(n+1,n+1))*e(n+1)-imag(Yb(n+1,n+1))*f(n+1)+real(I(n));%Jnn
      YAKEBI(2*n,2*n)=-imag(Yb(n+1,n+1))*e(n+1)+real(Yb(n+1,n+1))*f(n+1)-imag(I(n));%Lnn
    end% build the yakebi matrix
    Dfe=inv(YAKEBI)*PQX; %修正fe
    for n=1:4
      f(n+1)=f(n+1)+Dfe(2*n-1);
      e(n+1)=e(n+1)+Dfe(2*n);
    end
    f
    e
end


运行会出现
Warning: Matrix is singular to working precision.
(Type "warning off MATLAB:singularMatrix" to suppress this warning.)
> In f:\MATLAB6p5\work\yy.m at line 35

我这个程序是按照陈珩那本稳态分析的例子编的,想试试。完全没考虑PV节点
这个程序要怎么改进啊?

wangmuyidong 发表于 2009-5-5 16:24:42

我没有时间仔细给你检查,但是想告诉你,你的雅克比矩阵的形成太麻烦了,极有可能存在错误,并且你得程序也不通用,雅克比矩阵的形成要仔细分析其各个表达式的关系,可以用矩阵运算直接形成。而没有必要用循环。这样会非常耗时的。
页: [1]
查看完整版本: 谁能帮我指教一下改怎么编潮流计算

招聘斑竹