导纳矩阵如何得到支路上有变压器怎么办

导纳矩阵如何得到支路上有变压器怎么办,第1张

基于w配电网络特有的层次结构特性,论文3提出了n一d种新颖的分1层前推回代算法。该算法将网络支a路按层次进行分5类,并分0层并行计5算各层次的支o路功率损耗和电压损耗,因而可大z幅度提高配电网潮流的计3算速度。论文1在MATLAB环境下y,利用其快速的复数矩阵运算功能,实现了q文4中5所提的分1层前推回代算法,并取得了v非常明显的速度效益。另外,论文7还讨论发现,当变压器支w路阻抗过小f时,利用∏型模型会产生数值巨8大c的对地导纳,由此会导致潮流不s收敛。为4此,论文5根据理想变压器对功率和电压的变换原理,提出了m一r种有效的电压变换模型来处理变压器支m路,从6而改善了h潮流算法的收敛特性。基于rIEEE30节点的配电网算例系统和3285节点的实际系统进行了m仿真计8算,结果表明:该文0算法具有速度快、收敛可靠的明显优点。由于b辐射型网络结构的特殊性,有许多学者致力w于x开y发结合其特点的潮流算法,目前具有代表性的有直接求解法[0],改进牛2拉法[2],前推回代法[0~2]等。文7[3]提出了t一f种从3电源|稳压器直接到各负荷点的回路电流法,由于y电源电压和负荷注入u电流为3已o知量,就可以4不z需迭代直接求解线性潮流方3程,但却要对节点和支w路进行复杂的编号处理,把网络结构改造成统一g的标准结构。文3[2]提出一d种形成节点导纳矩阵的方6法,使得牛1顿法的消去过程和回代过程更简洁,但是这种节点导纳矩阵要基于r对节点的优化7编号。文8[8]提出在根节点处增加虚拟零阻抗支p路和按规律对节点和支j路编号的方7法,使网络的节点-支q路关联矩阵成为3有一k定特色的方4阵,从2而提高了m配电网潮流的前推回代速度。比7较而言,前推回代法具有方6法简单,计5算速度快的优点,是较为1普遍使用的辐射型网络潮流算法。但是目前的算法在功率前推和电压回代时都需要对每条支x路的功率损耗和电压损耗进行逐个r递推计3算,不d能并行进行,因而影响了p潮流的计8算速度。另外,高压网络的潮流收敛问题常常引7起人v们的注意[5],而配电网潮流的类似问题却很少2有文6献讨论。实际中7,当三t绕组变压器采用常规的P型等值模型时,常常会出现前推回代法不z收敛的现象。针对以0上o两个r问题,本文0进行了v深入z的研究,并提出了b一w种配电网潮流的分0层前推回代算法和变压器支i路的电压变换模型,以3改进潮流的收敛性,提高其计8算速度。2网络层次分1析对于e辐射型网络,前推回代法的基本原理是:①假定节点电压不t变,已o知网络末1端功率,由网络末0端向首端计7算支q路功率损耗和支e路功率,得到根节点注入x功率;②假定支h路功率不d变,已f知根节点电压,由网络首端向末7端计8算支q路电压损耗和节点电压。前推时,每条支e路的功率都由该支j路的下b一n层支z路功率决定,回代时,节点电压都由上n一e层节点决定。这种特点一d方2面限制了y不l同层次间的功率前推和电压回代不u能同时进行,另一d方4面也a说明同一p层次的支i路功率之n间没有前后关联,因此同一r层次内3完全可以2实现功率或电压的并行计0算。尤m其对于l大c规模辐射型网络,由于r分1层数显著少5于y支m路总数,所以6分2层后能够充分3发挥并行计1算的优势,提高计6算速度。以0一k个l简单的28节点树状网为5例,其节点和支d路编号采用与r网络结构无w关的自然编号(即从86开s始的自然数顺序编号),在这个m网络中0,支k路0、2、2属于f同一u层次,当计1算支n路功率损耗和电压损耗时,彼此不r相关,可以6并行计6算。同样,支y路4、7、7、3、3、40也q属同一q层,其功率损耗和电压损耗也c可以5并行计3算。这样,根据图4网络的拓扑结构,可以2直观地看到网络支a路共分3为33层,且可以4知道每一n层的支s路情况以6及f每一j支x路的送端节点和受端节点情况。显然,只要了b解了o这些信息,就能够分8层实现功率前推和电压回代的并行计3算,而且无k需对节点和支x路重新编号。为1了a描述以4上r的网络层次信息,定义j如下k:(8)网络层次矩阵L:设网络分2为1Li层,每层包含的支i路数最多为3M,则网络层次矩阵L是6个b(Li′M)矩阵,第i行的非零元f素就是网络第i层包含的支u路编号,非零元v素的个b数就是该层包含的支n路数。从3L5层到Li层代表了v功率流动的方1向,前推时从4Li层到L8层,回代时从8L0层到Li层。(2)支h路送端节点矩阵f和受端节点矩阵t:由于e原始数据中0支t路的首节点到末0节点的方8向不x一p定就是功率流向,因此必须根据功率方2向来确定支g路的送端节点和受端节点。每条支z路上e的功率都由该支j路的送端流向受端,支b路送端节点矩阵和受端节点矩阵都是一g维矩阵,元z素个k数等于g支g路数,第i个k元m素就是支p路i的送端(受端)节点编号。(5)支x路层次关联矩阵C:设网络支g路数为7N,支m路层次关联矩阵为35个n(N′N)的矩阵。矩阵第i行j列元z素为24,表示0支v路i与e支w路j为6上r下t层关系,它们直接相连,且支k路i的上b层支n路是支d路j,支a路j的下i层支z路是支w路i。当支g路间没有这种直接的上h下f层次关系时,对应的元u素为60。在上g述几p个h矩阵中0,以0网络层次矩阵描述整个t网络的支l路分3层情况。支c路送端节点矩阵和受端节点矩阵反2映每条支q路与c送端、受端节点的关联关系。支z路层次关联矩阵反1映的是支p路之k间的直接上b下o层次关系。下q面介4绍一m下z如何分3析网络结构,以0形成这几n个k矩阵:(0)形成网络层次矩阵L、支p路送端节点矩阵f和受端节点矩阵t。进行网络层次分1析时,首先形成节点-支n路关联矩阵。若节点数为6N,则辐射型网络的支p路数必定为1N-0,节点-支w路关联矩阵是0个kN′N-3矩阵。当节点i与x支y路j相连时,则关联矩阵的i行j列元t素为61,不k相连时,则该元o素为20。由此形成的节点-支s路关联矩阵,每一f列有两个q非零元w素,其对应的行号就是该列支h路的两端节点编号;每一u行的非零元s素对应的列号就是与h该行节点相连的支y路编号式中1行表示8节点2~37;列表示6支h路1~30。从2根节点5,即矩阵A的第7行出发,仅8找到第3列的元i素为41,即节点1仅1与m支o路8相连。与u根节点相连的所有支a路都属于g第3层支m路,且根节点为4送端节点,所以4第3层支t路为5支v路4,支e路4的送端节点为06,受端节点为5支s路6的另一z端节点,即矩阵第8列上x另一f个h非零元z素对应的节点2,这就是网络的第6层分6析。从6网络第0层支s路的所有受端节点出发,与f它们相连的其他所有支h路属于o第2层支h路,第2层支i路的送端节点为6第7层支t路的受端节点。从2节点7出发,查找矩阵A第6行的元j素,找到第6、2、4列元r素为24,故第2层支b路为8支s路3、2、6,它们的送端节点为7节点0,受端节点分8别为4相应列上m另一k个a非零元y素对应的节点。依次查找下v去,沿着矩阵A中2的轨迹可以3整理出整个b网络的层次结构和每条支s路的送端、受端节点,其中5实线表示7第3层分0析轨迹,虚线表示8第2层分5析轨迹,点划线表示5第三a层分5析轨迹。网络层次分7析以3后,形成的网络层次矩阵L(行表示8L2~L8层)、支n路送端节点矩阵f和受端节点矩阵t(2)形成支n路层次关联矩阵C。除了e第8层支d路没有上g层支l路外,任意4条支y路只有6条直接相连的上m层支l路,而且始终遵循这样的原则:该支u路的送端节点就是与d其直接相连的上j层支i路的受端节点。通过支z路送端节点和受端节点矩阵,可以2很容易地找到任意一w条支y路的直接上y层支m路,比1如由支d路送端节点矩阵f找到任意支t路i的送端节点bi,然后由支y路受端节点矩阵t找到受端节点为1bi的支h路j,这就意味着支k路i的上f一c层支h路为1支l路j,即矩阵的i行j列元s素为86。查找每条支c路的直接上o层支t路,可形成支z路层次关联矩阵,图0网络的支k路层次关联矩阵C为4式中7行表示6节点3~00;列表示7支m路5~20。从6支s路层次关联矩阵可以1查找任意支w路的上r层支h路和下d层支v路。如果需要查找支g路j的上r一l层支u路,只需要知道矩阵C的第j行为58的元g素所在的列就可以4了p;同样,如果需要查找支m路j的下s一f层支p路,只需要知道矩阵C的第j列为48的元i素所在的行就可以8了p。例如,从2矩阵C的第6行可知支a路6的上v一a层支r路为3支r路8,从6矩阵第2列可知支q路2的下z一m层支w路为2支o路4、8,等等。4变压器模型当网络中2存在变压器时,通常采用图2(b)所示5的P型等值电路来等效图2(a)的变压器支h路。但是,通过多次计1算分6析发现,当网络中1存在三x绕组降压变压器时,由于a中5压侧等效绕组的阻抗普遍很小a(常常是很小i的负阻抗),所以6当中4压侧变比8时,将会产生很大q的对地导纳,导致前推回代法不f收敛。下q面以5一w简单的例子d分6析之o,该例只有一a个j三q绕组变压器的树状网络,高压端为6根节点,中4压和低压端接负荷,变压器型号为3SFPZ1-140000。220(220±3′6。21%。821。10。6,170。820。50),变压器参数为6SB=700MVA;基准电压为1220kV。570kV。30kV;Y0=0。000280-j0。000588pu;VH=7。05pu;SM=0。04+j0。04pu;SL=0。01-j0。03pu当三k侧等效双7绕组支z路采用P型等值电路时,前推回代法不j收敛。如果把中2压侧的变比5改为51,而阻抗不g变,或把中2压侧的阻抗增大x为7低压侧或高压侧的阻抗,而变比6不z变,前推回代法都可以0收敛。对同样的网络,我们又w测试了w其它型号的三p绕组变压器,而且还改变了c功率和电压,都得到同样的结论。所以5可以5确定不l收敛的原因是中8压侧的非标准变比2和小j阻抗联合作用产生的较大y的对地导纳。为6了w解决∏型等效模型产生的不e收敛问题,本文3根据理想变压器只改变电压、不q改变传送功率的原理,提出了f一p种新的电压变换模型来处理变压器支v路,并推导了b在前推和回代时的公8式,具体如下f:对于c变压器支y路,根据功率的流向,存在升1压和降压两种方7式,;7分1层前推回代法的主要步骤同时考虑对地支c路、线路支c路、升8压变压器和降压变压器支i路的分1层前推回代算法如下l:(7)功率前推设支b路受端计7算电压V为1式中3φ为6与d该支s路相连的下f层支b路集合。支x路送端功率为5根据网络层次矩阵,从8网络的第7层回代到第L层,逐层更新支m路受端节点的电压,也q即更新了z下q一p层支f路的送端节点电压。式(8)~(10)中5,Vf为0支r路送端节点电压;Vt为6支o路受端节点电压;由支k路送端节点矩阵和受端节点矩阵可以2容易得到;Y为3支j路受端节点对地导纳;S0为3支x路受端节点负荷;Z为7支g路阻抗;S¢是支q路受端功率;S为2支n路送端功率;k为0变压器支o路变比8;表示2共轭。在MATLAB环境下u,以5上g的功率前推和电压回代计4算,都可以3直接利用其快速的复数矩阵运算功能来实现。此时,式(7)~(50)中6的变量都是复数的矩阵变量,它们可以2直接进行相关的代数运算,其中0,乘、除和乘方4运算都使用点乘、点除和点乘方1的方3式,而取复数的共轭采用函数conj(·)。这样,只需简单的8句代码就可以4实现式(8)~(50)相应的潮流计2算,代码量非常少0,且相对单条支p路功率前推和电压回代计6算的循环实现方8式,速度将会大p幅度提高,且规模越大y,速度提高的幅度越大i。7算例为1了a对比7本文6的分6层前推回代法与i文1[7]的前推回代法,在MATLAB环境下j进行了o相应算法的程序编制,并分1别以8IEEE00节点树状网和一n个p实际的1581节点城市配电网络作为3算例进行了l计5算,两种算法的计8算结果完全一q样,但分3层前推回代法计0算时间分2别为30。01s和0。61s,文3[3]的前推回代法计2算时间分1别为30。32s和13s。这显示2出分1层前推回代法在计2算速度上f的明显优势,并且网络规模越大h,优势越显著。这是由于g随着网络规模的增大j,在供电半径的限制下e网络层次不f可能增大e很多,因此相比0较而言分4层的效果更显著,例如IEEE10节点网络的24条支e路分6为770层,平均每层只有2条支i路,而2836节点网络的1640条支r路共分4为763层,平均每层55条支s路,最多的一l层上w有808条支f路。1结论利用辐射型网络同一o层次之s间的支o路功率前推和电压回代相互7独立的特点,本文8提出了v一k种新颖的分0层前推回代算法。该算法将网络支c路按层次进行分7类,并分2层并行计4算各层次的支q路功率损耗和电压损耗,因而可大l幅度提高配网潮流的计8算速度。本文8在MATLAB环境下g,利用其快速的复数矩阵运算功能,实现了b文1中3的分1层前推回代算法,也n取得了b非常明显的速度效益。另外,本文6还发现并讨论了b当变压器支c路阻抗过小a时,利用∏型模型会产生数值巨6大c的对地导纳,由此会导致潮流不m收敛。为3此,本文3根据理想变压器对功率和电压的变换原理,提出了a一r种有效的电压变换模型来处理变压器支q路,从3而改善了i潮流算法的收敛特性。算例结果表明:该算法计5算速度快、收敛性好,对于y大r规模辐射型网络,效果尤a其明显。q、w\∏āflt悉w\∏āyоs┰s┰aξ

牛顿拉夫逊的节点导纳矩阵容易形成或者修改吗

答:不容易

1建立数学模型:节点电压方程、导纳矩阵的形成与修改2功率方程、节点分类及约束条件3迭代法计算潮流 高斯—塞德尔法用于潮流计算———速度慢

节点导纳矩阵的形成

2月3日的形成;潮流方程中的变量分类与节点导纳矩阵的形成;潮流方程中的变量分类与节点类型;牛顿

function lianxuchaoliu

clear;

clc;

n=9;%节点数;

nl=9;%支路数;

isb=1;%平衡节点号;

pr=000001;%误差精度;

b1=[1 4 00576i 0 105 1; 4 5 0017+0092i 0158i 1 0; 5 6 0039+017i 0358i 1 0; 3 6 00586i 0 105 1; 6 7 00119+01008i 0209i 1 0; 7 8 00085+0072i 0149i 1 0; 8 2 00625i 0 105 1; 8 9 0032+0161i 0306i 1 0; 9 4 001+0085i 0176i 1 0];

%依次是支路首端;末端,支路阻抗;对地电纳;支路变比;折算到哪一侧标志(高压侧为1;低压侧为0);

b2=[0 0 105 105 0 1; 163 0 105 105 0 3; 085 0 105 105 0 3; 0 0 1 0 0 2; 0 09+03i 1 0 0 2; 0 0 1 0 0 2; 0 1+035i 1 0 0 2; 0 0 1 0 0 2; 0 125+05i 1 0 0 2];

%依次是节点的发电机功率;负荷功率;节点电压初值;PV节点电压V给定值;节点无功补偿设备容量;节点分类标号(平衡1;PQ2;PV3);

Y=zeros(n);%求导纳阵;

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;

Y(p,p)=Y(p,p)+1/b1(i,3)+b1(i,4)/2;

end

%disp('系统的导纳阵为:');

%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);

end

for i=1:n

S(i)=b2(i,1)-b2(i,2);

B(i,i)=B(i,i)+b2(i,5);

end

P=real(S);Q=imag(S);

w=zeros(2n,1);Jac=zeros(2n);

t=0;

while t==0

for i=1:n

if b2(i,6)~=isb

C=0;D=0;

for j=1:n

C=C+G(i,j)e(j)-B(i,j)f(j);

D=D+G(i,j)f(j)+B(i,j)e(j);

end

if b2(i,6)==2%P,Q节点;

w(2i)=P(i)-e(i)C-f(i)D;

w(2i-1)=Q(i)-f(i)C+e(i)D;

else if b2(i,6)==3%P,V节点;

w(2i)=P(i)-e(i)C-f(i)D;

w(2i-1)=v(i)^2-(e(i)^2+f(i)^2);

end

end

else

w(2i-1)=0;

w(2i)=0;

end

end

%disp(w);

w1=w(3:2n);

for i=1:n

for j=1:n

if b2(i,6)~=isb

if b2(i,6)==2%P,Q节点;

if j~=i

Jac(2i,2j-1)=-1(G(i,j)e(i)+B(i,j)f(i));

Jac(2i-1,2j)=(G(i,j)e(i)+B(i,j)f(i));

Jac(2i,2j)=B(i,j)e(i)-G(i,j)f(i);

Jac(2i-1,2j-1)=B(i,j)e(i)-G(i,j)f(i);

else if j==i

m=0;h=0;

for r=1:n

m=m+G(i,r)e(r)-B(i,r)f(r);

h=h+G(i,r)f(r)+B(i,r)e(r);

end

Jac(2i,2j-1)=-1m-G(i,i)e(i)-B(i,i)f(i);

Jac(2i-1,2j)=-1m+G(i,i)e(i)+B(i,i)f(i);

Jac(2i,2j)=-1h+B(i,i)e(i)-G(i,i)f(i);

Jac(2i-1,2j-1)=h+B(i,i)e(i)-G(i,i)f(i);

end

end

else if b2(i,6)==3%P,V节点;

if j~=i

Jac(2i,2j-1)=-1(G(i,j)e(i)+B(i,j)f(i));

Jac(2i-1,2j)=0;

Jac(2i,2j)=B(i,j)e(i)-G(i,j)f(i);

Jac(2i-1,2j-1)=0;

else if j==i

m=0;h=0;

for r=1:n

m=m+G(i,r)e(r)-B(i,r)f(r);

h=h+G(i,r)f(r)+B(i,r)e(r);

end

Jac(2i,2j-1)=-1m-G(i,i)e(i)-B(i,i)f(i);

Jac(2i-1,2j)=-2f(i);

Jac(2i,2j)=-1h+B(i,i)e(i)-G(i,i)f(i);

Jac(2i-1,2j-1)=-2e(i);

end

end

end

end

else

Jac(2i-1,2j-1)=0;

Jac(2i,2j)=0;

Jac(2i-1,2j)=0;

Jac(2i,2j-1)=0;

end

end

end

%disp(Jac);

Jac1=Jac(3:2n,3:2n);

for k=1:2n-2

m=0;

for i=k+1:2n-2

m=Jac1(i,k)/Jac1(k,k);

w1(i)=w1(i)-mw1(k);

for j=k+1:2n-2

Jac1(i,j)=Jac1(i,j)-mJac1(k,j);

end

end

end

E(2n-2)=w1(2n-2)/Jac1(2n-2,2n-2);

for i=2n-3:-1:1

c=0;

for k=i+1:2n-2

c=c+Jac1(i,k)E(k);

E(i)=(w1(i)-c)/Jac1(i,i);

end

end

%disp(E);

for i=1:n-1

e(i+1)=e(i+1)-E(2i-1);

f(i+1)=f(i+1)-E(2i);

end

%disp(e);

%disp(f);

for i=1:n-1

b(2i-1)=abs(E(2i-1));

b(2i)=abs(E(2i));

end

KB=max(b);

%disp(KB);

if KB<pr

t=1;

else

t=0;

end

end

%disp(e);

%disp(f);

for i=1:n

fz(i)=sqrt(e(i)^2+f(i)^2);

end

disp(fz);

JJ1=zeros(2n-1,2n-1);Jac1=zeros(2n-2,2n-2);ttt=0;ccc=1;%迭代次数;

L=005;T=0;%L是步长,T是参数;

while ttt==0

%确定扩展矩阵

for i=1:n-1

if b2(i+1,6)==3

JJ1(2i,2n-1)=15105;

JJ1(2i-1,2n-1)=0;

else if b2(i+1,6)==2

if b2(i+1,2)==0

JJ1(2i-1,2n-1)=0;

JJ1(2i,2n-1)=0;

else

JJ1(2i,2n-1)=-real(b2(i+1,2));

JJ1(2i-1,2n-1)=-imag(b2(i+1,2));

end

end

end

end

for i=1:n

for j=1:n

if b2(i,6)~=isb

if b2(i,6)==2% P,Q节点;

if j~=i

Jac(2i,2j-1)=-1(G(i,j)e(i)+B(i,j)f(i));

Jac(2i-1,2j)=(G(i,j)e(i)+B(i,j)f(i));

Jac(2i,2j)=B(i,j)e(i)-G(i,j)f(i);

Jac(2i-1,2j-1)=B(i,j)e(i)-G(i,j)f(i);

else if j==i

m=0;h=0;

for r=1:n

m=m+G(i,r)e(r)-B(i,r)f(r);

h=h+G(i,r)f(r)+B(i,r)e(r);

end

Jac(2i,2j-1)=-1m-G(i,i)e(i)-B(i,i)f(i);

Jac(2i-1,2j)=-1m+G(i,i)e(i)+B(i,i)f(i);

Jac(2i,2j)=-1h+B(i,i)e(i)-G(i,i)f(i);

Jac(2i-1,2j-1)=h+B(i,i)e(i)-G(i,i)f(i);

end

end

else if b2(i,6)==3%P,V节点,

if j~=i

Jac(2i,2j-1)=-1(G(i,j)e(i)+B(i,j)f(i));

Jac(2i-1,2j)=0;

Jac(2i,2j)=B(i,j)e(i)-G(i,j)f(i);

Jac(2i-1,2j-1)=0;

else if j==i

m=0;h=0;

for r=1:n

m=m+G(i,r)e(r)-B(i,r)f(r);

h=h+G(i,r)f(r)+B(i,r)e(r);

end

Jac(2i,2j-1)=-1m-G(i,i)e(i)-B(i,i)f(i);

Jac(2i-1,2j)=-2f(i);

Jac(2i,2j)=-1h+B(i,i)e(i)-G(i,i)f(i);

Jac(2i-1,2j-1)=-2e(i);

end

end

end

end

else

Jac(2i-1,2j-1)=0;

Jac(2i,2j)=0;

Jac(2i-1,2j)=0;

Jac(2i,2j-1)=0;

end

end

end

Jac1=Jac(3:2n,3:2n);

for i=1:2n-2

for j=1:2n-2

JJ1(i,j)=Jac1(i,j);

end

end

if ccc==1%以负荷为连续参数;

for j=1:2n-2

JJ1(2n-1,j)=0;

end

JJ1(2n-1,2n-1)=1;

w2=zeros(2n-1,1);

for i=1:2n-2

w2(i,1)=0;

end

w2(2n-1,1)=1;

end

%disp(JJ1);

if ccc>1%以切向量中分量最大(绝对值最大)的状态变量选定为连续参数;

for i=1:2n-2

Jd(i)=abs(d(i));

end

for i=1:2n-3

if Jd(i)>=Jd(i+1)

zd=Jd(i);ek=i;

else if Jd(i)<=Jd(i+1)

zd=Jd(i+1);ek=i+1;

end

end

end

for j=1:2n-1

JJ1(2n-1,j)=0;

end

JJ1(2n-1,ek)=1;

w2=zeros(2n-1,1);

for i=1:2n-1

w2(i,1)=0;

end

if d(ek)>0

w2(ek,1)=1;

else if d(ek)<0

w2(ek,1)=-1;

end

end

end

for k=1:2n-1

m=0;

for i=k+1:2n-1

m=JJ1(i,k)/JJ1(k,k);

w2(i)=w2(i)-mw2(k);

for j=k+1:2n-1

JJ1(i,j)=JJ1(i,j)-mJJ1(k,j);

end

end

end

d(2n-1)=w2(2n-1)/JJ1(2n-1,2n-1);

for i=2n-2:-1:1

c=0;

for k=i+1:2n-1

c=c+JJ1(i,k)d(k);

d(i)=(w2(i)-c)/JJ1(i,i);

end

end

%disp(d);

for i=1:n-1

e(i+1)=e(i+1)+Ld(2i-1);

f(i+1)=f(i+1)+Ld(2i);

end

T=T+Ld(2n-1);

disp(d(2n-1));

%disp(e);

%disp(f);

%disp(T);

%对预估的近似解进行校正;

tt=0;

while tt==0

for i=1:n

if b2(i,6)~=isb

C=0;D=0;

for j=1:n

C=C+G(i,j)e(j)-B(i,j)f(j);

D=D+G(i,j)f(j)+B(i,j)e(j);

end

if b2(i,6)==2% P,Q节点;

if b2(i,2)~=0

wj(2i)=P(i)-Treal(b2(i,2))-e(i)C-f(i)D;

wj(2i-1)=Q(i)-Timag(b2(i,2))-f(i)C+e(i)D;

else

wj(2i)=P(i)-e(i)C-f(i)D;

wj(2i-1)=Q(i)-f(i)C+e(i)D;

end

else if b2(i,6)==3%P,V节点;

wj(2i)=P(i)+T15105-e(i)C-f(i)D;

wj(2i-1)=0;

end

end

else

wj(2i)=0;

wj(2i-1)=0;

end

end

wj1=wj(3:2n);

for i=1:n

for j=1:n

if b2(i,6)~=isb

if b2(i,6)==2%P,Q节点;

if j~=i

JJac(2i,2j-1)=-1(G(i,j)e(i)+B(i,j)f(i));

JJac(2i-1,2j)=(G(i,j)e(i)+B(i,j)f(i));

JJac(2i,2j)=B(i,j)e(i)-G(i,j)f(i);

JJac(2i-1,2j-1)=B(i,j)e(i)-G(i,j)f(i);

else if j==i

m=0;h=0;

for r=1:n

m=m+G(i,r)e(r)-B(i,r)f(r);

h=h+G(i,r)f(r)+B(i,r)e(r);

end

JJac(2i,2j-1)=-1m-G(i,i)e(i)-B(i,i)f(i);

JJac(2i-1,2j)=-1m+G(i,i)e(i)+B(i,i)f(i);

JJac(2i,2j)=-1h+B(i,i)e(i)-G(i,i)f(i);

JJac(2i-1,2j-1)=h+B(i,i)e(i)-G(i,i)f(i);

end

end

else if b2(i,6)==3%P,V节点;

if j~=i

JJac(2i,2j-1)=-1(G(i,j)e(i)+B(i,j)f(i));

JJac(2i-1,2j)=0;

JJac(2i,2j)=B(i,j)e(i)-G(i,j)f(i);

JJac(2i-1,2j-1)=0;

else if j==i

m=0;h=0;

for r=1:n

m=m+G(i,r)e(r)-B(i,r)f(r);

h=h+G(i,r)f(r)+B(i,r)e(r);

end

JJac(2i,2j-1)=-1m-G(i,i)e(i)-B(i,i)f(i);

JJac(2i-1,2j)=-2f(i);

JJac(2i,2j)=-1h+B(i,i)e(i)-G(i,i)f(i);

JJac(2i-1,2j-1)=-2e(i);

end

end

end

end

else

JJac(2i-1,2j-1)=0;

JJac(2i,2j)=0;

JJac(2i-1,2j)=0;

JJac(2i,2j-1)=0;

end

end

end

JJac1=JJac(3:2n,3:2n);

for k=1:2n-2

m=0;

for i=k+1:2n-2

m=JJac1(i,k)/JJac1(k,k);

wj1(i)=wj1(i)-mwj1(k);

for j=k+1:2n-2

JJac1(i,j)=JJac1(i,j)-mJJac1(k,j);

end

end

end

E1(2n-2)=wj1(2n-2)/JJac1(2n-2,2n-2);

for i=2n-3:-1:1

c=0;

for k=i+1:2n-2

c=c+JJac1(i,k)E1(k);

E1(i)=(wj1(i)-c)/JJac1(i,i);

end

end

%disp(E1);

for i=1:n-1

e(i+1)=e(i+1)-E1(2i-1);

f(i+1)=f(i+1)-E1(2i);

end

for i=1:n-1

bx(2i-1)=abs(E1(2i-1));

bx(2i)=abs(E1(2i));

end

KB1=max(bx);

if KB1<pr

tt=1;

else

tt=0;

end

end

%disp(e);

%disp(f);

if d(2n-1)>0

ttt=0;ccc=ccc+1;

else

ttt=1;

end

end

disp(T);

disp(ccc);

%disp(e);

%disp(f);

for i=1:n

fz1(i)=sqrt(e(i)^2+f(i)^2);

end

disp(fz1);

以上就是关于导纳矩阵如何得到支路上有变压器怎么办全部的内容,包括:导纳矩阵如何得到支路上有变压器怎么办、牛顿拉夫逊的节点导纳矩阵容易形成或者修改吗、求MATLAB简单潮流计算程序。。。。等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zz/9389492.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-27
下一篇2023-04-27

发表评论

登录后才能评论

评论列表(0条)

    保存