📄 compensation.m
字号:
function compensation
clear all;
n=0;
fid=fopen('DATAmax.txt');
while feof(fid)==0 % 文件定位器不在文件结尾
line=fgetl(fid); % 读出定位器所在行
if double(line(1))>=48&&double(line(1))<=57||double(line(1))==43||double(line(1))==45
n=n+1;
if n==1
PQ=line;
PQ=sscanf(PQ,'%f'); %列向量PQ中下标为奇数的元素表示P,为偶数的表示Q
n1=size(PQ)/2;
numPQ=n1(1); %每行PQ节点个数计数
for j=1:numPQ;
PQre(n,j)=PQ(2*j-1);
PQim(n,j)=PQ(2*j);
end
end
if n==2
S=line;
S=sscanf(S,'%f'); %列向量S中下标为奇数的元素表示P,为偶数的表示Q
n2=size(S)/2;
numS=n2(1); %平衡节点S个数计数
for j=1:numS
Sre(1,j)=S(2*j-1);
Sim(1,j)=S(2*j);
end
end
if n>=3
Yb=line;
Yb=sscanf(Yb,'%f');
n3=size(Yb)/2;
numYB=n3(1);
for j=1:numYB %节点导纳矩阵行元素个数计数
YBre(n-2,j)=Yb(2*j-1); %节点导纳矩阵实部
YBim(n-2,j)=Yb(2*j); %节点导纳矩阵虚部
end
end
end
end
%///上面为读取原始数据,形成节点导纳矩阵程序;下面为线路固定补偿方式下单点补偿后潮流计算程序///
EEcopy=zeros(9);
PQcopy=zeros(2*numPQ,1);
PQcopy=PQ;
T1copy =[ 0.0305 0.0391 0.0642 0.0888 0.1070 0.1170 0.1200 0.1222 0.1282]; %线路固定补偿时各节点对应补偿容量
flowoutput=fopen('compensationresult.txt','wt'); %创建线路补偿方式补偿后潮流计算结果compensationresult.txt文件
fprintf(flowoutput,'线路固定补偿方式下单点补偿后潮流计算结果分析\n');
for m=2:10
fprintf(flowoutput,'选择补偿点为节点%g\n',m);
PQ((m-1)*2)= PQ((m-1)*2)+T1copy(m-1);
QP=zeros(2*numPQ,1);
for j=1:numPQ
QP(2*j-1)=PQ(2*j);
QP(2*j)=PQ(2*j-1);
end
E=ones(numPQ,1); %PQ节点的电压和相位赋初值
F=zeros(numPQ,1);
P=zeros(numPQ,1);
Q=zeros(numPQ,1);
epQP=zeros(2*numPQ,1); %存放P、Q的不平衡量
epEF=zeros(2*numPQ,1); %存放PQ节点的节点电压和相位的不平衡量
E1=1.12; %平衡节点1的节点电压幅值和相位
F1=0;
k=0; %存放迭代次数
while k<=20
k=k;
for j=2:numPQ+1
sumP=E(j-1)*[YBre(j,1)*E1-YBim(j,1)*F1]+F(j-1)*[YBre(j,1)*F1+YBim(j,1)*E1];
sumQ=F(j-1)*[YBre(j,1)*E1-YBim(j,1)*F1]-E(j-1)*[YBre(j,1)*F1+YBim(j,1)*E1];
n=2;
while n<=numPQ+1
sumP=sumP+E(j-1)*[YBre(j,n)*E(n-1)-YBim(j,n)*F(n-1)]+F(j-1)*[YBre(j,n)*F(n-1)+YBim(j,n)*E(n-1)];
sumQ=sumQ+F(j-1)*[YBre(j,n)*E(n-1)-YBim(j,n)*F(n-1)]-E(j-1)*[YBre(j,n)*F(n-1)+YBim(j,n)*E(n-1)];
n=n+1;
end
P(j-1)=sumP;
Q(j-1)=sumQ;
epQP(2*(j-1)-1)=QP(2*(j-1)-1)-sumQ;
epQP(2*(j-1))=QP(2*(j-1))-sumP;
end
epQP=epQP;
if max(abs(epQP))<=1e-5
fprintf(flowoutput,'补偿后各节点的电压\n');
fprintf(flowoutput,'%g\n',E);
fprintf(flowoutput,'\n');
break;
else
B=[-1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 -1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 -1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 -1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 -1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 -1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 -1 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 -1 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 -1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 -1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 -1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 -1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 -1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 -1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 -1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -1 0 1 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -1 0 1 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -1 0 1 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -1 0 1 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -1 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -1 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -1 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -1 0 1 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -1 0 1 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -1 0 1 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -1 0 1 0 0
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -