
B1矩阵: 1.分支结束号; 2.结束号码; 3.分支阻抗; 4.分支对地面的电纳; 5.分支机构比例; 6. K端的分支端为1,1 B2矩阵: 1.节点发电机的功率; 2.节点的负载功率; 3.节点电压的初始值. 4.PV节点电压的给定值V; 5.无功补偿设备连接到节点的容量. 6.节点分类标签: 1是平衡节点(应为节点1); 2是PQ节点;是PV节点;明确; n =输入(“请输入节点数: n =”); nl =输入(“请输入分支数: nl ='); isb =输入(“请输入天平总线节点号: isb ='); pr =输入(“请输入错误的准确性: pr ='); B1 =输入('请输入由每个分支的参数组成的矩阵: B1 ='); B2 =输入('请输入由每个节点的参数组成的矩阵: B2 ='); Y =零(n); e =零(1,n); f =零(1,n); V =零(1,n); sida =零(1,n); S1 =零(nl); i = 1: nl%分支数,否则%左节点在K端%找到导纳矩阵disp('导纳矩阵G =实数(Y); B = imag(Y);%分解导纳的实部和虚部矩阵%给定每个节点的初始电压的实部和虚部e(i)=实部(B2(i,3)); f(i)= i mag(B2(i,3));%PV节点电压给定模量值端节点无功功率补偿端P =实数(S); Q = imag(S);%分解每个节点注入的有功和无功功率Power ICT1 = 0; IT2 = 1; N0 = 2 * n; N = N0 + 1; a = 0;%迭代ICT1,a;不满足收敛要求IT2的节点数,而IT2〜= 0 N0 = 2 * n雅可比矩阵的阶数; N = N0 + 1扩展列IT2 = 0; a = a +1; i〜= isb%不平衡节点j1 = 1: nC(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)端点P1 = C(i)* e(i)+ f(i)* D(i);%节点功率P计算在eiΣ(Gij * ej-Bij * fj)+fiΣ(Gij * fj + Bij * ej)上Q1 = C(i)* f(i)-e(i)* D(i);%节点功率Q计算fiΣ (Gij * ej-Bij * fj)-eiΣ(Gij * fj + Bij * ej)以下是用于查找功率差的非PV节点和Jacobi矩阵元素%非PV节点DP = P(i)-P1 ; %节点有功功率差DQ = Q(i)-Q1;%节点无功功率差得到Jacobi矩阵j1〜= isb和j1〜= i%不平衡节点和非对角元素dP / df = dQ / deX3 = X2; X2 = dp / dfX3 = dQ / de X4 = -X1; X1 = dP / deX4 = dQ / df p = 2 * i-1; q = 2 * j1-1; J(p,q)= X3; J(p,N)= DQ; m = p + 1; X3 = dQ / deJ(p,N)= DQ节点无功功率差J(m,q)= X1; J(m,N)= DP; q = q + 1; X1 = dP / deJ(m,N)= DP节点的有功功率差X4 = dQ / dfX2 = dp / df elseif j1 == i&j1〜= isb%不平衡节点和对角线元素dQ / dfp = 2 * i- 1; q = 2 * j1-1; J(p,q)= X3; J(p,N)= DQ;扩展列Q m = p +1; J(m,q)= X1; q = q + 1; J(p,q)= X4; J(m,N)= DP;%扩展列P endend else其他以下是获得节点的PVi节点的Jacobi矩阵PV节点有功功率DV = V(i)^ 2-V2; PV节点电压误差j1〜= isb&j1〜= i%不平衡节点&非对角元素dP / dfX5 = 0; X6 = 0; p = 2 * i-1; q = 2 * j1-1; J(p,q)= X5; J(p,N)= DV;光伏节点电压误差m = p +1; J(m,q)= X1; J(m,N)= DP; q = q + 1; J(p,q)= X6; PV节点活动误差elseifj1 == i&j1〜= isb%不平衡节点和对角元素dP / dfX5 = -2 * e(i); X6 = -2 * f(i); p = 2 * i-1; q = 2 * j1-1; J(p,q)= X5; J(p,N)= DV;光伏节点电压误差m = p +1; J(m,q)= X1; J(m,N)= DP; q = q + 1; J(p,q)= X6; PV节点活动错误端结束端结束端N0 = 2 * n(从第三行开始,第一行和第二行是平衡节点)k1 = k + 1; N1 = N; N = 2 * n + 1扩展列P,Q从列k + 1的Jacobi元素到扩展列,对列P和Q之后的非对角元素进行归一化,以从第三行开始的k3行和当前行之前的k4行结束k3行J(k3,k2)= J(k3,k2)-J(k3,k)* J(k,k2)之后每行的上三角元素;%消除运算(当前行k列元素为0 )end%如果第k行K2列元素已到达最后一行,则从第k行K2列元素中减去当前行K2列元素;从列k + 1到扩展列消除k + 1行之后的结束三角形元素J(k3,k2)= J(k3,k2)-J(k3,k)* J(k,k2);%消除操作结束%将当前行K2列元素乘以当前行k列元素乘以元素endelse%行k2的第三行是k =3. 上一行第三行k = 3的是k3 = k1: 第四行到2n行(最后一行). K2 = k1: N1%四列至2n + 1列(即扩展列)J(k3,k2)= J(k3,k2)-J(k3,k)* J(k,k2); %消除操作(当前第3行的列元素消除0)end%将当前行K2的列元素乘以当前第3行的列元素乘以第三行K2列的元素. Endend end%====上面是一种线性变换高斯消除方法,用于将Jacobi矩阵转换为恒等式== === k = 3: 2: N0-1L =(k +1).

/ 2;%修改节点电压的实部k1 = k + 1;%修改节点电压的虚部%------修改节点电压-------- --- k = 3: N0DET = abs(J(k潮流计算 程序,N)); DET> = pr%电压偏差是否满足要求IT2 = IT2 + 1;%不满足要求的节点数加上1个终端ICT2(a)= IT2;%不满足要求的节点数ICT1 = ICT1 +1;%迭代结束%高斯消去法,用于解决“ w = -J * V” disp(“迭代次数: ”);显示(ICT1); disp('Number: '); disp(ICT2);%计算每个节点电压的模值sida(k)= atan(f(k)./e(k))* 180. / pi;%计算每个节点电压的角度%Express复数末端显示中每个节点的电压(“每个节点的实际电压标准值E为(节点号从小到大排列): ”);显示(E);%显示每个节点的实际电压标准值E. Pl('---------------------------------- ------------- ------'); disp('每个节点的电压V为(节点号从小到大排列): '); disp(V);%显示每个节点的电压V disp('---------------------------------- ------ -------------'); disp('每个节点的电压相角sida为(节点号从小到大排列): '); disp(sida);%表示每个节点的电压相角%计算每个节点端注入电流的共轭值注入电流端disp的共轭值('每个节点的功率S为(节点号排列从小到大): '); disp(S);%显示每个节点的注入功率disp('------------------------------------ ------- ----------'); disp('每个分支的前端功率Si为(顺序与您输入B1时相同): '); Si(p,q)= E(p)*(conj(E(p))* conj(B1(i,4).

/ 2)+(conj(E(p)* B1(i,5))...- conj(E(q)))* conj(1 ./(B1(i,3)* B1( i,5)))))); Siz(i)= Si(p,q);否则Si(p,q)= E(p)*(conj(E(p))* conj(B1(i,4)/ 2)+(conj(E(p)./ B1(i,5))) ... -conj(E(q)))* conj(1 ./(B1(i,3)* B1(i,5))))); Siz(i)= Si(p,q);终端显示(Si(p,q)); SSi(p,q)= Si(p,q); ZF =('S(',num2str(p),',',num2str(q),')=',num2str(SSi(p,q))]; disp(ZF); disp('---- ------ -------------------------------------------' ); end disp('每个分支的结束功率Sj是(与输入B1时的顺序相同): '); Sj(q,p)= E(q)*(conj(E(q)) * conj(B1(i,4)./ 2)+(conj(E(q)./ B1(i,5))...- conj(E(p)))* conj(1.

/(B1(i,3)* B1(i,5)))); Sjy(i)= Sj(q,p);否则Sj(q,p)= E(q)*(conj(E(q))* conj(B1(i,4)./ 2)+(conj(E(q)* B1(i,5))) ... -conj(E(p)))* conj(1 ./(B1(i,3)*B1(i,5)))); Sjy(i)= Sj(q,p);结束显示(Sj(q,p)); SSj(q,p)= Sj(q,p); ZF = ['S(',num2str(q),',',num2str(p),')=',num2str(SSj(q,p))];显示(ZF);显示('----------------------------------------------- ------'); end disp('每个分支的功率损耗DS为(顺序与输入B1时的顺序相同: '); DS(i)= Si(p,q)+ Sj(q,p);显示(DS(i)); DDS(i)= DS(i); ZF = ['DS(',num2str(p),',',num2str(q),')='潮流计算 程序,num2str(DDS(i))];显示(ZF);显示('---------------------------------- ------------- ------');成品图(1);子图(1,2,1);情节(V); xlabel('节点号'); ylabel(“电压标度值”);网格子图(1,2,2);情节(sida); xlabel('节点号'); ylabel('电压角');网格图(2);子图(2,2,1); P =实数(S); Q = imag(S);酒吧(P); xlabel('节点号'); ylabel(“节点注入有功功率”);网格子图(2,2,2); bar(Q); xlabel('节点号'); ylabel(“节点注入的无功功率”);网格子图(2,2,3); P1 =实数(Siz); Q1 = i mag(Siz);酒吧(P1); xlabel('分支编号'); ylabel(“向分支端注入有功功率”);网格子图(2,2,4);酒吧(Q1); xlabel('Branch Road number'); ylabel(“在分支端注入无功功率”);网格
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/tongxinshuyu/article-147564-1.html
建议先不升
现在谁有钱还放银行