📄 main2.m
字号:
function [P,PL1]=main2(D,P,Xl,n)%计算断线后各线路功率;n为断线支路号
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %计算A1,A,P1
B(30,30)=0;%定义节点导纳矩阵为一个30X30的零矩阵;
for i1=1:length(D)
B(D(i1,2),D(i1,3))=D(i1,6); B(D(i1,3),D(i1,2))=D(i1,6);%定义导纳矩阵非对角元素即互导纳;
end
for i2=1:30%定义导纳矩阵对角元素;
for i3=1:length(D)
if i2==D(i3,2)|i2==D(i3,3)
B(i2,i2)=B(i2,i2)-D(i3,6);
end
end
end
B(13,:)=[];B(:,13)=[];%消去导纳矩阵平衡节点所在的行和列;
pp=P(13,:);
P(13,:)=[];%消去平衡节点注入功率;
P1=P(:,2)-P(:,3);%节点注入功率减去负荷功率;
A1=inv(B);
[Tp,A]=sub1(A1,P1,D)%计算A(41x29)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
PL1=zeros(length(D),1);
PLL=D(:,5);
area1=[1 2 5 7 28 3 4 6 8 9 11];
area2=[13 12 16 14 18 17 15 19 20 23];
area3=[10 27 22 21 30 24 25 29 26];
%例如计算区域1到区域3的ATC则增加区域1发电,增加区域3负荷;假设n号支路断线
while sum(abs(PL1)>PLL)==0&sum(P(:,2)>P(:,4))==0&sum(P(:,3)>P(:,5))==0
P=[P(1:12,:);pp;P(13:29,:)];
P(area1,2)=P(area1,2)+(10/sum(P(area1,2)))* P(area1,2);%增加区域1发电;
P(area3,3)=P(area3,3)+(10/sum(P(area3,3)))* P(area3,3);%增加区域3负荷;
pp=P(13,:);
P(13,:)=[];
[A1duan,Aduan,Tpduan]=sub2(D,A1,A,(P(:,2)-P(:,3)),n)
PL1=Tpduan;
end
P=[P(1:12,:);pp;P(13:29,:)];
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -