选择数据文件(例如'ieee14.m')=uigetfile('ieee14.m','选择数据文件'); 如果pathname==0,则出错('必须选择有效的数据文件'),否则lfile=length(dfile); eval(dfile(1:lfile-2)); 全局变量 n; 全局变量 m; [nb,mb]=size(bus); [nl,ml]=size(line); nSW=0; nPV=0; nPQ=0; for i=1:nb, type=bus(i,6); if type==3, nSW=nSW+1; SW(nSW,:)=bus(i,:); elseif type==2, nPV=nPV+1; PV(nPV,:)=bus(i,:); else nPQ=nPQ+1; PQ(nPQ,:)=bus(i,:); end bus=[PQ;PV;SW]; newbus=[1:nb]'; f=bus(:,1); nodenum=[newbus bus(:,1)]; bus(:,1)=newbus; for i=1:nl for j=1:2 for k=1:nb if line(i,j)==nodenum(k,2) line(i,j)=nodenum(k,1); break 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'); for K=1:Kmax for i=1:m for j=1:m if i==j Um(i,j)=bus(i,2); end b=dPQ(Y,bus); C=jac(bus,Y); dX=C\b'; dx=dX'; [nx,mx]=size(dx); for i=1:n-1