首页 星云 工具 资源 星选 资讯 热门工具
:

PDF转图片 完全免费 小红书视频下载 无水印 抖音视频下载 无水印 数字星空

基于电力系统潮流计算的IEEE14课程设计matlab程序(含牛顿拉夫逊法和PQ分解法进行极坐标分析)

后端 7.17KB 25 需要积分: 1
立即下载

资源介绍:

基于IEEE14设计的matlab程序代码
clc clear %% 读取数据 mpc = IEEE14; %% 初始化 %初始节点电压 [baseMVA,bus,gen,branch]=deal(mpc.baseMVA,mpc.bus,mpc.gen,mpc.branch);%复制各基准值 n=size(bus,1); %总节点数 b=0; c=0; m=0; y=zeros(n,n); U=bus(:,8)';%电压初始值由此确定 %电压相角 cita=bus(:,9)'; cita=(deg2rad(cita)); %角度转换成弧度 P_load=bus(:,3);Q_load=bus(:,4); S_load=zeros(n,1); S=zeros(n,1); S_gen=zeros(n,1); P_gen=zeros(n,1);Q_gen=zeros(n,1);%生成发电机节点初始量 for k=1:length(gen(:,1))%计算发电机节点数 P_gen(gen(k,1))=gen(k,2);%将P,Q数值赋予各矩阵 Q_gen(gen(k,1))=gen(k,3); end P=zeros(1,n); %P,Q为原始数据,Pi,Qi为计算结果 Q=zeros(1,n); for k=1:n P(k)=P_gen(k)-P_load(k);%生成支路功率 Q(k)=Q_gen(k)-Q_load(k); end [P,Q]=deal(P/baseMVA,Q/baseMVA);%多变量赋值 %% 求导纳矩阵 Ybus=zeros(n,n); Y=creat_Y(mpc); G=real(Y);%G为实部 B=imag(Y);% y=zeros(n,n); for i=1:n for j=1:n if i~=j y(i,j)=-Y(i,j); else y(i,j)=sum(Y(i,:)); end end end for i=1:n if bus(i,2)==2%PV节点数 b=b+1; PV(1,b)=i; end end for i=1:n if bus(i,2) == 1 m=m+1; %PQ节点数 PQ(1,m)=i; end end for i=1:n if bus(i,2)==3%平衡节点数 c=c+1; PH=i; end end a1=sortrows(bus,2);%重新进行排序 bus=a1;%更新节点顺序 U1=bus(:,8)';%求根据PQ节点排序在前的节点矩阵电压幅值 dS=[];%定义功率不平衡量 show_index=input('是否在命令行展示计算过程?1-是,0-否\n'); index=input('请选择潮流计算方法,1-极坐标下牛顿法,2-P-Q分解法\n'); %% 迭代求解潮流 fprintf('节点数:%d\n',n); disp(n); fprintf('PQ节点数:%d\n',m); disp(PQ); fprintf('PV节点数:%d\n',b); disp(PV); fprintf('PH节点数:%d\n',c); disp(PH); disp(bus); it=1;%初始的迭代次数 x=1; indexdiea=input('请输入最大迭代次数\n'); it_max=indexdiea; indexepr=input('请输入迭代收敛精度\n'); epr=indexepr;%迭代收敛精度 %% 计算功率不平衡量 [dP,dQ,Pi,Qi]=Unbalanced(n,m,P,Q,U,G,B,cita,bus); if show_index==1 disp('初始条件:');disp('各节点有功:');disp(P); disp('各节点无功:');disp(Q); disp('各节点电压幅值:');disp(U); cita=(deg2rad(cita)); %角度转换成弧度 disp('各节点电压相角(度):');disp(rad2deg(cita)); %显示依然使用角度 disp('节点导纳矩阵:'); disp(y); disp('有功不平衡量:'); disp(dP); disp('无功不平衡量:'); disp(dQ); end J=zeros(n+m-1,n+m-1); % index=1; while itepr && max(abs(dQ))>epr)) disp('潮流计算不收敛'); else Sij = line_power( n,y,U,cita );%支路功率的计算 Pij=real(Sij); Qij=imag(Sij); S=Pi'+1i*Qi';%各节点有功和无功功率 Bd=branch(:,5); f=0; h=size(branch,1); Sd=zeros(n,n); for i=1:n%各个节点对地电容功率计算 for j=1:n for p=1:h if (i==branch(p,1)&&j==branch(p,2)) f=f+1; Sd(i,j)=1i*Bd(f,1)*(U(1,i)^2)/2; Sd(j,i)=1i*Bd(f,1)*(U(1,j)^2)/2; end end end end S_load=deal(P_load/baseMVA)+deal(Q_load/baseMVA)*1i;%节点负荷功率的提取 k=size(gen,1); for i=1:n%发电机输出功率的提取 for j=1:k if i==gen(j,1) S_gen(i,1)=S(i,1)+S_load(i,1); end end end Sij=sparse(Sij); Sij1=Sij-Sd; S1=Sij+conj(Sij');%先对折相加,然后去对角线上的元素 S1=triu(S1);%算上对地电容求取的支路功率 fprintf('迭代总次数:%d\n', it); disp('节点导纳矩阵:'); disp(y);%节点导纳矩阵 disp('节点电压幅值:'); disp(sparse(U'));%节点电压的幅值 disp('节点电压相角:'); disp(rad2deg(cita)');%节点电压的相角 deg_cita = rad2deg(cita); deg_cita_range = max(deg_cita) - min(deg_cita);%计算极差 disp('相角的极差为:'); disp((deg_cita_range')); disp('节点注入有功计算结果:'); disp(Pi'); disp('节点注入无功计算结果:'); disp(Qi'); Pi_max = max(Pi); Pi_min = min(Pi); disp('有功功率最大值:'); disp(Pi_max); disp('有功功率最小值:'); disp(Pi_min); Qi_max = max(Qi); Qi_min = min(Qi); disp('无功功率最大值:'); disp(Qi_max); disp('无功功率最小值:'); disp(Qi_min); disp('各节点负荷功率:'); disp(sparse(S_load)); disp('各节点发电机功率'); disp(sparse(S_gen)); disp('支路功率计算结果:'); disp(sparse(Sij1))%生成支路功率 disp('网络损耗'); disp(sparse(S1)); disp('对地电容功率'); disp(sparse(Sd)); subplot(2,3,1);%画节点电压图 plot([1:length(U)],U,'.b-','LineWidth',0.8); xlabel('节点号') ylabel('节点电压'); subplot(2,3,2);%画节点相角图 plot([1:length(deg_cita)],deg_cita,'*m-','LineWidth',0.8); xlabel('节点号') ylabel('节点电压相角'); subplot(2,3,3);%画节点有功功率图 plot([1:length(Pi)],Pi,'+k-','LineWidth',0.8); xlabel('节点号') ylabel('节点有功功率'); subplot(2,3,4);%画节点无功功率的图 plot([1:length(Qi)],Qi,'.g-','LineWidth',0.8); xlabel('节点号') ylabel('节点无功功率'); subplot(2,3,5); plot([1:length(dS(:,1))],dS(:,1),'.c-','LineWidth',0.001); xlabel('迭代次数') ylabel('有功功率不平衡量'); subplot(2,3,6); plot([1:length(dS(:,2))],dS(:,2),'.r-','LineWidth',0.001); xlabel('迭代次数') ylabel('无功功率不平衡量'); end

资源文件列表:

IEEE14课程设计程序.zip 大约有8个文件
  1. Correct.m 267B
  2. creat_Y.m 3.07KB
  3. IEEE14.m 3.86KB
  4. Jacobi.m 1.37KB
  5. line_power.m 317B
  6. power_flow.m 5.87KB
  7. PQ_LJ.m 505B
  8. Unbalanced.m 627B
0评论
提交 加载更多评论
其他资源 小熊猫DevC++6.7.5.zip
版本为6.7.5, 目前我认为最好用的c++编译器
网络,HCIA培训PPT
用于华为认证数通领域初级学习PPT
网络,华为培训数通领域HCIA PPT
用于华为路由交换初级认证学习
网络,华为培训数通领域HCIA PPT 网络,华为培训数通领域HCIA PPT 网络,华为培训数通领域HCIA PPT
基于flask的天气数据可视化系统
基于flask的天气数据可视化系统
简易BootLoader配套的APP资源
简易BootLoader配套的APP资源西西菜鸟
GD32H7系列CLion工程模版
GD32H7系列CLion工程模版
pytorch实现手动数字识别
pytorch实现手动数字识别,文章参考 https://blog.csdn.net/fengzhongye51460/article/details/140688107, 学些pytorch神经网络的简单的入门例子
EasyPR-Java 依赖的相关可用jar包下载
EasyPR-Java是一个基于Java的开源车牌识别系统,相关依赖jar包下载:javacpp-0.11.jar javacv-0.11.jar opencv-2.4.11-0.11.jar opencv-2.4.11 它的核心目标是简化计算机视觉技术在车牌识别中的应用。这个jar包集合包含了几个关键组件,对于理解EasyPR-Java的工作原理及其在实际项目中的应用至关重要。