牛顿法(牛顿拉夫逊)配电网潮流计算matlab程序

这篇具有很好参考价值的文章主要介绍了牛顿法(牛顿拉夫逊)配电网潮流计算matlab程序。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

牛顿法配电网潮流计算matlab程序
传统牛顿—拉夫逊算法,简称牛顿法,是将潮流计算方程组F(X)=0,进行泰勒展开。因泰勒展开有许多高阶项,而高阶项级数部分对计算结果影响很小,当忽略一阶以上部分时,可以简化对方程的求解计算。当忽略一阶以上部分后,牛顿法的求解过程实质是逐次线性化,这是反复形成、求解修正方程的过程[16]。其方程式如下:
matlab潮流计算程序,电力系统,潮流计算,电气工程,算法,matlab,编辑器
(18)
在公式(18)中,和分别表示状态变量与其修正量组成的列向量;为方阵,一般叫作雅可比矩阵,第i行j列元素为 ,它的大小为第i个函数对第j个变量求偏导;k则表示阵元素都在处取;同时,F(X)是由n个函数组成的n维列向量;在极坐标下,节点电压可如下表示:
matlab潮流计算程序,电力系统,潮流计算,电气工程,算法,matlab,编辑器
(19)
若和为已知大小的功率,与从节点电压求得的有功和无功功率之差,为功率的不平衡量,则节点功率不平衡量可用如下公式计算:
matlab潮流计算程序,电力系统,潮流计算,电气工程,算法,matlab,编辑器
(20)
节点功率可用各节点电压模值与相位表示,如下公式所示:
matlab潮流计算程序,电力系统,潮流计算,电气工程,算法,matlab,编辑器
(21)
式(21)中,为节点i和j的相位差。
由以公式(18)-(21)推得牛顿法下,其潮流计算方程可写为:
matlab潮流计算程序,电力系统,潮流计算,电气工程,算法,matlab,编辑器
(22)
公式(22)中,雅可比矩阵的各元素为
matlab潮流计算程序,电力系统,潮流计算,电气工程,算法,matlab,编辑器
(23)
(24)
(25)
(26)
matlab潮流计算程序,电力系统,潮流计算,电气工程,算法,matlab,编辑器
(27)
(28)
(29)
(30)
其中,节点导纳矩阵的元素由Gij 、Bij表示。
随着国内外配电系统自动化水平不断提高,电力行业人员也开始更加深入地研究配电网系统。配电网潮流计算作为DMS(配电管理系统)的重要基础,受到广大行业界人士的关注。因此,配电网潮流计算,已然成为配电网分析的重要内容。配电网与输电网相比,两者有明显不同,前者一般采用网格结构,线路参数R/X的值较大,三相负荷不对称程度明显。这些特点使得在输电网中计算有效,如牛顿法,不再适用于配电网。为此,有学者提出了适用于配电网的潮流算法,主要包括基于回路方程的潮流算法、前推回推法和改进的牛顿-拉夫逊法[17](简称改进的牛拉法)。其中,基于回路方程的方法具有较强的网格处理能力和良好的收敛性,但该方法的节点数和分支数处理非常复杂。前推回推法是针对配电网的树状特性,可以避免潮流计算中的病态条件,同时速度更快。然而,由于其公式和算法与牛顿潮流算法不同,其在其它方面(如潮流优化)的应用将受到限制。
改进牛顿法通过对传统法进行一定的近似,将J阵写成UDUT 的形式。U仅由网络拓扑决定,是一个上三角矩阵;D是一个对角矩阵。在牛拉法中,需要对J阵因子分解与前代回代,改进法则只有前推回代的计算过程。它很好地改善了传统法以及前推回推法。经过算例计算结果证明,改进法可以避免J阵病态,且拥有前推回代法的收敛速度、精度,又由于它属于牛顿型算法,所以该算法已经得到了广泛的运用[18]。

下面附带电力系统分析牛顿法算例及matlab程序:
网络结构如下:matlab潮流计算程序,电力系统,潮流计算,电气工程,算法,matlab,编辑器
系统参数如下:
在上图所示的简单电力系统中,系统中节点1、2为PQ节点,节点3为PV节点,节点4为平衡节点,已给定P1s+jQ1s=-0.30-j0.18 P2s+jQ2s=-0.55-j0.13 P3s=0.5 V3s=1.10 V4s=1.05∠0°
容许误差ε=10-5
节点导纳矩阵:
matlab潮流计算程序,电力系统,潮流计算,电气工程,算法,matlab,编辑器
各节点电压:
节点 e f v ζ
1.0.984637 -0.008596 0.984675 -0.500172
2.0.958690 -0.108387 0.964798 -6.450306
3.1.092415 0.128955 1.100000 6.732347
4.1.050000 0.000000 1.050000 0.000000

各节点功率:
节点 P Q
1-0.300000 -0.180000
2–0.550000 -0.130000
3 0.500000 -0.551305
4 0.367883 0.264698

matlab程序如下:

// 牛顿法潮流计算matlab程序
clc;
Y=[1.042093-8.242876i   -0.588235+2.352941i   3.666667i   -0.453858+1.891074i;
-0.588235+2.352941i     1.069005-4.727377i       0        -0.480769+2.403846i;
3.666667i                   0                   -3.333333i            0;
-0.453858+1.891074i      -0.480769+2.403846i       0        0.934627-4.261590i];
%导纳矩阵
e=[1  1  1.1  1.05];%初始电压
f=zeros(4,1);
V=zeros(4,1);%节点电压
Ws=[-0.3 ; -0.18 ; -0.55 ; -0.13 ; 0.5 ; 1.1];%初始功率
W=zeros(6,1);
n=length(Y);%节点数
J=zeros(2*(n-1));%雅可比矩阵
delta_v=zeros(1,6);
delta_w=Ws;
G=real(Y);
B=imag(Y);
S=zeros(4,2);
c=0;%循环次数
m=input('请输入PQ节点数:');
 while max(abs(delta_w))>10^-5
for i=1:(n-1)%以下为求取雅可比矩阵
    for j=1:(n-1)
       if (i~=j)
           J(2*i-1,2*j-1)=-(G(i,j)*e(i)+B(i,j)*f(i));
           J(2*i,2*j)=-J(2*i-1,2*j-1);
           J(2*i-1,2*j)=B(i,j)*e(i)-G(i,j)*f(i);
           J(2*i,2*j-1)=J(2*i-1,2*j);
       end        
    end    
end
for j=1:(n-2)  
      J(6,2*j-1)=0;
      J(6,2*j)=0;   
end%以上为非对角线元素
s1=0;
s2=0;
for i=1:(n-1) 
    for j=1:n
   s1=s1+(G(i,j).*e(j)-B(i,j).*f(j));
   s2=s2+(G(i,j).*f(j)+B(i,j).*e(j));
    end
    J(2*i-1,2*i-1)=-s1-G(i,i) *e(i)-B(i,i)*f(i);
    J(2*i-1,2*i)=-s2+B(i,i) *e(i)-G(i,i)*f(i);
    s1=0;
    s2=0;
end
for i=1:m
    for j=1:n
   s1=s1+G(i,j).*f(j)+B(i,j).*e(j);
   s2=s2+(G(i,j).*e(j)-B(i,j).*f(j));
    end
     J(2*i,2*i-1)=s1+B(i,i) *e(i)-G(i,i)*f(i);
    J(2*i,2*i)=-s2+G(i,i) *e(i)+B(i,i)*f(i);
    s1=0;
    s2=0;
end
J(6,5)=-2*e(3);
J(6,6)=-2*f(3);%对角线元素求解
for i=1:m
    for j=1:n
   s1=s1+e(i)*(G(i,j).*e(j)-B(i,j).*f(j))+f(i)*(G(i,j).*f(j)+B(i,j).*e(j));
   s2=s2+f(i)*(G(i,j).*e(j)-B(i,j).*f(j))-e(i)*(G(i,j).*f(j)+B(i,j).*e(j));   
    end   
      delta_w(2*i-1)=Ws(2*i-1)-s1;
      delta_w(2*i)=Ws(2*i)-s2;   
      W(2*i-1)=s1;
      W(2*i)=s2;
      s1=0;
      s2=0;
end
for j=1:n
    s1=s1+e(3)*(G(3,j).*e(j)-B(3,j).*f(j))+f(3)*(G(3,j).*f(j)+B(3,j).*e(j));
end
delta_w(5)=Ws(5)-s1;
delta_w(6)=(Ws(6)^2-(e(3)^2+f(3)^2));
W(5)=s1;
W(6)=sqrt(e(3)^2+f(3)^2);%以上求功率差值
delta_v=-inv(J)*delta_w;
for i=1:(n-1)
   e(i)=e(i)+delta_v(2*i-1);
   f(i)=f(i)+delta_v(2*i);
end%求电压差值
c=c+1;
 end
 for x=1:4
     V(x)=e(x)+f(x)*1i;     
 end%节点电压
 s1=0;
 for x=3:4
    for j=1:4
       s1=s1+conj(Y(x,j))*conj(V(j));
    end
   S(x,1)=real(V(x)*s1);
   S(x,2)=imag(V(x)*s1);
   s1=0;
 end%PV与平衡节点功率
 for x=1:2
     S(x,1)=W(2*x-1);
     S(x,2)=W(2*x);
 end%节点功率
c  
J
V
S

运行结果如下:
matlab潮流计算程序,电力系统,潮流计算,电气工程,算法,matlab,编辑器文章来源地址https://www.toymoban.com/news/detail-782203.html

到了这里,关于牛顿法(牛顿拉夫逊)配电网潮流计算matlab程序的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 电力系统直流潮流分析【N-1】(Matlab代码实现)

     💥💥💞💞 欢迎来到本博客 ❤️❤️💥💥 🏆博主优势: 🌞🌞🌞 博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️ 座右铭: 行百里者,半于九十。 📋📋📋 本文目录如下: 🎁🎁🎁 目录 💥1 概述 📚2 运行结果 🎉3 参考文献 🌈4 Matlab代码及文档讲解

    2024年02月08日
    浏览(80)
  • 单摆的动力学建模以及matlab仿真(牛顿法和拉格朗日方程法)

    有空再写 首先我们先确定广义坐标,并同时计算出来摆杆的转动惯量 接着列拉格朗日方程 计算动能(转动动能)  计算势能(取铰链处为零势能高度):  计算L 计算拉格朗日方程中的中间量   将上述的中间量带入拉格朗日方程,得到动力学模型: 变换一下形式:  当角

    2023年04月08日
    浏览(44)
  • 电力系统导纳矩阵与短路计算matlab程序

    系统接线示于题图1,已知各元件参数见图上标注: 发电机G-1:=120MV·A,=0.23;G-2:=60MV·A,=0.14。 变压器T-1:=120MV·A,=10.5%;T-2:=60MV·A,=10.5%。 线路参数: , 。线路长度L-1:120km,L-2:80km,L-3:70km,L-4: 90km。取=120MV·A,,试求标幺制下的节点导纳矩阵。另

    2024年02月11日
    浏览(42)
  • 基于确定性最大似然算法 DML 的 DoA 估计,用牛顿法实现(附 MATLAB 源码)

    本文首次在公众号【零妖阁】上发表,为了方便阅读和分享,我们将在其他平台进行自动同步。由于不同平台的排版格式可能存在差异,为了避免影响阅读体验,建议如有排版问题,可前往公众号查看原文。感谢您的阅读和支持! 在 DoA 估计中,最大似然方法主要分为 确定性

    2024年02月17日
    浏览(46)
  • 计算机视觉与深度学习 | 非线性优化理论:图优化、高斯牛顿法和列文伯格-马夸尔特算法

    ===================================================== github:https://github.com/MichaelBeechan CSDN:https://blog.csdn.net/u011344545 ===================================================== 计算机视觉与深度学习 | SLAM国内外研究现状 计算机视觉与深度学习 | 视觉惯性SLAM的基础理论 计算机

    2024年02月08日
    浏览(48)
  • 牛顿法及Python实现

    目录 1 原理 2 牛顿法求解步骤 3 牛顿法的几何解释 4 案例Python实现 牛顿法是基于泰勒公式来实现的。泰勒公式的意义:如果函数满足一定的条件,泰勒公式可以用函数在某一点的各阶导数值做系数构建一个多项式来近似表达这个函数。 设在某邻域内n+1阶可导,则的泰勒展开

    2024年02月06日
    浏览(31)
  • 牛顿法、割线法、二分法

    牛顿法求解非线性方程组 割线法求解非线性方程组 二分法求解根号3  另外,今天上机课写程序时,发现不同的起始点可以收敛到不同的零点。也许这是一个新的值得研究的地方。 看来,计算数学也是这样,光听理论无法实现大的突破,也没法产生好的想法,必须在实践应用

    2024年02月05日
    浏览(51)
  • 在Python中使用牛顿法

    牛顿法简介 牛顿法(Newton’s method)是一种常用的优化算法,在机器学习中被广泛应用于求解函数的最小值。其基本思想是利用二次泰勒展开将目标函数近似为一个二次函数,并用该二次函数来指导搜索方向和步长的选择。 牛顿法需要计算目标函数的一阶导数和二阶导数,因

    2023年04月23日
    浏览(33)
  • 随手笔记——如何手写高斯牛顿法

    将演示如何手写高斯牛顿法 注: 该部分仅用于学习使用,如有侵权,请联系!

    2024年02月16日
    浏览(41)
  • 机械臂运动学逆解(牛顿法)

      常用的工业6轴机械臂采用6轴串联结构,虽然其运动学正解比较容易,但是其运动学逆解非常复杂,其逆解的方程组高度非线性,且难以化简。   由于计算机技术的发展,依靠其强大的算力,可以通过数值解的方式对机械臂的运动学逆解方程组进行求解。以下将使用牛

    2024年01月22日
    浏览(46)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包