版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、由于本人参加我们电气学院的电气小课堂, 主讲的是计算机算法计算潮流这章, 所以潜 心玩了一个星期,下面整理给大家分享下。本人一个星期以来的汗水, 弄清楚了计算机算法计算潮流的基础, 如果有什么不懂的可 以发信息到邮箱: zenghao616 接下来开始弄潮流的优化问题,吼吼!电力系统的潮流计算的计算机算法:以 MATLAB 为环境 这里理论不做过多介绍,推荐一本专门讲解电力系统分析的计算机算法的书籍 电力系统分析的计算机算法 邱晓燕、刘天琪编著。这里以这本书上的例题【 2-1 】说明计算机算法计算的过程,分别是牛顿拉弗逊算法的 直角坐标和极坐标算法、 P-Q 分解算法。主要是简单的网络的潮流计
2、算,其实简单网络计算 和大型网络计算并无本质区别,代码里面只需要修改循环迭代的 N 即可,这里旨在弄清计 算机算法计算潮流的本质。代码均有详细的注释 .其中简单的高斯赛德尔迭代法是以我们的电稳教材为例子讲, 其实都差不多, 只要把导 纳矩阵 Y 给你,节点的编号和分类给你,就可以进行计算了,不必要找到原始的电气接线 图。理论不多说,直接上代码:简单的高斯赛德尔迭代法: 这里我们只是迭代算出各个节点的电压值,支路功率并没有计算。S_ij=P_ij+Q_ij=V_i(V_i* - V_j*) * y_ij*可以计算出各个线路的功率 在显示最终电压幅角的时候注意在 MATLAB 里面默认的是弧度的形
3、式,需要转化成角 度显示。clear;clc;%电稳书 Page 102 例题 3-5%计算网络的潮流分布 -高斯- 赛德尔算法%其中节点 1 是平衡节点%节点 2、3是PV节点,其余是 PQ节点% 如果节点有对地导纳支路%需将对地导纳支路算到自导纳里面%输入原始数据,每条支路的导纳数值,包括自导和互导纳;y=zeros(5,5);y(1,2)=1/(0.0194+0.0592*1i);y(1,5)=1/(0.054+0.223*1i);y(2,3)=1/(0.04699+0.198*1i);y(2,4)=1/(0.0581+0.1763*1i);%由于电路网络的互易性,导纳矩阵为对称的矩阵f
4、or i=1:1:5for j=1:1:5y(j,i)=y(i,j);endend%节点导纳矩阵的形成Y=zeros(5,5);%求互导纳for i=1:1:5for j=1:1:5if i=jY(i,j)=-y(i,j);endendend%求自导纳for i=1:1:5%这句话是说将 y 矩阵的第 i 行的所有元素相加,得到自导纳的值 Y(i,i)=sum(y(i,:);end %上面求得的自导纳不包含该节点的对地导纳数值,需要加上 Y(2,2)=Y(2,2)+0.067*1i;Y(3,3)=Y(3,3)+0.022*1i;Y(4,4)=Y(4,4)+0.0187*1i;Y(5,5)=Y(
5、5,5)+0.0246*1i;%导纳矩阵的实部和虚部G = real(Y);B = imag(Y);Qc2=0;Qc3=0;%原始节点功率 %这里电源功率为正,负荷功率为负S(1)=0;S(2)=-0.217-0.121*1i+Qc2*1i;S(3)=-0.749-0.19*1i+Qc3*1i;S(4)=-0.658+0.039*1i;S(5)=-0.076-0.016*1i;%节点功率的 P QP = real(S);Q = imag(S);%下面是两个 PV节点的无功初始值Q(2) = 0;Q(3) = 0;U=ones(5,1);%1列5行的 1 '矩阵%节点电压初始值U(1)=
6、1.06;U(2)=1.045;U(3)=1.01;U_reg=U;Sum_YU0=0; %中间变量Sum_YU1=0; %中间变量for cont=1:1:6%这里的 cont 是迭代次数for i=2:1:5for j=1:1:i if i=jSum_YU0 = Sum_YU0 + Y(i,j)*U_reg(j);endendfor j=i+1:1:5Sum_YU1 = Sum_YU1 + Y(i,j)*U(j);endU(i)=( (P(i)-Q(i)*1i ) / conj(U(i) - Sum_YU0 - Sum_YU1 ) / Y(i,i); U_reg(i)=U(i);%PV节点
7、计算%下面是把求出的 U2、 U3 只保留其相位,幅值不变 if i=2angle_U2 = angle(U(2); U(2)=1.045*cos(angle_U2)+1.045*sin(angle_U2)*1i;Q(2)=imag( U(2)*( conj(Sum_YU0) + conj(Sum_YU1) conj(Y(2,2)*U(2) ) );endif i=3angle_U3 = angle(U(3); U(3)=1.01*cos(angle_U3)+1.01*sin(angle_U3)*1i;+ conj(Sum_YU1)Q(3)=imag( U(3)*( conj(Sum_YU0)
8、 conj(Y(3,3)*U(3) ) );end% 下面做越界检查%if Q(4)>Q_Max% Q(4) = Q_Max; %end%if Q(4)<Q_Min% Q(4) = Q_Min;%end%下面可以做 PV节点收敛判断Sum_YU0 = 0;Sum_YU1 = 0;endend%节点注入无功,流入为正,流出为负Qc2=Q(2)+0.121-1.0452 * 0.067;Qc3=Q(3)+0.19-1.012 * 0.022;%电压幅值和相角angle_U=angle(U)*180/pi;U=abs(U);S_Line=zeros(5,5);%计算平衡节点功率S_Bal
9、anceNode=0;for j=1:1:5S_BalanceNode = S_BalanceNode + U(1) * conj(Y(1,j)*U(j); end %下面由上面算出的电压值求线路的功率%这里计算出来的线路功率的有功、无功%for i=1:1:5% for j=i:1:5% if i=j% S_Line(i,j)=U(i)*( conj(U(i)-conj(U(j) ) * conj(y(i,j);% end% if i=2% %S_Line(2,j)=S_Line(2,j)+U(2)*conj(0.067*1i);% end% if i=3% %S_Line(3,j)=S_L
10、ine(3,j)+U(3)*conj(0.022*1i);% end% end %end计算网络的潮流分布 Newton算法( 直角坐标 )clear;clc;%电稳书 Page 102 例题 3-5%计算网络的潮流分布 Newton 算法( 直角坐标 ) %其中节点 1 是平衡节点%节点 2、3是PV节点,其余是 PQ节点% 如果节点有对地导纳支路 %需将对地导纳支路算到自导纳里面%输入原始数据,每条支路的导纳数值,包括自导和互导纳; y=zeros(5,5);y(1,2)=1/(0.0194+0.0592*1i); y(1,5)=1/(0.054+0.223*1i);y(2,3)=1/(0
11、.04699+0.198*1i);y(2,4)=1/(0.0581+0.1763*1i);%由于电路网络的互易性,导纳矩阵为对称的矩阵for i=1:1:5 for j=1:1:5y(j,i)=y(i,j);endend%节点导纳矩阵的形成Y=zeros(5,5);%求互导纳for i=1:1:5for j=1:1:5 if i=jY(i,j)=-y(i,j);endendend%求自导纳for i=1:1:5%这句话是说将 y 矩阵的第 i 行的所有元素相加,得到自导纳的值 Y(i,i)=sum(y(i,:);end%上面求得的自导纳不包含该节点的对地导纳数值,需要加上Y(2,2)=Y(2,
12、2)+0.067*1i;Y(3,3)=Y(3,3)+0.022*1i;Y(4,4)=Y(4,4)+0.0187*1i;Y(5,5)=Y(5,5)+0.0246*1i;%导纳矩阵的实部和虚部G = real(Y);B = imag(Y);%节点 2、3需补偿的无功Qc2=0;Qc3=0;%原始节点功率%这里电源功率为正,负荷功率为负S(1)=0;S(2)=-0.217-0.121*1i+Qc2*1i;S(3)=-0.749-0.19*1i+Qc3*1i;S(4)=-0.658+0.039*1i;S(5)=-0.076-0.016*1i;%节点功率的 P QP = real(S);Q = imag
13、(S);%下面是两个 PV节点的无功初始值Q(2) = 0;Q(3) = 0;%给点电压初始值e=1.06,1.045,1.01,1,1;f=0,0,0,0,0;U=e+f*1i;delta_U=zeros(1,5);delta_P=zeros(1,5);delta_Q=zeros(1,5);delta_PQV=ones(8,1);Sum_GB1=0;Sum_GB2=0;cont=0;while max(delta_PQV > 1e-6),cont=cont+1;%for cont=1:1:3%下面开始计算 delta_P/delta_Q/delta_Ufor i=2:1:5for j=
14、1:1:5 Sum_GB1=Sum_GB1 + ( G(i,j)*e(j) - B(i,j)*f(j) ); Sum_GB2=Sum_GB2 + ( G(i,j)*f(j) + B(i,j)*e(j) );end delta_P(i)=P(i)-e(i)*Sum_GB1-f(i)*Sum_GB2;if i=2 && i=3%不为节点 2,3 则计算无功delta_Q(i)=Q(i)-f(i)*Sum_GB1+e(i)*Sum_GB2;endif i=2 | i=3%这里计算 delta_U 的值,始终为零delta_U(i)=U(i)2-( e(i)2 + f(i)2 );en
15、dSum_GB1=0;Sum_GB2=0;end %下面计算雅克比矩阵 J=zeros(8,8);for ii=2:1:5i=ii-1;for j=1:1:5Sum_GB1=Sum_GB1 + ( G(ii,j)*e(j) - B(ii,j)*f(j) ); Sum_GB2=Sum_GB2 + ( G(ii,j)*f(j) + B(ii,j)*e(j) );end for jj=2:1:5 j=jj-1;if ii=2 && ii=3%PQ节点if ii=jjJ(2*i-1,2*i-1)=-Sum_GB1-G(ii,ii)*e(ii)-B(ii,ii)*f(ii);J(2*i-
16、1,2*i)=-Sum_GB2+B(ii,ii)*e(ii)-G(ii,ii)*f(ii);J(2*i,2*i-1)=Sum_GB2+B(ii,ii)*e(ii)-G(ii,ii)*f(ii);J(2*i,2*i)=-Sum_GB1+G(ii,ii)*e(ii)+B(ii,ii)*f(ii); elseJ(2*i-1,2*j-1)=-(G(ii,jj)*e(ii)+B(ii,jj)*f(ii); J(2*i-1,2*j)=B(ii,jj)*e(ii)-G(ii,jj)*f(ii); J(2*i,2*j-1)=B(ii,jj)*e(ii)-G(ii,jj)*f(ii); J(2*i,2*j)=(
17、G(ii,jj)*e(ii)+B(ii,jj)*f(ii); end else%PV节点if ii=jjJ(2*i-1,2*i-1)=-Sum_GB1-G(ii,ii)*e(ii)-B(ii,ii)*f(ii);J(2*i-1,2*i)=-Sum_GB2+B(ii,ii)*e(ii)-G(ii,ii)*f(ii);J(2*i,2*i-1)=-2*e(ii);J(2*i,2*i)=-2*f(ii);elseJ(2*i-1,2*j-1)=-(G(ii,jj)*e(ii)+B(ii,jj)*f(ii);J(2*i-1,2*j)=B(ii,jj)*e(ii)-G(ii,jj)*f(ii);J(2*i,
18、2*j-1)=0;J(2*i,2*j)=0;endendendSum_GB1=0;Sum_GB2=0;end全部放在一个矩阵%在求解修正方程之前建议把 delta_P 和 delta_Q,delta_U delta_PQV=delta_P(2);delta_U(2);delta_P(3);delta_U(3);delta_P(4) ;delta_Q(4);delta_P(5);delta_Q(5);%下面求解修正方程 ; 注意矩阵运算时候的左除和右除的区别 delta_ef=-Jdelta_PQV;%下面修正各个节点的电压for i=2:1:5e(i)=e(i)+delta_ef(2*(i-1
19、)-1);f(i)=f(i)+delta_ef(2*(i-1);end%到这里第一轮迭代完成end%电压幅值和相角U=e+f*1i;angle_U=angle(U)*180/pi;%节点注入无功,流入为正,流出为负Sum_YU=0;for i=2:1:3for j=1:1:5Sum_YU = Sum_YU + Y(i,j)*U(j);endQ(i)=imag( U(i)*conj( Sum_YU ) );Sum_YU=0;endQc2=Q(2)+0.121-1.0452 * 0.067;Qc3=Q(3)+0.19-1.012 * 0.022;U=abs(U);num2str(cont);dis
20、p( 'Iteration times :%显示最终的迭代次数牛顿算法求解潮流 ( 极坐标 ):clear;clc;%牛顿算法求解潮流 ( 极坐标 ) %计算网络的潮流分布%其中节点 5 是平衡节点%节点 1、2、3是PQ节点,节点 4是PV节点% 如果节点有对地导纳支路 %需将对地导纳支路算到自导纳里面%输入原始数据,每条支路的导纳数值,包括自导和互导纳; Y=0.8381-3.7899*1i,-0.4044+1.6203*1i,0,0,-0.4337+2.2586*1i;-0.4044+1.6203*1i,0.7769-3.3970*1i,-0.3726+1.8557*1i,0,0
21、;0,-0.3726+1.8557*1i,1.1428-7.0210*1i,-0.5224+4.1792*1i,-0.2739+1. 2670*1i; .0,0,-0.5224+4.1792*1i,0.5499-4.3591*1i,0; . -0.4337+2.2586*1i,0,-0.2739+1.2670*1i,0,0.7077-3.4437*1i;%导纳矩阵的实部和虚部G = real(Y);B = imag(Y);%给点电压初始值U = 1,1,1,1,1.05; angle_U=0,0,0,0,0;%for i=1:1:5% U(i)=U_abs(i)*cos(angle_U(i)+
22、U_abs(i)*sin(angle_U(i)*1i; %end%原始节点功率 %这里电源功率为正,负荷功率为负 %下面给点 PQ PV 节点功率值 S=-0.22-0.14*1i,-0.18-0.09*1i,-0.27-0.13*1i,0.35,0;%节点功率的 P QP = real(S);Q = imag(S);%下面是 PV 节点的无功初始值Q(4) = 0;delta_P=zeros(1,5);delta_Q=zeros(1,5);%delta_angleU=zeros(1,4);%delta_absU=zeros(1,4);delta_PQ=ones(8,1);Sum_GB1=0;
23、Sum_GB2=0;cont=0;%最外层循环, cont 代表迭代的次数,这里可以用约束条件来代替%for cont=1:1:4while max(delta_PQ)>1e-6,%下面计算 delta_P/delta_Q/delta_Ucont=cont+1;for i=1:1:4for j=1:1:5Sum_GB1=Sum_GB1 + U(j)*(G(i,j)*cos(angle_U(i)-angle_U(j) +B(i,j)*sin(angle_U(i)-angle_U(j) );Sum_GB2=Sum_GB2 + U(j)*(G(i,j)*sin(angle_U(i)-angle
24、_U(j) -B(i,j)*cos(angle_U(i)-angle_U(j) );enddelta_P(i)=P(i)-U(i)*Sum_GB1;if i=4%不为节点四则计算无功delta_Q(i)=Q(i)-U(i)*Sum_GB2; endSum_GB1=0;Sum_GB2=0;end%下面计算雅克比矩阵J=zeros(7,7);for ii=1:1:4for jj=1:1:4if ii = 4%PQ节点if ii=jjJ(2*ii-1,2*ii-1)=U(ii)2*B(ii,ii)+Q(ii);J(2*ii-1,2*ii)=-U(ii)2*G(ii,ii)-P(ii);J(2*ii,
25、2*ii-1)=U(ii)2*G(ii,ii)-P(ii);J(2*ii,2*ii)=U(ii)2*B(ii,ii)-Q(ii);elseJ(2*ii-1,2*jj-1)=-U(ii)*U(jj)*( G(ii,jj)*sin(angle_U(ii)-angle_U( jj) - B(ii,jj)*cos(angle_U(ii)-angle_U(jj) );J(2*ii-1,2*jj)=-U(ii)*U(jj)*( G(ii,jj)*cos(angle_U(ii)-angle_U(jj)+ B(ii,jj)*sin(angle_U(ii)-angle_U(jj) );J(2*ii,2*jj-1
26、)=U(ii)*U(jj)*( G(ii,jj)*cos(angle_U(ii)-angle_U(jj)+ B(ii,jj)*sin(angle_U(ii)-angle_U(jj) );J(2*ii,2*jj)=-U(ii)*U(jj)*( G(ii,jj)*sin(angle_U(ii)-angle_U(jj) B(ii,jj)*cos(angle_U(ii)-angle_U(jj) );endelse%PV节点if ii=jjJ(2*ii-1,2*ii-1)=U(ii)2*B(ii,ii)+Q(ii); J(2*ii-1,2*ii)=-U(ii)2*G(ii,ii)-P(ii);elseJ
27、(2*ii-1,2*jj-1)=-U(ii)*U(jj)*( G(ii,jj)*sin(angle_U(ii)-angle_U( jj) - B(ii,jj)*cos(angle_U(ii)-angle_U(jj) );J(2*ii-1,2*jj)=-U(ii)*U(jj)*( G(ii,jj)*cos(angle_U(ii)-angle_U(jj)+ B(ii,jj)*sin(angle_U(ii)-angle_U(jj) );endendendend%在求解修正方程之前建议把 delta_ef 和 delta_ef 全部放在一个矩阵 delta_PQ=delta_P(1);delta_Q(
28、1);delta_P(2);delta_Q(2);delta_P(3); delta_Q(3);delta_P(4);%下面求解修正方程 ; 注意矩阵运算时候的左除和右除的区别 J=J(1:7,1:7);delta_ef=-Jdelta_PQ;%下面修正各个节点的电压for i=1:1:4 if i=4U(i)=U(i)+delta_ef(2*i)*U(i);endangle_U(i)=angle_U(i)+delta_ef(2*i-1);end%到这里第一轮迭代完成end%下面显示出满足条件后的迭代的次数disp( 'Iteration times : 'num2str(co
29、nt);%下面计算平衡节点 5的功率 PQfor j=1:1:5Sum_GB1=Sum_GB1+ U(j)*(G(5,j)*cos(angle_U(5)-angle_U(j)+B(5,j)*sin(angle_U(5)-angle_U(j) );Sum_GB2=Sum_GB2+ U(j)*(G(5,j)*sin(angle_U(5)-angle_U(j)-B(5,j)*cos(angle_U(5)-angle_U(j) );endP(5)=U(5)*Sum_GB1;Q(5)=U(5)*Sum_GB2;%下面将相角用角度表示for i=1:1:5angle_U(i)=angle_U(i)*180
30、/pi;End计算计算法 P-Q 算法计算潮流: 这个算法是由牛顿算法的极坐标形式简化而来。 clear;clc;%牛顿算法求解潮流 %计算网络的潮流分布 %其中节点 5 是平衡节点%节点 1、2、3是PQ节点,节点 4是PV节点% 如果节点有对地导纳支路 %需将对地导纳支路算到自导纳里面%输入原始数据,每条支路的导纳数值,包括自导和互导纳;Y=0.8381-3.7899*1i,-0.4044+1.6203*1i,0,0,-0.4337+2.2586*1i; -0.4044+1.6203*1i,0.7769-3.3970*1i,-0.3726+1.8557*1i,0,0;0,-0.3726+1
31、.8557*1i,1.1428-7.0210*1i,-0.5224+4.1792*1i,-0.2739+1. 2670*1i; .0,0,-0.5224+4.1792*1i,0.5499-4.3591*1i,0; . -0.4337+2.2586*1i,0,-0.2739+1.2670*1i,0,0.7077-3.4437*1i;%导纳矩阵的实部和虚部G = real(Y);B = imag(Y);%给点电压初始值U = 1,1,1,1,1.05; angle_U=0,0,0,0,0;%原始节点功率%这里电源功率为正,负荷功率为负%下面给点 PQ PV 节点功率值 S=-0.22-0.14*1
32、i,-0.18-0.09*1i,-0.27-0.13*1i,0.35,0;%节点功率的 P QP = real(S);Q = imag(S);%下面是 PV 节点的无功初始值Q(4) = 0;%下面计算出无功和有功迭代的系数矩阵B_P=B(1:4,1:4);%有功迭代系数矩阵 n-1 即除开平衡节点以外的所有节点B_Q=B(1:3,1:3);%无功迭代系数矩阵 m 个 即PQ节点的个数%下面是相关变量的定义 delta_P=ones(1,5); delta_Q=ones(1,5);delta_PQ=ones(8,1);delta_angle=ones(4,1);Sum_GB1=0;Sum_GB
33、2=0;cont=0;%最外层循环, cont 代表迭代的次数,这里可以用约束条件来代替%for cont=1:1:5while max(delta_angle) > 1e-6,%下面计算 delta_P/delta_Q/delta_Ucont=cont+1;for i=1:1:4for j=1:1:5Sum_GB1=Sum_GB1 + U(j)*(G(i,j)*cos(angle_U(i)-angle_U(j) +B(i,j)*sin(angle_U(i)-angle_U(j) );Sum_GB2=Sum_GB2 + U(j)*(G(i,j)*sin(angle_U(i)-angle_
34、U(j) -B(i,j)*cos(angle_U(i)-angle_U(j) );enddelta_P(i)=P(i)-U(i)*Sum_GB1;if i=4%不为 PV 节点四则计算无功delta_Q(i)=Q(i)-U(i)*Sum_GB2;endSum_GB1=0;Sum_GB2=0;end%下面计算 delta_P(i)/U(i) delta_Q(i)/U(i) delta_QV=zeros(3,1);delta_PV=zeros(4,1);for i=1:1:4if i=4 delta_QV(i)=delta_Q(i)/U(i);enddelta_PV(i)=delta_P(i)/U(i);end%下面计算 del
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 小学五年级混合运算练习题
- 小学四年级数学乘除法竖式计算题
- 小学数学二年级100以内连加连减口算题
- 高考语文模拟试题(二十)
- 2025年中考语文文言文总复习-学生版-专题01:文言文阅读之理解实词含义(讲义)
- 北京市丰台区2022-2023学年高三上学期期末练习英语学科试卷
- 房屋装修行业顾问工作总结
- 制药业行政后勤工作总结
- 《公司团队培训游戏》课件
- 演出票务公司营业员服务总结
- 【长安的荔枝中李善德的人物形象分析7800字(论文)】
- CJT 288-2017 预制双层不锈钢烟道及烟囱
- 生物安全风险评估报告
- 戈19商务方案第十九届玄奘之路戈壁挑战赛商务合作方案
- 广西河池市宜州区2023-2024学年七年级上学期期末考试数学试卷(含解析)
- 2024高考政治真题-哲学-汇集(解析版)
- 对承租方有利的商铺租赁合同
- 2024云南大学滇池学院教师招聘考试笔试试题
- 国外幼儿园自主游戏研究现状
- 浙江大学2011–2012学年冬季学期《高级数据结构与算法分析》课程期末考试试卷
- 职业生涯规划-体验式学习智慧树知到期末考试答案章节答案2024年华侨大学
评论
0/150
提交评论