10kV配电网络简单潮流计算程序——电力系统分析课设2018(matlab

10kV配电网络简单潮流计算程序——电力系统分析课设2018(matlab)

10kV配电网络简单潮流计算程序——电力系统分析课设2018

主程序文件说明

% 适用于考虑变压器,已知根节点电压与叶节点负荷,多节点,节点数目不确定,树状网络的潮流计算,输入文件的第一个节点必须是根节点

ldt=dlmread(‘network.txt’);%读输入文件

network.txt,将支路数据读入ldt矩阵

nf=ldt(:,1);%存放支路的首节点

nt=ldt(:,2);%存放支路的末节点

r=ldt(:,3);%存放支路的电阻

x=ldt(:,4);%存放支路的电抗

k=ldt(:,5);%存放支路理想变压器的变比

z=r+1jx;% 将网络参数读入各数组,忽略线路导纳

branchnum=length(nf);%存放支路数目

busnum=max([nf’,nt’]);%存放节点数目

bnm=busnum;%存放节点数目

% 计算支路数与节点数

sgl=setxor(nf,nt);%存放包含根节点与叶子节点的单节点

sglnum=length(sgl);%存放单节点数

leaf=[sgl(2:sglnum,1)]’;% 存放叶子节点

leafnum=length(leaf);%存放叶子节点数

% 找出叶子节点并计算叶子节点数

bdt=dlmread(‘Bus.txt’);%读输入文件Bus.txt,将支路数据读入bdt矩阵

bus=bdt(:,1);%存放全网节点

p=bdt(:,2);%存放节点有功负荷

q=bdt(:,3);%存放节点无功负荷

U=bdt(:,4);%存放节点电压

SD=p+1jq;%存放节点复负荷

SDD=SD;%存放节点复负荷,为每一次迭代时的节点负荷赋初值

% 将节点参数读入各数组

Node=zeros(busnum,2);%存放节点输出信息的输出矩阵

Node(:,1)=bus’;Node(:,2)=U’;%节点参数输出矩阵,记录节点电压

Brch=zeros(branchnum,9);%存放支路输出信息的输出矩阵

Brch(:,1)=nf’;Brch(:,2)=nt’;% 支路参数输出矩阵,记录支路损耗与电压降落以及支路首末端功率,列具体含义见输入文件

s=zeros(branchnum,1);%存放各支路损耗的数组

c=zeros(leafnum,1);%记录各叶节点的父节点

circle=0;%存放迭代次数

US=[U(2),U(2)+1]%存放每次迭代前后的第二节点电压值,为迭代收敛判据使用

%赋初值使循环开始

while(abs(US(2)-US(1))>=0.003)%以第二点电压两次迭代中计算结果之差小于0.003做迭代收敛判据US(2)=US(1);

while(isequal(leafnum,0)==0)%判断是否还存在叶节点,存在则执行循环

for m=1:1:leafnum

for n=1:1:branchnum

if(nt(n)==leaf(m))

s(n)=powerloss(SD(leaf(m)),U(leaf(m))k(n),z(n))%考虑变压器计算各支路电压损耗

Brch(n,3)=real(SD(leaf(m))+s(n))

Brch(n,4)=imag(SD(leaf(m))+s(n)) %记录叶节点相关支路首端有功与无功

Brch(n,7)=real(s(n))

Brch(n,8)=imag(s(n)) %记录叶节点相关支路有功与无功损耗

Brch(n,5)=p(leaf(m))

Brch(n,6)=q(leaf(m))

c(m)=nf(n)

end;

end;

end;%计算与叶节点相关的支路参数

g=unique©;%g中存放与叶节点相连的待剪叶的父节点

gnum=length(g);%g中存放的与叶节点相连的待剪叶父节点数目

t=zeros(gnum+1,1);%t数组中存放新的可能的叶节点

for m=1:1:gnum

for n=1:1:branchnum

if(nf(n)==g(m))

if(isempty(intersect(leaf,nt(n))))

t(m)=g(m);%t数组中存放新的可能的叶节点

break;

else SD(g(m))=SD(g(m))+Brch(n,3)+1jBrch(n,4); %计算各节点处负荷

end

end

end

end%剪叶预处理,计算各父节点处去掉叶节点后的负荷

clear sgl;

clear c;

clear leaf;%清除叶节点相关的变量

sgl=setxor(t,g);

sglnum=length(sgl);

leaf=[sgl(2:sglnum,1)]’;%剪叶得到新的叶节点

leafnum=length(leaf);%新的叶节点数

c=zeros(leafnum,1);%找出新的叶节点

endS=Brch(:,3)+1j*Brch(:,4);%存放各支路首端功率

u=zeros(branchnum,1);%存放各支路电压降落

for m=1:1:branchnum

for n=1:1:busnum

if(bus(n)nf(m))

u(m)=voltagesags(S(m),Node(n,2),z(m));%计算各支路损耗

Brch(m,9)=u(m);%刷新输出矩阵支路损耗

U(nt(m))=(U(nf(m))-u(m))/k(m);%逆推刷新各节点电压

Node(nt(m),2)=U(nt(m));%刷新输出矩阵Node中的节点电压

end

end

end%通过首端功率与电压逆推线路各节点电压

SD=SDD;%为下一次迭代做准备

US(1)=U(2);

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

end

Umin=min([U’]);%存放全网最低电压

for n=1:1:busnum

if(U(n)Umin)

N=n;%全网电压最低点

end;

end;

PF=Brch(1,3);%总电源有功

QF=Brch(1,4);%总电源无功

fid=fopen(‘Branchresult.txt’,‘wt’);%写入文件路径

[m,n]=size(Brch);

for i=1:1:m

for j=1:1:n

if jn

fprintf(fid,’%g\n’,Brch(i,j));

else

fprintf(fid,’%g\t’,Brch(i,j));

end

end

end

fclose(fid);%将潮流计算支路计算结果输出到Branchresult.txt

fid=fopen(‘Noderesult.txt’,‘wt’);%写入文件路径

[m,n]=size(Node);

for i=1:1:m

for j=1:1:n

if jn

fprintf(fid,’%g\n’,Node(i,j));

else

fprintf(fid,’%g\t’,Node(i,j));

end

end

end

fclose(fid); %将节点潮流计算结果输出到Noderesult.txt

fid=fopen(‘result.txt’,‘wt’);%写入文件路径

fprintf(fid,‘迭代次数%g\n’,circle);

fprintf(fid,‘最低电压%6.3fkv\n’,Umin);

fprintf(fid,‘最低电压点%g\n’,N);

fprintf(fid,‘总电源有功%6.3fMW\n’,PF);

fprintf(fid,‘总电源无功%6.3fMvar\n’,QF);

fclose(fid); %将潮流计算全网信息结果输出到result.txt

电压降落计算子程序文件说明

function u=voltagesags(S,U,z)% 本程序求解各支路的电压降落,忽略横分量

% 用演示MATLAB函数帮助的实现方法

r=real(z);

x=imag(z);

p=real(S);

q=imag(S);% 将传递参数虚实部分解

u=(pr+qx)/U;

end

功率损耗计算子程序文件说明

function s=powerloss(S,U,z)%本程序求解各支路的功率损耗

% 用演示MATLAB函数帮助的实现方法R=(real(S)2+imag(S)2)*real(z)/(U2);I=(real(S)2+imag(S)2)*imag(z)/(U2);

s=complex(R,I);

end

10kV配电网络简单潮流计算程序——电力系统分析课设2018(matlab相关教程

潮流课设matlab编程,10kV配电网络简单潮流计算程序——电力系统分析课设2018(matlab...相关推荐

  1. matlab编程进行卡尔曼滤波的简单例子

    1.matlab编程进行卡尔曼滤波的简单例子 clear N=50; x(1)=0; %理论速度初值v(1)=0 ut=-270; %加速度值 F=1; %状态转移矩阵 B=0.01; %控制矩阵 步 ...

  2. 用MATLAB作微粉环节,电力系统分析理论课本习题MATLAB做.doc

    电力系统分析理论课本习题MATLAB做.doc 1 例题 3 1 l1 80 r1 0 21 x1 0 416 b 2 74 1000000 vn 110 S1 15 dp0 40 5 dps 128 ...

  3. 电力系统分析课程设计——基于MATLAB的三相短路分析

    电力系统分析课程设计--基于MATLAB的三相短路分析 案例:三机九节点系统 3.2.1 题目描述 三相短路发生时,电力系统的三相电路仍然对称,故称之为对称短路.此类 型短路在所有短路故障占比虽然不多 ...

  4. 【配电网优化】基于粒子群算法实现GARVER-6节点配电网络直流潮流计算附matlab代码

    1 内容介绍 一种基于粒子群算法的交直流混联配电网潮流最优化控制算法,属配电调控领域.根据配电网结构图确定区域间配电网互联的线路并编号;设定以线路分类的二维矩阵,关联线路编号与线路上的功率流动值;应用 ...

  5. 复杂电网三相短路计算的matlab仿真,复杂电网三相短路计算的MATLAB仿真电力系统分析课设报告 - 图文...

    XG?XT**35.3100??0.11003000.856100???0.05100120发电厂B: XG?XT**17.65100 ??0.051003000.853100???0.0251001 ...

  6. 电力系统分析课设短路电流计算simulink仿真

    https://wenku.baidu.com/view/1ca325d1f242336c1fb95e28.html

  7. 在计算机潮流计算的三类节点中,国家电网校园招聘考试电力系统分析真题填空题...

    国家电网校园招聘考试真题系列!!! 填空题 1.在计算机潮流计算的三类节点中,数量最多的一类节点是PQ节点. 2.在标么制中,只需选定两个基准值,常选的是电压和功率. 3.电力系统运行的基本要求有可靠 ...

  8. 配电网络n节点潮流计算c语言,配电网络潮流计算实用算法

    摘要:利用两种可行的辐射形配电网络潮流计算方法来计算配电网络的潮流分布,着重解决了实际计算中出现的难点,并用C语言编制计算程序,对具体算例进行分析. 关键词:配电网络 配电网潮流算法 1 配电网潮流计 ...

  9. 使用matlab编程给qq或163邮箱等发邮件

    平时在科研中经常会被导师要求使用matlab跑一些大程序,许多时候一个结果跑下来得花去好几个小时的时间,然后改改参数再继续跑,这样真的很让人不淡定啊,如果使用matlab编程让matlab跑出的让自己 ...

最新文章

  1. w ndows连接USB不正常,Raspberry Pi Zero W 连接电脑 – 针对Windows 10 缺少RNDIS驱动
  2. 2019年全球数字化转型现状研究报告
  3. [转]让你提升命令行效率的 Bash 快捷键
  4. 如何制定一个高效的数据保护计划
  5. python读excel字体颜色_python 设置 excel 单元格颜色填充和字体效果
  6. Scala 语言之模式匹配(6)
  7. 怎么快速了解自己的MySQL服务器?
  8. 主动给团队或用户安装Teams App
  9. LS-GAN:把GAN建立在Lipschitz密度上
  10. centos7使用中文输入法
  11. 基建管控系统_催生智慧园区三维管控系统解决方案,新基建背景下构建可视化监控平台...
  12. 成都信息工程大学 809 软件工程导论简答题必背
  13. Python:暴力破解密码
  14. python制作四川话并生成证书,可打包为exe
  15. HTML5+CSS3小实例:鼠标悬停发光按钮
  16. C语言的 a, *a, a
  17. 2021年中国海上风电行业发展现状分析,双碳循环下行业飞速发展「图」
  18. 英雄杀11月光棍节活动
  19. 错误:The ‘pycocotools>=2.0‘ distribution was not found and is required by the application
  20. JavaWeb快速搭建tomcat环境,以及配置虚拟目录并实现访问功能

热门文章

  1. 使用Promise.all实现限制并发请求函数
  2. 浮点数在内存中的存储
  3. 微星h510m和铭瑄h610m哪个好? h510和h610区别
  4. MySQL数据库函数
  5. python调用perl 乱码 ‘perl‘ �����ڲ����ⲿ���Ҳ���ǿ����еij��� ���������ļ���
  6. 阿里巴巴联合欧莱雅发布移动端 AI 痘痘检测应用
  7. 计算机二级c语言选择题及答案,全国计算机二级c语言练习题及答案
  8. 关于MySQL注入点的问题
  9. Unity批量修改FBX模型
  10. 2020年软考初级网络管理员备考指南