牛顿-拉夫逊法潮流计算matlab程序
用牛顿-拉夫逊算法计算带变压器的电力系统
主程序 "PowerFlow_NR.m"
function [bus_res,S_res] = PowerFlow_NR_2 % 牛顿-拉夫逊法解潮流方程的主程序
[bus,line] = OpDF_; % 打开数据文件的子程序,返回bus(节点数据)和line(线路数据)回主程序
[nb,mb]=size(bus);
[nl,ml]=size(line); % 计算bus和line矩阵的行数和列数
[bus,line,nPQ,nPV,nodenum] = Num_(bus,line); % 对节点重新排序的子程序
Y = y_(bus,line); % 计算节点导纳矩阵的子程序
myf = fopen('Result.m','w');
fprintf(myf,'--------------- by longdinhohe --------------- www.wendangwang.com ---------------nn');
fclose(myf); % 在当前目录下生成“Result.m”文件,写入节点导纳矩阵
format long
EPS = 1.0e-10; % 设定误差精度
for t = 1:100 % 开始迭代计算,设定最大迭代次数为100,以便不收敛情况下及时跳出
[dP,dQ] = dPQ_(Y,bus,nPQ,nPV); % 计算功率偏差dP和dQ的子程序
J = Jac_(bus,Y,nPQ); % 计算雅克比矩阵的子程序
UD = zeros(nPQ,nPQ);
for i = 1:nPQ
UD(i,i) = bus(i,2); % 生成电压对角矩阵
end
dAngU = J [dP;dQ];
dAng = dAngU(1:nb-1,1); % 计算相角修正量
dU = UD*(dAngU(nb:nb+nPQ-1,1)); % 计算电压修正量
bus(1:nPQ,2) = bus(1:nPQ,2) - dU; % 修正电压
bus(1:nb-1,3) = bus(1:nb-1,3) - dAng; % 修正相角
if (max(abs(dU))<EPS)&(max(abs(dAng))<EPS)
break
end % 判断是否满足精度误差,如满足则跳出,否则返回继续迭代
end
bus = PQ_(bus,Y,nPQ,nPV); % 计算每个节点的有功和无功注入的子程序
[bus,line] = ReNum_(bus,line,nodenum); % 对节点恢复编号的子程序
YtYm = YtYm_(line); % 计算线路的等效Yt和Ym的子程序,以计算线路潮流
bus_res = bus_res_(bus); % 计算节点数据结果的子程序
S_res = S_res_(bus,line,YtYm); % 计算线路潮流的子程序
myf = fopen('Result.m','a');
fprintf(myf,'---------------牛顿-拉夫逊法潮流计算结果----------nn 节点计算结果:n节点 节点电压 节点相角(角度) 节点注入功率n');
for i = 1:nb
fprintf(myf,'%2.0f ',bus_res(i,1));
fprintf(myf,'%10.6f ',bus_res(i,2));
fprintf(myf,'%10.6f ',bus_res(i,3));
fprintf(myf,'%10.6f + j %10.6fn',real(bus_res(i,4)),imag(bus_res(i,4)));
end
fprintf(myf,'n线路计算结果:n节点I 节点J 线路功
你可能喜欢
- matlab潮流计算程序
- 电力系统潮流计算课程设计
- 配电网络
- 国家电网招聘考试
- matlab潮流计算程序8页
- matlab潮流计算程序14节点4页
- matlab潮流计算程序11页
- 牛顿拉夫逊法潮流计算matlab程序5页
- 5节点电力系统潮流计算matlab程序2页
- 牛顿-拉夫逊法潮流计算matlab程序5页
- 电力系统潮流计算课程设计33页
- 电力系统潮流计算课程设计18页
- 东北电力大学电力系统潮流计算课程设计47页
- 电力系统潮流计算课程设计论文27页
- 复杂电力系统潮流计算 课程设计15页
- 电力系统稳态潮流计算课程设计23页
- 第5章供配电网络121页
- 配电网络的拓扑分析及潮流计算6页
- 10kV配电网络与城市发展的问题2页
- 配电网络 (2)2页
- 配电网络优化规划的基因算法3页
- 第四章配电网络41页


