云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > 现代电力系统潮流计算作业

现代电力系统潮流计算作业

  • 62 次阅读
  • 3 次下载
  • 2025/12/3 7:21:06

3 迭代算法分析

3.1 牛顿法分析

打开newtonpf.m文档,可以看到matpower的牛顿法的介绍和代码。函数的输入参数包含系统的节点导纳矩阵,节点的注入复功率,初始电压,平衡节点、PV节点和PQ节点的标号列向量,以及包含终止误差、最大迭代次数和输出选项的结构体。返回节点电压,收敛标志和迭代次数。

通过分析可以得到matpower的牛顿法的程序流程图,如图3.1所示,这和一般的牛顿法潮流计算程序并没有什么区别。

开始给定精度和最大迭代次数给定电压初始值初始化迭代次数t=0计算有功和无功的误差?P??、?Q??tt检查是否达到迭代次数或精度否迭代次数加1,t=t+1 是返回节点电压,收敛标志和迭代次数结束 计算雅克比矩阵J?t?计算修正量dx修正各节点电压

–9–

图3.1 牛顿法潮流计算程序流程图

以下是newtonpf函数的每行程序的定义。

function [V, converged, i] = newtonpf(Ybus, Sbus, V0, ref, pv, pq, mpopt) %NEWTONPF 使用完整的牛顿法求解潮流

% [V, CONVERGED, I] = NEWTONPF(YBUS, SBUS, V0, REF, PV, PQ, MPOPT) % 通过分别给定完整系统的导纳矩阵(针对所有节点),节点的注入

% 复功率(针对所有节点),节点电压的初始值,和平衡节点、PV节点和PQ节 % 点标号的列向量,求解节点电压。节点电压矢量包含发电机节点(包括平衡 % 节点)的设定值和平衡节点的参考角度,以及幅度的大小和角度的初始值。 % MPOPT是一个MATPOWER选项结构体,可用于设置终止误差限,最大迭代次数和 % 输出选项(有关详细信息,请参阅MPOPTION)。如果未指定此参数,则使用 % 默认选项。最终返回节点电压相量,收敛标志以及迭代次数。 %

% 参考RUNPF.

%% 缺省参数设置

if nargin < 7 % 如果输入参数少于7项

mpopt = mpoption; % 则设置mpopt的缺省值为mpoption end

%% 求解选项

tol = mpopt.pf.tol; % 终止误差限 max_it = mpopt.pf.nr.max_it; % 最大迭代次数

%% 初始化

converged = 0; % 收敛标志位清零,不收敛 i = 0; V = V0;

% 迭代次数清零 % 初始电压值

Va = angle(V); % 电压相位初始值 Vm = abs(V); % 电压幅值初始值

%% 为了更新电压,建立电压的指针 npv = length(pv); % PV节点数目 npq = length(pq); % PQ节点数目

j1 = 1; j2 = npv; %% PV节点的电压相角 j3 = j2 + 1; j4 = j2 + npq; %% PQ节点的电压相角

–10–

j5 = j4 + 1; j6 = j4 + npq; %% PQ节点的电压幅值

%% 计算修正方程式的常数项

mis = V .* conj(Ybus * V) - Sbus; % 计算误差 F = [ real(mis([pv; pq])); % delta(P) 有功误差 imag(mis(pq)) ]; % delta(Q) 无功误差

%% 判断误差

normF = norm(F, inf); % F的无穷范数(等效于取最大值)

if mpopt.verbose > 1 % 如果该标志位大于1,则保存进度信息到文档 fprintf('\\n it max P & Q mismatch (p.u.)'); fprintf('\\n---- ---------------------------'); fprintf('\\n= .3e', i, normF); end% 将进度信息输出到文档中 if normF < tol

% 误差是否小于误差限

converged = 1; % 收敛标志置1

if mpopt.verbose > 1 % 如果该标志位大于1,则保存进度信息到文档 fprintf('\\nConverged!\\n');% 将该字符串输出到指定文档中 end end

%% 进行牛顿迭代

while (~converged && i < max_it) % 不收敛并且小于最大迭代次数 %% 更新迭代次数

i = i + 1; % 迭代次数加1

%% 更新雅克比矩阵

[dSbus_dVm, dSbus_dVa] = dSbus_dV(Ybus, V); % 计算雅克比矩阵各元素

j11 = real(dSbus_dVa([pv; pq], [pv; pq])); % 得到雅克比矩阵的子矩阵H j12 = real(dSbus_dVm([pv; pq], pq)); % 得到雅克比矩阵的子矩阵N j21 = imag(dSbus_dVa(pq, [pv; pq])); % 得到雅克比矩阵的子矩阵J j22 = imag(dSbus_dVm(pq, pq)); % 得到雅克比矩阵的子矩阵L

J = [ j11 j12;

j21 j22; ]; % 得到雅克比矩阵

%% 计算修正量

–11–

dx = -(J \\ F); % 得到修正量

%% 更新电压

if npv % 如果是PV节点

Va(pv) = Va(pv) + dx(j1:j2); % 更新PV节点的电压相位 end

if npq % 如果是PQ节点

Va(pq) = Va(pq) + dx(j3:j4); % 更新PQ节点的电压相位 Vm(pq) = Vm(pq) + dx(j5:j6); % 更新PQ节点的电压幅值 end

V = Vm .* exp(1j * Va); % 更新所有的节点电压 Vm = abs(V); %% 所有节点电压幅值-->Vm Va = angle(V); %% 所有节点电压相位-->Va

%% 计算修正方程式的常数项

mis = V .* conj(Ybus * V) - Sbus; % 计算误差 F = [ real(mis(pv)); % PV节点的有功功率误差 real(mis(pq)); % PQ节点的有功功率误差 imag(mis(pq)) ]; % PQ节点的无功功率误差

%% 校验收敛性

normF = norm(F, inf); % F的无穷范数(等效于取最大值)

if mpopt.verbose > 1 % 如果该标志位大于1,则保存进度信息到文档 fprintf('\\n= .3e', i, normF); % 将进度信息存到文档中 end

if normF < tol % 误差是否小于误差限 converged = 1; % 收敛标志置1

if mpopt.verbose % 如果该标志位不等于0,则保存最终信息到文档

fprintf('\\nNewton''s method power flow converged in %d iterations.\\n', i); end % 将该字符串输出到指定文档中 end end

if mpopt.verbose % 如果该标志位不等于0,则保存最终信息到文档

if ~converged % 如果收敛标志为0,即超出了迭代次数,则输出不收敛的信息到文档 fprintf('\\nNewton''s method power flow did not converge in %d iterations.\\n', i); end end

–12–

搜索更多关于: 现代电力系统潮流计算作业 的文档
  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

3 迭代算法分析 3.1 牛顿法分析 打开newtonpf.m文档,可以看到matpower的牛顿法的介绍和代码。函数的输入参数包含系统的节点导纳矩阵,节点的注入复功率,初始电压,平衡节点、PV节点和PQ节点的标号列向量,以及包含终止误差、最大迭代次数和输出选项的结构体。返回节点电压,收敛标志和迭代次数。 通过分析可以得到matpower的牛顿法的程序流程图,如图3.1所示,这和一般的牛顿法潮流计算程序并没有什么区别。 开始给定精度和最大迭代次数给定电压初始值初始化迭代次数t=0计算有功和无功的误差?P??、?Q??tt检查是否达到迭代次数或精度否迭代次数加1,t=t+1 是返回节点电压,收敛标志和迭代次数结束 计算雅克比矩阵J?t?计算修正量dx修正各节点电压 –9– 图3.1

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com