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

📄 00.txt

📁 基于科学计算软件的有功-无功分解法潮流计算程序
💻 TXT
字号:
n=input('节点数n=');
 npq=input('PQ节点数npq=');
 pr=input('误差精度pr=');
 C1=input('节点之间的阻抗参数C1=');
 C2=input('各节点自导纳参数C2=');
 
 Y=zeros(n,n);
 for i=1:n-1
   for j=1:n-i
      Y(i,i+j)=C1(i,j);
   end
 end
 Y=Y+Y.';
 for i=1:n
   Y(i,i)=C2(i);
 end   %节点导纳矩阵——Y生成;
 G=real(Y);
 B=imag(Y);
 B1=B(1:n-1,1:n-1);%有功迭代雅克比矩阵——B';
 B1
 npq=2;
 B2=B(1:npq,1:npq);%无功迭代雅克比矩阵——B'';
 B2
 
 Pis=input('依次输入初值参数Pis=');
 Vj0=input('依次输入初值参数Vj0=');
 ui0=input('依次输入初值参数ui0=');
 Qis=input('依次输入初值参数Qis=');

 format long 
k=0
for i=1:n-1
M=0;
for j=1:n
M=M+Vj0(j)*(G(i,j)*cos(ui0(i)-ui0(j))+B(i,j)*sin(ui0(i)-ui0(j)));
end
dertPi(i)=Pis(a)-Vj0(i)*M;
end
dertPi      %有功功率不平衡增量;

M1=1;
for i=1:n-1
if abs(dertPi(i))<pr
a=1;
else a=0;
end
M1=M1&a;
end         %判断Pis是否全都小于pr,是则M1置1,否则M1置0;

for i=1:npq
M=0;
for j=1:n
M=M+Vj0(j)*(G(i,j)*sin(ui0(i)-ui0(j))-B(i,j)*cos(ui0(i)-ui0(j)));
end
dertQi(i)=Qis(i)-Vj0(i)*M;
end
dertQi       %无功功率不平衡增量;

M2=1;
for i=1:npq
if abs(dertQi(i))<pr
a=1;
else a=0;
end
M2=M2&a;
end         %判断Qis是否全都小于pr,是则M2置1,否则M2置0;

while (M1&M2)==0
    PV=zeros(1,n-1);
    for i=1:n-1
        PV(i)=dertPi(i)/Vj0(i);
    end     %P/V
    QV=zeros(1,npq);
    for i=1:npq
        QV(i)=dertQi(i)/Vj0(i);
    end     %Q/V
    Vidertui=zeros(n-1,1);
    Vidertui=(-B1)\(PV');
    dertui=zeros(1,n-1);
    for i=1:n-1
        dertui(i)=Vidertui(i)/Vj0(i);
    end      %dertui
    for i=1:n-1
        ui0(i)=ui0(i)+dertui(i);
    end      %ui
    dertVi=(-B2)\(QV');  %dertVi
    for i=1:npq
        Vj0(i)= Vj0(i)+dertVi(i);
    end       %Vj
    
    k=k+1
    V1=Vj0(1)
    V2=Vj0(2)
    u1=ui0(1)*180/pi
    u2=ui0(2)*180/pi
    u3=ui0(3)*180/pi
   
for i=1:n-1
M=0;
for j=1:n
M=M+Vj0(j)*(G(i,j)*cos(ui0(i)-ui0(j))+B(i,j)*sin(ui0(i)-ui0(j)));
end
dertPi(i)=Pis(i)-Vj0(i)*M;
end
dertPi     %有功功率不平衡增量;

M1=1;
for i=1:n-1
if abs(dertPi(i))<pr
a=1;
else a=0;
end
M1=M1&a;
end         %判断Pis是否全都小于pr,是则M1置1,否则M1置0;

for i=1:npq
M=0;
for j=1:n
M=M+Vj0(j)*(G(i,j)*sin(ui0(i)-ui0(j))-B(i,j)*cos(ui0(i)-ui0(j)));
end
dertQi(i)=Qis(i)-Vj0(i)*M;
end
dertQi      %无功功率不平衡增量;

M2=1;
for i=1:npq
if abs(dertQi(i))<pr
a=1;
else a=0;
end
M2=M2&a;
end         %判断Qis是否全都小于pr,是则M2置1,否则M2置0;

end

M=0;
i=n;
for j=1:n
    M=M+conj(Y(i,j))*conj(Vj0(j)*exp(ui0(j)*sqrt(-1)));
end
Sn=Vj0(i)*exp(ui0(i)*sqrt(-1))*M

y=zeros(n,n);
yi0=input('输入yi矩阵:yi0=');
yij=input('输入yij矩阵:yij=');

S=zeros(n,n);
for i=1:n
    for j=1:n
        if i==j
            continue;
        end
        S(i,j)=(Vj0(i)^2)*conj(yi0(i,j))+Vj0(i)*exp(ui0(i)*sqrt(-1))*(conj(Vj0(i)*exp(ui0(i)*sqrt(-1)))-conj(Vj0(j)*exp(ui0(j)*sqrt(-1))))*conj(yij(i,j));
    end
end
S

⌨️ 快捷键说明

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