收藏 分销(赏)

电力系统分析大作业matlab三机九节点潮流计算报告样本.doc

上传人:精*** 文档编号:4753277 上传时间:2024-10-12 格式:DOC 页数:26 大小:4.01MB 下载积分:10 金币
下载 相关 举报
电力系统分析大作业matlab三机九节点潮流计算报告样本.doc_第1页
第1页 / 共26页
电力系统分析大作业matlab三机九节点潮流计算报告样本.doc_第2页
第2页 / 共26页


点击查看更多>>
资源描述
资料内容仅供您学习参考,如有不当之处,请联系改正或者删除。 电力系统分析大作业 一、 设计题目 本次设计题目选自课本第五章例5-8,美国西部联合电网WSCC系统的简化三机九节点系统, 例题中已经给出了潮流结果, 计算结果能够与之对照。取ε=0.00001 。 二、 计算步骤 第一步, 为了方便编程, 修改节点的序号, 将平衡节点放在最后。如下图: 9 2 1 3 2 7 4 5 6 8 3 第二步, 这样得出的系统参数如下表所示: 第三步, 形成节点导纳矩阵。 第四步, 设定初值: ; , 。 第五步, 计算失配功率 =0, =-1.25, =-0.9, =0, =-1, =0, =1.63, =0.85; =0.8614, =-0.2590, =-0.0420, =0.6275, =-0.1710, =0.7101。 显然, 。 第六步, 形成雅克比矩阵( 阶数为14×14) 第七步, 解修正方程, 得到: -0.0371, -0.0668, -0.0628, 0.0732, 0.0191, 0.0422, 0.1726, 0.0908; 0.0334, 0.0084, 0.0223, 0.0372, 0.0266, 0.0400。 从而-0.0371, -0.0668, -0.0628, 0.0732, 0.0191, 0.0422, 0.1726, 0.0908; 1.0334, 1.0084, 1.0223, 1.0372, 1.0266, 1.0400。 然后转入下一次迭代。经三次迭代后。 迭代过程中失配功率的变化情况如下表: k 0 1 2 3 Δ=P1 0 -0.0106 0.0001 0. Δ=P2 -1.25 0.0379 0.0005 0. Δ=P3 -0.9 0.0439 0.0005 0. Δ=P4 0 -0.0421 -0.0012 -0. Δ=P5 -1 0.061 0.0009 0. Δ=P6 0 -0.0269 -0.0007 -0. Δ=P7 1.63 -0.0579 -0.0004 -0. Δ=P8 0.85 -0.0336 -0.0002 -0. Δ=Q1 0.8614 -0.0501 -0.0004 -0. Δ=Q2 -0.259 -0.0714 -0.0012 -0. Δ=Q3 -0.042 -0.0424 -0.0006 -0. Δ=Q4 0.6275 -0.1875 -0.0021 -0. Δ=Q5 -0.171 -0.0241 -0.0004 -0. Δ=Q6 0.7101 -0.0828 -0.0007 -0. max 1.63 0.061 0.0009 0. 迭代过程中节点电压变化情况如下表: k U1 U2 U3 U4 U5 U6 0 1 1 1 1 1 1 1 1.0334 1.0084 1.0223 1.0372 1.0266 1.0400 2 1.0259 0.9958 1.0128 1.0259 1.0160 1.0324 3 1.0258 0.9956 1.0127 1.0258 1.0159 1.0324 迭代收敛后各节点的电压和功率: k U θ P Q 1 1.0258 -2.2168 0.0000 0.0000 2 0.9956 -3.9888 -1.2500 -0.5000 3 1.0127 -3.6874 -0.9000 -0.3000 4 1.0258 3.7197 0.0000 0.0000 5 1.0159 0.7275 -1.0000 -0.3500 6 1.0324 1.9667 0.0000 0.0000 7 1.0250 9.2800 1.6300 0.0665 8 1.0250 4.6648 0.8500 -0.1086 9 1.0400 0.0000 0.7164 0.2705 同课本上给出的潮流相比较, 结果完全一致, 证明计算过程与程序编写正确。 最后得出迭代收敛后各支路的功率和功率损耗: i j Pij Qij Iij Pji Qji Iji PL QL 1 2 0.4094 0.2289 0.4572 -0.4068 -0.3869 0.5639 0.0026 -0.1579 1 3 0.3070 0.0103 0.2995 -0.3054 -0.1654 0.3430 0.0017 -0.1551 2 4 -0.8432 -0.1131 0.8545 0.8662 -0.0838 0.8484 0.0230 -0.1969 3 6 -0.5946 -0.1346 0.6020 0.6082 -0.1807 0.6146 0.0135 -0.3153 4 5 0.7638 -0.0080 0.7447 -0.7590 -0.1070 0.7546 0.0048 -0.1150 5 6 -0.2410 -0.2430 0.3368 0.2418 0.0312 0.2362 0.0009 -0.2118 9 1 0.7164 0.2705 0.7363 -0.7164 -0.2392 0.7363 0.0000 0.0312 7 4 1.6300 0.0665 1.5916 -1.6300 0.0918 1.5916 0.0000 0.1583 8 6 0.8500 -0.1086 0.8360 -0.8500 0.1496 0.8360 0.0000 0.0410 三、 源程序及注释 由于计算流程比较简单, 因此编写程序过程中没有采用模块化的形式, 直接按顺序一步步进行。 disp('【 节点数:】'); [n1]=xlsread('input.xls','A3:A3')%节点数 disp('【 支路数:】'); [n]=xlsread('input.xls','B3:B3')%支路数 disp('【 精度:】'); Accuracy=xlsread('input.xls','B4:B4')%精度 [branch]=xlsread('input.xls','E4:K12'); [node]=xlsread('input.xls','M4:S12'); Data_B1=branch;%支路参数 Data_B2=node;%节点参数 T1=zeros(n,2); T2=zeros(n1,3); i=sqrt(-1); format short for j=1:n T1(j,1)=Data_B1(j,3)+Data_B1(j,4)*1i; T1(j,2)=Data_B1(j,5)*1i; end for j=1:n1 T2(j,1)=Data_B2(j,1)+Data_B2(j,2)*1i; T2(j,2)=Data_B2(j,3)+Data_B2(j,4)*1i; end B1=zeros(n,6); B2=zeros(n1,5); for j=1:n B1(j,1)=Data_B1(j,1); B1(j,2)=Data_B1(j,2); B1(j,3)=T1(j,1); B1(j,4)=T1(j,2); B1(j,5)=Data_B1(j,6); B1(j,6)=Data_B1(j,7); end for j=1:n1 B2(j,1)=T2(j,1); B2(j,2)=T2(j,2); B2(j,3)=Data_B2(j,5); B2(j,4)=Data_B2(j,6); B2(j,5)=Data_B2(j,7); end disp('【 支路参数矩阵:】'); B1 %显示支路参数矩阵 disp('【 节点参数矩阵:】'); B2 %显示节点参数矩阵 % 以上为从excel中导入初值的程序 Y=zeros(n1); for i=1:n if B1(i,6)==0 %不含变压器的支路 p=B1(i,1); q=B1(i,2); Y(p,q)=Y(p,q)-1/B1(i,3); Y(q,p)=Y(p,q); Y(p,p)=Y(p,p)+1/B1(i,3)+0.5*B1(i,4); Y(q,q)=Y(q,q)+1/B1(i,3)+0.5*B1(i,4); else %含有变压器的支路 p=B1(i,1); q=B1(i,2); Y(p,q)=Y(p,q)-1/(B1(i,3)*B1(i,5)); Y(q,p)=Y(p,q); Y(p,p)=Y(p,p)+1/B1(i,3); Y(q,q)=Y(q,q)+1/(B1(i,5)^2*B1(i,3)); end end disp('【 导纳矩阵:】'); Y %显示导纳矩阵 m=0; for i=1:n1 if B2(i,5)==2 m=m+1; end end m %PQ节点个数 l=0; for i=1:n1 if B2(i,5)==1 l=l+1; end end l %PV节点个数 Mismatch_power=zeros(l+m*2,1); for i=1:n1-1 Pj=0; for j=1:n1 Pj=Pj+(B2(i,3)*B2(j,3)*(real(Y(i,j))*cos(B2(i,4)-B2(j,4))+imag(Y(i,j))*sin(B2(i,4)-B2(j,4)))); end Mismatch_power(i,1)=real(B2(i,1))-real(B2(i,2))-Pj; end for k=n1:(l+m*2) Qj=0; for j=1:n1 Qj=Qj+B2((k-n1+1),3)*B2(j,3)*(real(Y((k-n1+1),j))*sin(B2((k-n1+1),4)-B2(j,4))-imag(Y((k-n1+1),j))*cos(B2((k-n1+1),4)-B2(j,4))); end Mismatch_power(k,1)=imag(B2((k-n1+1),1))-imag(B2((k-n1+1),2))-Qj; end % Mismatch_power %计算失配功率 times=0; while(max(Mismatch_power)>Accuracy) for i=1:(n1-1) Pj=0; for j=1:n1 Pj=Pj+B2(i,3)*B2(j,3)*(real(Y(i,j))*cos(B2(i,4)-B2(j,4))+imag(Y(i,j))*sin(B2(i,4)-B2(j,4))); end Mismatch_power(i,1)=real(B2(i,1))-real(B2(i,2))-Pj; end for k=n1:(l+m*2) Qj=0; for j=1:n1 Qj=Qj+B2((k-n1+1),3)*B2(j,3)*(real(Y((k-n1+1),j))*sin(B2((k-n1+1),4)-B2(j,4))-imag(Y((k-n1+1),j))*cos(B2((k-n1+1),4)-B2(j,4))); end Mismatch_power(k,1)=imag(B2((k-n1+1),1))-imag(B2((k-n1+1),2))-Qj; end disp('【 当前迭代次数:】'); times disp('【 失配功率:】'); Mismatch_power Jacobian=zeros(l+m*2);%雅克比矩阵7*7 %————————————————————————————————————H for i=1:(n1-1) for j=1:(n1-1) if i==j P_H=0; for k=1:n1 P_H=P_H+B2(i,3)*B2(k,3)*(real(Y(i,k))*sin(B2(i,4)-B2(k,4))-imag(Y(i,k))*cos(B2(i,4)-B2(k,4))); end Jacobian(i,i)=P_H-B2(i,3)*B2(i,3)*(0-imag(Y(i,i))); else Jacobian(i,j)=0-B2(i,3)*B2(j,3)*(real(Y(i,j))*sin(B2(i,4)-B2(j,4))-imag(Y(i,j))*cos(B2(i,4)-B2(j,4))); end end end %————————————————————————————————————N for i=1:(n1-1) for j=1:m if i==j P_N=0; for k=1:n1 P_N=P_N+B2(k,3)*(real(Y(i,k))*cos(B2(i,4)-B2(k,4))+imag(Y(i,k))*sin(B2(i,4)-B2(k,4))); end Jacobian(i,n1-1+i)=0-B2(i,3)*real(Y(i,i))-P_N; else Jacobian(i,n1-1+j)=0-B2(i,3)*(real(Y(i,j))*cos(B2(i,4)-B2(j,4))+imag(Y(i,j))*sin(B2(i,4)-B2(j,4))); end end end %————————————————————————————————————K for i=1:m for j=1:(n1-1) if i==j P_K=0; for k=1:n1 P_K=P_K+B2(i,3)*B2(k,3)*(real(Y(i,k))*cos(B2(i,4)-B2(k,4))+imag(Y(i,k))*sin(B2(i,4)-B2(k,4))); end Jacobian(n1-1+i,i)=0+B2(i,3)*B2(i,3)*real(Y(i,i))-P_K; else Jacobian(n1-1+i,j)=B2(i,3)*B2(j,3)*(real(Y(i,j))*cos(B2(i,4)-B2(j,4))+imag(Y(i,j))*sin(B2(i,4)-B2(j,4))); end end end %————————————————————————————————————L for i=1:m for j=1:m if i==j P_L=0; for k=1:n1 P_L=P_L+B2(k,3)*(real(Y(i,k))*sin(B2(i,4)-B2(k,4))-imag(Y(i,k))*cos(B2(i,4)-B2(k,4))); end Jacobian(n1-1+i,n1-1+i)=0-P_L+B2(i,3)*imag(Y(i,i)); else Jacobian(n1-1+i,n1-1+j)=0-B2(i,3)*(real(Y(i,j))*sin(B2(i,4)-B2(j,4))-imag(Y(i,j))*cos(B2(i,4)-B2(j,4))); end end end S=zeros(l+m*2,1); %初始化电压角度变化量 S=inv(Jacobian)*(0-Mismatch_power); %求解修正方程 S=(Jacobian)\(0-Mismatch_power); %求解修正方程 for i=1:(n1-1) %角度初值加变化量 B2(i,4)=B2(i,4)+S(i,1); end for i=1:m %电压初值加变化量 B2(i,3)=B2(i,3)+S(n1-1+i,1); end disp('【 雅克比矩阵:】'); Jacobian %显示雅克比矩阵 % S=inv(Jacobian) times=times+1; end times=times-1; disp('【 共计迭代次数:】'); times %显示迭代次数 U_It=zeros(n1,1); %初始化电压向量 for i=1:n1 U_It(i,1)=B2(i,3)*cos(B2(i,4))+B2(i,3)*sin(B2(i,4))*1j; end angle_It=zeros(n1,1); %将电压角度的弧度值转为角度值 for i=1:n1 angle_It(i,1)=B2(i,4)*180/pi; end Node_S_It=U_It.*(conj(Y)*conj(U_It)); %求解节点功率 disp('【 迭代收敛后各节点的电压幅值:】'); Node_U_It=abs(U_It) %显示迭代收敛后各节点的电压幅值 disp('【 迭代收敛后各节点的电压角度:】'); angle_It %显示迭代收敛后各节点的电压角度 disp('【 迭代收敛后各节点的功率:】'); Node_S_It %显示迭代收敛后各节点的功率 Branch_It=zeros(n,10); for i=1:n; if B1(i,6)==0; %不带变压器支路 m=B1(i,1); %得到支路号 n=B1(i,2); Branch_It(i,1)=m; %显示支路号 Branch_It(i,2)=n; a=U_It(m,1)*(conj(U_It(m,1))*conj(B1(i,4))*0.5+(conj(U_It(m,1))-conj(U_It(n,1)))/conj(B1(i,3))); Branch_It(i,3)=real(a); %显示Pij Branch_It(i,4)=imag(a); %显示Qij b=U_It(m,1)*B1(i,4)*0.5+(U_It(m,1)-U_It(n,1))/B1(i,3); Branch_It(i,5)=sqrt(real(b)^2+imag(b)^2); %显示Iij c=U_It(n,1)*(conj(U_It(n,1))*conj(B1(i,4))*0.5+(conj(U_It(n,1))-conj(U_It(m,1)))/conj(B1(i,3))); Branch_It(i,6)=real(c); %显示Pji Branch_It(i,7)=imag(c); %显示Qji d=U_It(n,1)*B1(i,4)*0.5+(U_It(n,1)-U_It(m,1))/B1(i,3); Branch_It(i,8)=sqrt(real(d)^2+imag(d)^2); %显示Iji e=a+c; Branch_It(i,9)=real(e); %显示线路损耗有功分量 Branch_It(i,10)=imag(e); %显示线路损耗无功分量 else %带变压器支路(同以上内容) m=B1(i,1); n=B1(i,2); Branch_It(i,1)=m; Branch_It(i,2)=n; a=U_It(m,1)*(conj(U_It(m,1))/conj(B1(i,3))-conj(U_It(n,1))*conj(1/(B1(i,5)*B1(i,3)))); Branch_It(i,3)=real(a); Branch_It(i,4)=imag(a); b=U_It(m,1)*(B1(i,5)-1)/B1(i,3)/B1(i,5)+(U_It(m,1)-U_It(n,1))/(B1(i,5)*B1(i,3)); Branch_It(i,5)=sqrt(real(b)^2+imag(b)^2); c=U_It(n,1)*(conj(U_It(n,1))/(conj(B1(i,5)*B1(i,5)*B1(i,3)))-conj(U_It(m,1))*conj(1/(B1(i,5)*B1(i,3)))); Branch_It(i,6)=real(c); Branch_It(i,7)=imag(c); d=U_It(n,1)*(1-B1(i,5))/B1(i,5)/B1(i,5)/B1(i,3)+(U_It(n,1)-U_It(m,1))/B1(i,5)/B1(i,3); Branch_It(i,8)=sqrt(real(d)^2+imag(d)^2); e=a+c; Branch_It(i,9)=real(e); Branch_It(i,10)=imag(e); end end disp('【 迭代收敛后各支路的功率和功率损耗:】'); Branch_It %显示迭代收敛后各支路的功率和功率损耗 % %—————————————————————————————向Excel表中输出数据 % Node_S_It_Real=real(Node_S_It); % Node_S_It_imag=imag(Node_S_It); % xlswrite('output.xls',Node_U_It,1,'B3'); % xlswrite('output.xls',angle_It,1,'C3'); % xlswrite('output.xls',Node_S_It_Real,1,'D3'); % xlswrite('output.xls',Node_S_It_imag,1,'E3'); % xlswrite('output.xls',Branch_It,1,'G3'); 程序中还有将数据从Excel表格中读入输出的xlsread和xlswrite功能, 直接将数据输入到Excel表格中, 能够省略将数据写在程序中或者一一输入的步骤, 适用于任何节点的电力系统潮流计算。 四、 程序运行结果 五、 手算结果( 第一次迭代) 六、 总结 经过采用计算机和手算进行潮流计算, 我对潮流计算的计算过程和MATLAB软件的使用有了更深层次的了解。我们已经将如此复杂的问题经过矩阵这样的方式得以简化, 但依然有庞大的计算过程是难以经过手算方式进行解决的。同时也深深感叹于电力系统的庞大而精细, 为自己能在以后为之付出感到期待。
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服