%*************************电力系统直角坐标系下的牛顿拉夫逊法潮流计算**********
clear
clc
load E:\data\IEEE014_Node.txt
Node=IEEE014_Node;
weishu=size(Node);
nnum=weishu(1,1); %节点总数
load E:\data\IEEE014_Branch.txt
branch=IEEE014_Branch;
bwei=size(branch);
bnum=bwei(1,1); %支路总数
Y=(zeros(nnum));
Sj=100;
%********************************节点导纳矩阵*******************************
for m=1:bnum;
s=branch(m,1); %首节点
e=branch(m,2); %末节点
R=branch(m,3); %支路电阻
X=branch(m,4); %支路电抗
B=branch(m,5); %支路对地电纳
k=branch(m,6);
if k==0 %无变压器支路情形
Y(s,e)=-1/(R+j*X); %互导纳
Y(e,s)=Y(s,e);
end
if k~=0 %有变压器支路情形
Y(s,e)=-(1/((R+j*X)*k));
Y(e,s)=Y(s,e);
Y(s,s)=-(1-k)/((R+j*X)*k^2);
Y(e,e)=-(k-1)/((R+j*X)*k); %对地导纳
end
Y(s,s)=Y(s,s)-j*B/2;
Y(e,e)=Y(e,e)-j*B/2; %自导纳的计算情形
end
for t=1:nnum;
Y(t,t)=-sum(Y(t,:))+Node(t,12)+j*Node(t,13);
%求支路自导纳
end
G=real(Y); %电导
B=imag(Y); %电纳
%******************节点分类************************************* *
pq=0; pv=0; blancenode=0;
pqnode=zeros(1,nnum);
pvnode=zeros(1,nnum);
for m=1:nnum;
if Node(m,2)==3
blancenode=m; %平衡节点编号
else if Node(m,2)==0
pq=pq+1;
pqnode(1,pq)=m; %PQ 节点编号
else if Node(m,2)==2
pv=pv+1;
pvnode(1,pv)=m; %PV 节点编号
end
end
end
end
%*****************************设置电压初值********************************** Uoriginal=zeros(1,nnum); %对各节点电压矩阵初始化
for n=1:nnum
Uoriginal(1,n)=Node(n,9); %对各点电压赋初值
if Node(n,9)==0;