%节点数据 bus=[1-节点编号 2-有功 3-无功 4-电导 5-电纳]
bus=[1 0 0 0 0
2 0 0 0 0
3 0 0 0 0
4 1.8 1.0 0 0
5 0 0 0 0
6 1.0 0.6 0 0
];
%发电机数据 gen=[1-节点编号 2-节点类型(1 - PQ , 2 - PV , 3 - 平衡节点) 3-有功输出 4-无功输出 5-电压膜值]
gen=[1 2 2.5 2.0 1
2 3 2.0 1.5 1
];
%线路数据 Line=[1-支路编号 2-支路首节点编号 3-支路末节点编号 4-支路电阻(p.u.) 5-支路电抗(p.u.) 6-支路电纳(p.u.)];
line=[1 1 3 0.01 0.12 0.02
2 1 2 0.01 0.12 0.02
3 2 3 0.01 0.12 0.02
4 1 5 0.01 0.12 0.02
];
%变压器数据 transform=[1-支路编号 2-支路首节点编号 3-支路末节点编号 4-支路电阻(p.u.) 5-支路电抗(p.u.) 6-变压器变比(p.u.)]
transform=[ 1 3 4 0 0.1 0.95
2 5 6 0 0.15 0.95
];
%数据预处理
nbus=size(bus,1); % 节点数
nline=size(line,1); % 线路个数
ntrans=size(transform,1); % 变压器个数
slack=gen(find(gen(:,2)==3),1); % 平衡节点号
npq=nbus-length(find(gen(:,2)>1)); % PQ节点的个数
DF=zeros(2*nbus,1);E=zeros(nbus,1);
U=ones(1,nbus);
U(gen(:,1))=gen(:,5);
e=real(U); f=imag(U); %电压初始值
NP=bus(:,1);
NP(slack)=[];
NQ=bus(:,1);
NQ(gen(find(gen(:,2)>1),1))=[]; % NQ代表PQ节点编号
k1=size(NP,1)-size(NQ,1); %PV节点数
MP=gen(find(gen(:,2)==2),1); %PV节点编号
P=-bus(:,2)'; % P、Q:节点注入功率
Q=-bus(:,3)';
P(gen(:,1))=P(gen(:,1))+gen(:,3)';
Q(gen(:,1))=Q(gen(:,1))+gen(:,4)';
%计算节点导纳矩阵
Y=zeros(nbus);
if nline>=1 %判断是否存在线路
for k=1:nline %以下处理线路
t1=line(k,2); t2=line(k,3); b2=line(k,6); %分别取出线路的首端节点编号t1、末端节点编号t2和对地电纳b2
Yl=1/(line(k,4)+j*line(k,5)); %计算线路的支路电导Yl
Y(t1,t1)=Y(t1,t1)+Yl+j*b2; %修正第k条线路首端节点的自导纳
Y(t1,t2)=Y(t1,t2)-Yl; %修正第k条线路首端节点与末端节点之间的互导纳
Y(t2,t1)=Y(t2,t1)-Yl; %修正第k条线路末端节点与首端节点之间的互导纳
Y(t2,t2)=Y(t2,t2)+Yl+j*b2; %修正第k条线路末端节点的自导纳
end
end
if ntrans>=1 %判断是否存在变压器
for k=1:ntrans %以下处理变压器
t1=transform(k,2);t2=transform(k,3);t3=transform(k,6); %分别取出变压器的首端节点编号t1、末端节点编号t2和变比t3
Yt=1/(transform(k,4)+j*transform(k,5));
Yt1=Yt/t3;
Yt2=Yt*(1-t3)/(t3*t3);
Yt3=Yt*(t3-1)/t3;
Y(t1,t1)=Y(t1,t1)+Yt1+Yt2;
Y(t1,t2)=Y(t1,t2)-Yt1;
Y(t2,t1)=Y(t2,t1)-Yt1;
Y(t2,t2)=Y(t2,t2)+Yt1+Yt3;
end
end
G=real(Y);B=imag(Y);
%以下是主循环
max_cycle=20; %最大循环次数
for iteration=1:max_cycle
for i=1:nbus
C(i)=0;
D(i)=0;
for g=1:nbus
C(i)=C(i)+G(i,g)*e(g)-B(i,g)*f(g);
D(i)=D(i)+G(i,g)*f(g)+B(i,g)*e(g);
end
end
for z=1:k1
i=MP(z);
P1=C(i)*e(i)+f(i)*D(i);
Q1=f(i)*C(i)-D(i)*e(i);
V2=e(i)^2+f(i)^2;%求出初始值代入时的PQ和PV初值
DP=P(i)-P1;
DV=U(i)^2-V2;
k=2*i-1;DF(k)=DP;
t=k+1;DF(t)=DV;
for g=1:nbus
if g~=i
X1=-B(i,g)*e(i)+G(i,g)*f(i);
X2=G(i,g)*e(i)+B(i,g)*f(i);
X3=0;
X4=0;
p=2*i-1;
q=2*g-1;
J(p,q)=X1;
m=p+1;
J(m,q)=X3;
q=q+1;
J(p,q)=X2;
J(m,q)=X4;
elseif g==i
X1=D(i)-B(i,i)*e(i)+G(i,i)*f(i);
X2=C(i)+G(i,i)*e(i)+B(i,i)*f(i);
X3=2*f(i);
X4=2*e(i);
p=2*i-1;
q=2*g-1;
J(p,q)=X1;
m=p+1;
J(m,q)=X3;
q=q+1;
J(p,q)=X2;
J(m,q)=X4;
end
end
end
for z=1:size(NQ,1)
i=NQ(z); %PQ节点编号
P1=C(i)*e(i)+f(i)*D(i);
Q1=f(i)*C(i)-D(i)*e(i);
V2=e(i)^2+f(i)^2;%求出初始值代入时的PQ和PV初值
DP=P(i)-P1;
DQ=Q(i)-Q1;%取得不平衡量
t=2*i-1;DF(t)=DP;
h=t+1;DF(h)=DQ;%放入不平衡量列向量中
for g=1:nbus
if g~=i %非对角元素
X1=-B(i,g)*e(i)+G(i,g)*f(i);
X2=G(i,g)*e(i)+B(i,g)*f(i);
X3=-X2;
X4=X1;
p=2*i-1;
q=2*g-1;
J(p,q)=X1;
m=p+1;
J(m,q)=X3;
q=q+1;
J(p,q)=X2;
J(m,q)=X4;%求出非对角元素的雅可比参数
elseif g==i %对角元素
X1=D(i)-B(i,i)*e(i)+G(i,i)*f(i);
X2=C(i)+G(i,i)*e(i)+B(i,i)*f(i);
X3=C(i)-G(i,i)*e(i)-B(i,i)*f(i);
X4=-D(i)-B(i,i)*e(i)+G(i,i)*f(i);
p=2*i-1;
q=2*g-1;
J(p,q)=X1;
m=p+1;
J(m,q)=X3;
q=q+1;
J(p,q)=X2;
J(m,q)=X4;%求出对角元素的雅可比参数
end
end %PQ节点雅可比参数求解循环完毕
end
%PV节点雅可比参数求解循环完毕
t=slack;
J([2*t-1,2*t],:)=[];
J(:,[2*t-1,2*t])=[];
DF([2*t-1,2*t],:)=[];%删除平衡节点的行和列
DX=J\DF;
X=abs(DX);
D=max(X);%取得修正量最大值
if D<1e-5
break;
else
k=2*slack-2;t=k+1;
DVV=[DX(1:k,:);[0];[0];DX(t:end,:)];%列出补充了平衡节点两行的行向量
for i=1:nbus
e(i)=e(i)+DVV(2*i);
f(i)=f(i)+DVV(2*i-1);
end%将修正后的值重新代入初值
end
end%为满足精度要求进行的循环
disp('叠代次数');
disp(iteration);
for t=1:nbus
E(t)=e(t)+j*f(t);
end
disp('修正后各节点的电压=');
disp(E);
for i=1:nbus
I(i)=0;
for g=1:nbus
I(i)=I(i)+conj(Y(i,g))*conj(E(g));
end
S(i)=E(i)*I(i);
end
disp('平衡节点功率=');
disp(S(slack));
S=zeros(nbus,1);
for n=1:nbus
for k=1:nbus
S(n)=S(n)+E(n)*(conj(Y(n,k))*conj(E(k)));
end
end
S_loss=sum(S);
disp('系统功率损耗:');
disp(S_loss);
SL=zeros(nline,3);
for k=1:nline % 线路功率及损耗
t1=line(k,2);t2=line(k,3);y=1/(line(k,4)+j*line(k,5));
SL(k,1)=E(t1)*conj(E(t1)*(j*line(k,6))+(E(t1)-E(t2))*y);
SL(k,2)=E(t2)*conj(E(t2)*(j*line(k,6))+(E(t2)-E(t1))*y);
SL(k,3)=SL(k,1)+SL(k,2);
end
disp('支路功率及损耗');
disp(SL);
没有合适的资源?快使用搜索试试~ 我知道了~
newpf1.rar_proposed power
共1个文件
m:1个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 115 浏览量
2022-07-14
13:52:21
上传
评论
收藏 2KB RAR 举报
温馨提示
牛顿法收敛性好,无论系统规模大 小,一般通过几次迭代就能收敛;能直接处理的节点类型比前推-回推法多
资源推荐
资源详情
资源评论
收起资源包目录
newpf1.rar (1个子文件)
newpf1.m 8KB
共 1 条
- 1
资源评论
小贝德罗
- 粉丝: 71
- 资源: 1万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功