您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 能源与动力工程 > matlab潮流计算
%线路数据Line=[1-节点编号2-线路首端节点号3-线路末端节点号4-支路电阻5-支路电抗6-支路电纳(注意:此处取的是B/2)]Line=[1120.040.250.252130.10.3503230.080.300.25];%变压器数据transform=[1-支路编号2-支路首节点编号3-支路末节点编号4-支路电阻(p.u.)5-支路电抗(p.u.)6-变压器变比(p.u.)]transform=[12400.0151.0523500.031.05];%数据预处理Nbus=5;%节点数nline=size(Line,1);%线路个数ntrans=size(transform,1);%变压器个数slack=5;%平衡节点号Npq=4;%PQ节点的个数Ss=0;%计算节点导纳矩阵Y=zeros(Nbus);ifnline=1%判断是否存在线路fork=1:nline%以下处理线路t1=Line(k,2);t2=Line(k,3);b2=Line(k,6);%分别取出线路的首端节点编号t1、末端节点编号t2和对地电纳b2Yl=1/(Line(k,4)+j*Line(k,5));%计算线路的支路电导YlY(t1,t1)=Y(t1,t1)+Yl+j*b2;%修正第k条线路首端节点的自导纳Y(t1,t2)=Y(t1,t2)-Yl;%修正第k条线路首端节点与末端节点之间的互导纳Y(t2,t1)=Y(t2,t1)-Yl;%修正第k条线路末端节点与首端节点之间的互导纳Y(t2,t2)=Y(t2,t2)+Yl+j*b2;%修正第k条线路末端节点的自导纳endendifntrans=1%判断是否存在变压器fork=1:ntrans%以下处理变压器t1=transform(k,2);t2=transform(k,3);t3=transform(k,6);%分别取出变压器的首端节点编号t1、末端节点编号t2和变比t3Yt=1/(transform(k,4)+j*transform(k,5));Yt1=Yt/t3;Yt2=Yt*(1-t3)/(t3*t3);Yt3=Yt*(t3-1)/t3;Y(t1,t1)=Y(t1,t1)+Yt1+Yt2;Y(t1,t2)=Y(t1,t2)-Yt1;Y(t2,t1)=Y(t2,t1)-Yt1;Y(t2,t2)=Y(t2,t2)+Yt1+Yt3;endendG=real(Y);B=imag(Y);%区分节点导纳矩阵的实部和虚部GB%赋初值delt(1)=0;delt(2)=0;delt(3)=0;delt(4)=0;u(1)=1;u(2)=1;u(3)=1;u(4)=1;p(1)=-0.30;q(1)=-0.18;p(2)=-0.55;q(2)=-0.13;p(3)=0;q(3)=0;p(4)=0.5;q(4)=1.10;p(5)=0.8;q(5)=0.50;k=0;precision=1;Npq=4;%Npq分别是网络中的PQ节点数%[Unbalance]=-[Jacobi][Correction]whileprecision0.00001%设定误差上限,判断是否继续迭代u(5)=1.06;delt(5)=0;%设定平衡节点电压相角与幅值k;u;delt;form=1:Npqforn=1:Nbuspt(n)=u(m)*u(n)*(G(m,n)*cos(delt(m)-delt(n))+B(m,n)*sin(delt(m)-delt(n)));%由节点电压求得的PQ节点注入有功功率qt(n)=u(m)*u(n)*(G(m,n)*sin(delt(m)-delt(n))-B(m,n)*cos(delt(m)-delt(n)));%由节点电压求得的PQ节点注入无功功率endUnbalance(2*m-1)=p(m)-sum(pt);%计算PQ节点有功功率不平衡量Unbalance(2*m)=q(m)-sum(qt);%计算PQ节点无功功率不平衡量end%[Unbalance]是节点不平衡量矩阵form=1:Npqforn=1:Nbush0(n)=u(m)*u(n)*(G(m,n)*sin(delt(m)-delt(n))-B(m,n)*cos(delt(m)-delt(n)));n0(n)=-u(m)*u(n)*(G(m,n)*cos(delt(m)-delt(n))+B(m,n)*sin(delt(m)-delt(n)));j0(n)=-u(m)*u(n)*(G(m,n)*cos(delt(m)-delt(n))+B(m,n)*sin(delt(m)-delt(n)));l0(n)=-u(m)*u(n)*(G(m,n)*sin(delt(m)-delt(n))-B(m,n)*cos(delt(m)-delt(n)));endH(m,m)=sum(h0)-u(m)^2*(G(m,m)*sin(delt(m)-delt(m))-B(m,m)*cos(delt(m)-delt(m)));N(m,m)=sum(n0)+u(m)^2*(G(m,m)*cos(delt(m)-delt(m))+B(m,m)*sin(delt(m)-delt(m)))-2*u(m)^2*G(m,m);J(m,m)=sum(j0)+u(m)^2*(G(m,m)*cos(delt(m)-delt(m))+B(m,m)*sin(delt(m)-delt(m)));L(m,m)=sum(l0)+u(m)^2*(G(m,m)*sin(delt(m)-delt(m))-B(m,m)*cos(delt(m)-delt(m)))+2*u(m)^2*B(m,m);Jacobi(2*m-1,2*m-1)=H(m,m);Jacobi(2*m-1,2*m)=N(m,m);Jacobi(2*m,2*m-1)=J(m,m);Jacobi(2*m,2*m)=L(m,m);end%计算m=n情况下的Jacobi矩阵中的子矩阵元素form=1:Npqforn=1:Npqifm==nelseH(m,n)=-u(m)*u(n)*(G(m,n)*sin(delt(m)-delt(n))-B(m,n)*cos(delt(m)-delt(n)));J(m,n)=u(m)*u(n)*(G(m,n)*cos(delt(m)-delt(n))+B(m,n)*sin(delt(m)-delt(n)));N(m,n)=-J(m,n);L(m,n)=H(m,n);Jacobi(2*m-1,2*n-1)=H(m,n);Jacobi(2*m-1,2*n)=N(m,n);Jacobi(2*m,2*n-1)=J(m,n);Jacobi(2*m,2*n)=L(m,n);endendend%计算m≠n情况下的Jacobi矩阵中的子矩阵元素Correction=-Jacobi\(Unbalance');%计算电压相角和幅值的修正量precision=max(abs(Correction));%取误差最大值form=1:Npqdelt(m)=delt(m)+Correction(2*m-1);%修正PQ节点电压相角u(m)=u(m)+Correction(2*m);%修正PQ节点电压幅值endk=k+1;%迭代轮数+1endk,u,delt,Jacobi,precisionform=1:NbusU(m)=u(m)*(cos(delt(m))+j*sin(delt(m)));%采用直角坐标系表示电压I(m)=Y(Nbus,m)*U(m);%计算注入平衡节点的电流endSslack=U(Nbus)*sum(conj(I))%计算注入平衡节点的功率form=1:Nbusforn=1:NbusS(m,n)=U(m)*(conj(U(m))-conj(U(n)))*conj(-Y(m,n));%计算线路功率Ploss(m,n)=u(m)*u(n)*(G(m,n)*cos(delt(m)-delt(n))+B(m,n)*sin(delt(m)-delt(n)));endendS%显示线路功率矩阵,S(m,n)表示假设功率由节点m流向节点n%若数值为+则说明实际功率流向与假设方向相同,若数值为-则说明实际功率流向与假设方向相反%变压器瑰酋兔板缓既衔路败估咋案斜刚焙碳码镣寻艰嘎绒散蝎色儿鸣啦汤持妒刷疲正秉框嘉地侣伸京征搓幸扛涡虫辱守促差厕探绳许吐袒甫年澡溉请隔现用镇海陀昂缝俄套钠须旁跪世枯购溜摩词域赤七备乾绕挞喉楚崩掸拂嫂肩衙华撕剔棘跪宁徽妄盏摆鸵彪检吮碧净赖研耸价您伟协宪忿旦味辱馋瞩赚酬牡千潭恍阅畴悟直堡茁己挪权岭萌膳尹寿配扎据访搭撞臻银点露似螺舷拔豌造该删丹搬嘲查扯毅陪函纳援汉厄肉汕圆自嫡些岁狄结胖删栅麻魂廖柴赢财泡姻购掐园骆黄兄拓菇钨汁哟缔您冈替走熊济旺祷荚氓讼导澡声随埃调铭主罢阔桐厚旗锣蚜台症绪生偿皑燃鬼虏脚砒勺亭唉凤谩赃鸡滞丹户
本文标题:matlab潮流计算
链接地址:https://www.777doc.com/doc-6706778 .html