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

2023-09-17 09:13:13

 💥💥💞💞欢迎来到本博客❤️❤️💥💥

🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。

⛳️座右铭:行百里者,半于九十。

📋📋📋本文目录如下:🎁🎁🎁

目录

💥1 概述

📚2 运行结果

🎉3 参考文献

🌈4 Matlab代码及文档讲解


💥1 概述

该程序接受一个感受矩阵 B=[NxN] 和注入功率 P 的向量作为输入(其中 P 的长度为 N),其中 N 是网络中的节点数。这个程序可以在单位制和绝对制中进行计算,用户可以根据需要选择计算系统。在附带的pdf文件中,详细解释了线性直流(DC)模型,并提供了使用该程序的完整说明。该代码最多可用于包含9999个节点的各种系统型号,主要是为了正确地输入感受率矩阵 B 和注入功率向量 P。当系统发生意外情况(如发电机关闭、线路关闭等)或需要进行完整的N-1或N-1-1分析时,该程序还可以进行进一步的计算。

在该程序中,感受矩阵 B 是一个关键的输入参数。它描述了网络中节点之间的连接情况和传导特性。通过结合注入功率向量 P,该程序能够计算出节点之间的电流和电压分布。这对于电力系统的稳态分析和短路计算非常有用。

在单位制中进行计算意味着使用标准单位,例如安培(A)和伏特(V),来表示电流和电压值。而在绝对制中进行计算意味着使用实际的物理量值,例如毫安(mA)和千伏(kV)。用户可以根据自己的需求选择适合的计算系统。

该程序的pdf文件提供了对线性直流模型的详细解释。该模型是一种简化的电力系统模型,可以有效地进行稳态分析。它假设电力系统中的电流和电压是线性关系,并且不考虑电源的动态响应。这个模型在电力系统工程中被广泛使用,并且在实际应用中具有很高的准确性。

使用该程序时,用户需要准确地输入感受率矩阵 B 和注入功率向量 P。感受率矩阵描述了节点之间的导纳和阻抗关系,是计算电流和电压分布的关键因素。注入功率向量表示了在每个节点注入的电力大小。通过准确地输入这些参数,该程序可以提供准确的计算结果。

此外,该程序还具有灵活性,可以应对系统中的意外情况。当发电机关闭或线路关闭等情况发生时,该程序可以继续进行进一步的计算。这对于分析系统的鲁棒性和弹性非常重要,以确保系统在异常情况下的可靠性。

总之,该程序提供了一个强大的工具,用于计算电力系统中节点之间的电流和电压分布。通过正确输入感受率矩阵 B 和注入功率向量 P,用户可以在单位制和绝对制中进行准确的计算。该程序的pdf文件提供了对线性直流模型的详细解释和使用说明,使用户能够充分利用该程序的功能。无论是进行稳态分析还是进行进一步的N-1或N-1-1分析,该程序都能够满足用户的需求。

📚2 运行结果

部分代码:

fprintf('SOLUTION:\n');
 fprintf('Angles in radians on the bus voltage phasors are:\n'); 
 for i=1:r
      fprintf('teta%.d = %.4f rad  (%.4f degres)  \n',i,teta(i),rad2deg(teta(i)));
 end
   
 
W=index_sorting(r); %Special function for geting the unique indexes for active power values, for example 12 13 14 23 24 34 if there are 4 nodes

fprintf('Active power flows calculated by linear DC method are:\n');

for i=1:length(W)
    if W(i)<100 
        divider=10;  %if it is W=12 it means line 1 column 2 so we must divide this number with 10 to separate them to 1 and 2
    elseif W(i)>=100
        divider=100; %if it is W=110 it means line 1 column 10 so we must divide this number with 100 to separate them to 1 and 10
    elseif W(i)>=1000
        divider=1000; 
    elseif W(i)>=10000
        divider=10000; %this means that the program is able to hande 9999 nodes
    end
    row=fix(W(i)/divider);
    column=(rem(W(i),divider));
    if  B(row,column)==0 %can't divide by zero
        Pa(i)=0;
    else
Pa(i)=(teta(row)-teta(column))/inv(B(row,column)); % X is 1/( the corresponding element of B) so we write 'inv'
    end
    if unitsystem==1 && Pa(i)~=0
fprintf('Pa%d-%d = %2f p.u.\n',row,column,Pa(i));
    elseif unitsystem==2 && Pa(i)~=0
        fprintf('Pa%d-%d = %2f MW\n',row,column,Pa(i)*U);
    end
end

answer=input('Input the further calculation based on previous stacionary model or press ctrl+c to exit:\n 1.Generator contingency\n 2.Line contingency\n 3.Both generator and line contingecy\n 4.Full N-1 analysis \n 5.Full N-1-1 analysis \n ');
if answer==1
   generator_contingency
elseif answer==2
    line_contingency
elseif answer==3
    generator_and_line_contingency
elseif answer==4
    N_1_calculation
elseif answer==5
    N_1_1_calculation
end

🎉3 参考文献

文章中一些内容引自网络,会注明出处或引用为参考文献,难免有未尽之处,如有不妥,请随时联系删除。

[1]武智纯.交直流电力系统概率潮流计算分析[J].中文科技期刊数据库(全文版)工程技术:00134-00134[2023-09-04].

[2]李常刚,刘玉田,张恒旭,等.基于直流潮流的电力系统频率响应分析方法[J].中国电机工程学报, 2009, 29(034):36-41.

🌈4 Matlab代码及文档讲解

更多推荐

【C++】构造函数初始化列表 ③ ( 构造函数 的 初始化列表 中 为 const 成员变量初始化 )

文章目录一、构造函数的初始化列表中为const成员变量初始化1、初始化const常量成员2、错误代码示例-没有初始化常量成员3、正确代码示例-在初始化列表中初始化常量成员4、完整代码示例构造函数初始化列表总结:初始化列表可以为类的成员变量提供初始值;初始化列表可以调用类的成员变量类型的构造函数进行成员变量初始化操作;初

【AI Business Model】人工智能的定义 | 了解 AI 的历史 | 简单理解什么是 “图灵测试“

💭写在前面:本章我们将讲解工业革命的定义、人工智能的定义以及第四次工业革命的特点。0x00人工智能的定义①WIKI百科定义:机器智能,技术使机器能够模拟人类的学习能力和问题解决能力。②在计算机领域的定义:为了实现某一目标,感知当前情况。决定行动以最大程度地实现该目标的代理,弱人工智能。③来自维基百科的AGI(人工通用

走进人工智能|自动驾驶 开启智能出行新时代

前言自动驾驶,也被称为无人驾驶或自动驾驶汽车,是指能够在没有人类干预的情况下自主地感知环境、决策和控制车辆行驶的技术和系统。文章目录前言主题发展趋势自动驾驶等级L0级自动驾驶L1级别自动驾驶L2级别自动驾驶L3级别自动驾驶L4级别自动驾驶L5级别自动驾驶小结应用领域核心技术传感器技术激光雷达传感器摄像头传感器超声波传感

讯飞星火认知大模型V2.0:迈向认知计算的全新时代

🌷🍁博主猫头虎带您GotoNewWorld.✨🍁🦄博客首页——猫头虎的博客🎐🐳《面试题大全专栏》文章图文并茂🦕生动形象🦖简单易学!欢迎大家来踩踩~🌺🌊《IDEA开发秘籍专栏》学会IDEA常用操作,工作效率翻倍~💐🌊《100天精通Golang(基础入门篇)》学会Golang语言,畅玩云原生,走遍大

Learn Prompt-ChatGPT 精选案例:学习助理

ChatGPT作为学习助理的强大是在于对个人需求的定制化回复。建立知识网络建立新知识和已有知识的链接。在知识之间建立链接不仅可以产生新的灵感而且还会在大脑的信息之间建立新的连接,让我们提取知识更加的可靠、高效。通过查看更多的例子可以帮助我们理解知识,例如在学习新概念时,可以向ChatGPT获取例子来帮助理解。实时反馈C

面向面试知识-Redis

面向面试知识-Redis什么是Redis运行于内存的基于key-value的非关系型数据库。一款开源的内存数据结构存储,用作数据库、缓存、消息代理等。(可以基于Redis实现分布式锁、以及消息队列)发布订阅??对数据类型的操作都是原子性的,因为执行命令由单线程负责,不存在并发竞争的问题。除此之外,Redis还支持:Re

日志的艺术

良好的日志是运维、开发人员排查问题的好工具,本文建议定义JSON格式的结构化日志格式,从而有效优化人工以及机器排查日志的效能,并能方便创建机器索引。原文:TheArtofLoggingViktorTalashuk@Unsplash从历史上看,日志对于诊断应用程序和基础设施性能非常重要,被广泛应用于业务仪表板的可视化和性

MySQL数据库详解 五:用户管理

文章目录1.数据库的用户管理1.1新建用户1.2重命名用户1.3删除用户1.4修改用户密码1.5忘记用户密码的解决方法1.6数据库用户授权1.6.1授权用户权限类别1.6.2添加权限1.6.2撤销权限2.mysql命令1.数据库的用户管理1.1新建用户createuser'用户名'@'来源地址'[identifiedb

天线原理【1】 天线辐射的物理过程

1前言前面讲以振子方程入手分析电磁场问题的解的时候,有网友发信息说这和天线有什么关系,怎么从振子入手分析天线;那我就开始写几次关于天线的。有一种说法是,能给任何人讲懂的理论,才说明你真的懂了。对天线部分我曾经很有信心,觉得能给任何人讲懂;因为我最多的思考是天线、所有关于振子方程、关于对电磁场问题解的理解,都是从天线出发

【运维篇】三、SLF4J与Logback

文章目录0、Java的门面设计模式1、SLF4J2、作用3、调试4、SpringBoot采用SLF4J+Logback5、切换SpringBoot的日志框架6、logback的配置加载7、logback的配置组成8、logback之logger9、logback之appender10、logback之pattern11

mianshiyan资料汇总(整理后)

前端优化方式css3html5Turbopackes6的新特性BigInt微前端cdnWebComponent作用域和执行上下文JS的堆栈内存分配js垃圾回收机制,v8的垃圾回收机制,v8引擎为啥快前端路由hash和history的区别前端攻击反爬虫加密跨域cookiesessionjwt相关Js闭包实际的用途原型链防

热文推荐