预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共21页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

用matlab潮流计算(牛顿拉夫逊法) %主程序: [dfile,pathname]=uigetfile('ieee14.m','SelectDataFile'); ifpathname==0 error('youmustselectavaliddatafile') else lfile=length(dfile); %stripoff.m eval(dfile(1:lfile-2));%打开数据文件 end globaln; globalm; [nb,mb]=size(bus);%节点重新编号 [nl,ml]=size(line); nSW=0;%平衡节点数目 nPV=0;%PV节点数目 nPQ=0;%PQ节点数目 fori=1:nb,%nb为总节点数 type=bus(i,6); iftype==3, nSW=nSW+1;%统计平衡节点数目 SW(nSW,:)=bus(i,:); elseiftype==2, nPV=nPV+1;%统计PV节点数目 PV(nPV,:)=bus(i,:); else nPQ=nPQ+1;%统计PQ节点数目 PQ(nPQ,:)=bus(i,:); end end; bus=[PQ;PV;SW]; newbus=[1:nb]'; f=bus(:,1); nodenum=[newbusbus(:,1)]; bus(:,1)=newbus; fori=1:nl forj=1:2 fork=1:nb ifline(i,j)==nodenum(k,2) line(i,j)=nodenum(k,1); break end end end end Y=y(bus,line);%形成节点导纳矩阵 K=0;%迭代次数初值 Kmax=10;%最大迭代次数 eps1=1.0e-10; eps2=1.0e-10; m=nPQ;n=nb; Um=eye(m,m); myf=fopen('output1.dat','w'); forK=1:Kmax fori=1:m forj=1:m ifi==j Um(i,j)=bus(i,2); end end end b=dPQ(Y,bus); C=jac(bus,Y); dX=C\b'; dx=dX'; [nx,mx]=size(dx); fori=1:n-1%计算相角 bus(i,3)=bus(i,3)-dX(i,1); end B=dx(nx,n:mx)*Um;%计算电压差 bus(1:m,2)=bus(1:m,2)-B';%计算电压值 dx(nx,n:mx)=B; fprintf(myf,'--第%d次迭代时雅可比矩阵--',K) fprintf(myf,'\n'); fori=1:(n+m-1) forj=1:(n+m-1) fprintf(myf,'%8.6f',C(i,j)); fprintf(myf,''); end fprintf(myf,'\n'); end fprintf(myf,'--第%d次迭代时dPQ的误差--',K) fprintf(myf,'\n'); fori=1:(n+m-1) fprintf(myf,'%8.6e',b(1,i)); fprintf(myf,'\n'); end fprintf(myf,'\n'); fprintf(myf,'--第%d次迭代时dx(误差)--',K) fprintf(myf,'\n'); fori=1:(n+m-1) fprintf(myf,'%8.6e',dX(i,1)); fprintf(myf,'\n'); end fprintf(myf,'\n'); fprintf(myf,'第%d次迭代后节点电压(仅PQ节点)',K) fprintf(myf,'\n'); fori=1:m fprintf(myf,'%8.6f',bus(i,2)); fprintf(myf,'\n'); end fprintf(myf,'\n'); fprintf(myf,'第%d次迭代后相角(角度)',K) fprintf(myf,'\n'); fori=1:n fprintf(myf,'%8.6f',bus(i,3)*180/pi); fprintf(myf,'\n'); end fprintf(myf,'\n'); if(max(abs(dx))<eps1)&(max(abs(b))<eps2)%判断是否达到计算精度 break; end end %计算功率 P1=0;T=0;%计算平衡节点的有功 forj=1:n T=bus(n,2)*bus(j,2)*(real(Y(n,j))*cos(bus(n,3)-bus(j,3))+imag(Y(n,j))*sin(bus(n,3)-bus(j,3))); P1=P1+T; end