%本程序的功能是用牛顿——拉夫逊法进行潮流计算 % B1 矩阵:1、支路首端号;2、末端号;3、支路阻抗;4、支路对地电纳 % 5、支路的变比;6、支路首端处于 K 侧为 1,1 侧为 0 % B2 矩阵:1、该节点发电机功率;2、该节点负荷功率;3、节点电压初始值 % 4、PV 节点电压 V 的给定值;5、节点所接的无功补偿设备的容量 % 6、节点分类标号:1 为平衡节点(应为 1 号节点);2 为 PQ 节点; % 3 为 PV 节点; clear; n=input('请输入节点数:n='); nl=input('请输入支路数:nl='); isb=input('请输入平衡母线节点号:isb='); pr=input('请输入误差精度:pr='); B1=input('请输入由各支路参数形成的矩阵:B1='); B2=input('请输入各节点参数形成的矩阵:B2='); Y=zeros(n);e=zeros(1,n);f=zeros(1,n);V=zeros(1,n);sida=zeros(1,n);S1=zeros(nl); % % %--------------------------------------------------- for i=1:nl %支路数 if B1(i,6)==0 %左节点处于 1 侧 p=B1(i,1);q=B1(i,2); else %左节点处于 K 侧 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 %求导纳矩阵 disp('导纳矩阵 Y='); disp(Y) %---------------------------------------------------------- G=real(Y);B=imag(Y); %分解出导纳阵的实部和虚部 for i=1:n %给定各节点初始电压的实部和虚部 e(i)=real(B2(i,3)); f(i)=imag(B2(i,3)); V(i)=B2(i,4); %PV 节点电压给定模值 end for i=1:n %给定各节点注入功率 S(i)=B2(i,1)-B2(i,2); %i 节点注入功率 SG-SL B(i,i)=B(i,i)+B2(i,5); %i 节点无功补偿量 end %=================================================================== P=real(S);Q=imag(S); %分解出各节点注入的有功和无功功率 ICT1=0;IT2=1;N0=2*n;N=N0+1;a=0; %迭代次数 ICT1、a;不满足收敛要求的节点数 IT2 while IT2~=0 % N0=2*n 雅可比矩阵的阶数;N=N0+1 扩展列 IT2=0;a=a+1; for i=1:n if i~=isb %非平衡节点 C(i)=0;D(i)=0; for j1=1:n C(i)=C(i)+G(i,j1)*e(j1)-B(i,j1)*f(j1);%Σ(Gij*ej-Bij*fj) D(i)=D(i)+G(i,j1)*f(j1)+B(i,j1)*e(j1);%Σ(Gij*fj+Bij*ej) e...