📄 powerflow.m
字号:
function V=powerflow(A0)
A0T = A0'; % 形成 A0 的转置
S = [0;-NodeData(:,2) - i*NodeData(:,3)]; % 形成 S
ZL = [0;BranchData(:,3) + i*BranchData(:,4)]; % 形成 ZL
V = ones(NN,1);
V(1) = 1.05; % 各个节点电压赋初值
IL(NN,1) = -conj(S(NN) / V(NN)); % 最末支路电流赋初值
Delta = 1; % 收敛判据赋初值
TempV = V; % 赋初值,用于记忆上次迭代结果
while Delta > 1e-8
IN = conj(S ./ V); % 节点注入电流
for n = 1:NN-1
IL(NN-n) = A0(NN-n,NN-n+1:end) * IL(NN-n+1:end) - IN(NN-n);
end % 电流回代过程
for n = 2:NN
V(n) = A0T(n,1:n-1) * V(1:n-1) - ZL(n) * IL(n);
end % 电压前推过程
Delta = max(abs(V-TempV)); % 更新收敛判据
TempV = V; % 记忆迭代结果
end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -