form_jac.asv
来自「电力系统计算节点数不多的潮流程序,数度比较快」· ASV 代码 · 共 50 行
ASV
50 行
function J=form_jac(V,ang,Y,nb,m)
x=0;
y=0;
for i=1:nb,
for j=1:nb,
G(i,j)=real(Y(i,j));
B(i,j)=imag(Y(i,j));
angl(i,j)=ang(i,1)-ang(j,1);
end
end
for i=1:nb-1,
for j=1:nb-1,
if i~=j
H(i,j)=(-1)*V(i,1)*V(j,1)*(G(i,j)*sin(angl(i,j))-B(i,j)*cos(angl(i,j)));
if j<=m
N(i,j)=(-1)*V(i,1)*V(j,1)*(G(i,j)*cos(angl(i,j))+B(i,j)*sin(angl(i,j)));
end
if i<=m
K(i,j)=V(i,1)*V(j,1)*(G(i,j)*cos(angl(i,j))+B(i,j)*sin(angl(i,j)));
end
if i<=m&j<=m
L(i,j)=(-1)*V(i,1)*V(j,1)*(G(i,j)*sin(angl(i,j))-B(i,j)*cos(angl(i,j)));
end
else i==j
if i<=nb-1
x=0;
for j=1:nb,
if i~=j
x=x+V(j,1)*(G(i,j)*sin(angl(i,j))-B(i,j)*cos(angl(i,j)));
end
end
H(i,i)=V(i,1)*x;
end
if i<=m
y=0;
for j=1:nb,
if i~=j
y=y+V(j,1)*(G(i,j)*cos(angl(i,j))+B(i,j)*sin(angl(i,j)));
end
end
N(i,i)=(-1)*V(i,1)*y-2*V(i,1)*V(i,1)*G(i,i);
K(i,i)=N(i,i)+2*V(i,1)*V(i,1)*G(i,i);
L(i,i)=(-1)*H(i,i)+2*V(i,1)*V(i,1)*B(i,i);
end
end
end
end
J=[H N;K L];
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?