电力系统潮流计算程序

上传人:pu****.1 文档编号:512317708 上传时间:2023-10-15 格式:DOCX 页数:13 大小:35.12KB
返回 下载 相关 举报
电力系统潮流计算程序_第1页
第1页 / 共13页
电力系统潮流计算程序_第2页
第2页 / 共13页
电力系统潮流计算程序_第3页
第3页 / 共13页
电力系统潮流计算程序_第4页
第4页 / 共13页
电力系统潮流计算程序_第5页
第5页 / 共13页
点击查看更多>>
资源描述

《电力系统潮流计算程序》由会员分享,可在线阅读,更多相关《电力系统潮流计算程序(13页珍藏版)》请在金锄头文库上搜索。

1、电力系统潮流计算c语言程序,两行,大家 可以看看,仔细研究,然后在这个基础上修 改。谢谢#include stdafx.h#include #include #include #includeComplex.h #includewanjing.h #includegauss.h using namespace std;int _tmain(int argc, _TCHAR* argv)int i; /i 作为整 个程序的循环变量int N=Bus:ScanfBusNo(); /输入节点 个数int L=Line:ScanflineNo(); /输入支路 个数if(L&N)=0)return 0

2、; / 如果找不 到两个文件中的任意一个,退出Line *line=new LineL;/ 动态分配支路结构体Line:ScanfLineData(line); /输入支路 参数Line:PrintfLineData(line,L); /输出支路 参数Bus *bus=new BusN;/动态分配结点结构体for(int i=0;iN;i+) busi.Sdelta.real=0; busi.Sdelta.image=0;Bus:ScanfBusData(bus);/输入节点参数Bus:PrintfBusData(bus,N); / 输出结点 参数Complex *X; X=new Compl

3、ex *N; for(i=0;iN;i+) Xi=new ComplexN;/ 动态分配二维数组作节点导纳阵Bus:JisuanNodeDnz(X,line,bus,L,N); / 计算节点导纳矩阵Bus:PrintfNodeDnz(X,N);/ 输出节点导纳矩阵int NN=(N-1)*2;double *JacAug; JacAug=new double *NN; for(i=0;iNN;i+) JacAugi=new doubleNN+l;为雅可比增广动态分配一 个二维数组double *x;x=new doubleNN;int count=l;LOOP:Bus:JisuanNodeI(

4、X,bus,N);/计算节点注入电流Bus:JisuanNodeScal(X,bus,N); /计算 节点功率Bus:JisuanNodeScal(X,bus,N); 计算节 点功率Bus:JisuanNodeSdelta(bus,N);/计算节点功率差值Bus:PrintfNodeScal(X,bus,N); 输出节 点功率差值int icon=wehconl(bus,N);/whether converbence 看迭代是否结束if(icon=l)couticon=icon 进 行 第 vvcountvv次迭代vvendl;Bus:JisuanJacAug(JacAug,X,bus,N);

5、 / 计算雅可比增广矩阵/ Bus:PrintfJacAug(JacAug,N);gauss:gauss_slove(JacAug,x,NN);/ 解方程组求出电压差值Bus:ReviseNodeV(bus,x,N);修正 节点电压/ Bus:PrintfNodeV(bus,N);count+;goto LOOP;elsefor(i=0;ivL;i+)计算输电线路上的传输功率int statemp,endtemp;Complex aa,bb,cc,dd,B;B.real=0;B.image=-linei.B; statemp=linei.start; endtemp=linei.end;aa=

6、Complex:productComplex(Complex:getconj(busstatemp-1.V), B);bb=Complex:subComplex(Complex:getconj(busstatemp-1.V),Complex:getconj(busendtemp-1.V);cc=Complex:productComplex (bb,Complex:getconj(linei.Y);dd=Complex:CaddC(aa,cc);linei.stoe=Complex:productComplex(b usstatemp-1.V,dd);aa=Complex:productComp

7、lex(Complex:getconj(busendtemp-1.V), B); bb=Complex:subComplex(Complex:getconj(busendtemp-1.V),Complex:getconj(busstatemp-1.V);cc=Complex:productComplex (bb,Complex:getconj(linei.Y);dd=Complex:CaddC(aa,cc);linei.etos=Complex:productComplex(busendtemp-1.V,dd);couticon=icon, 迭 代 结 束。vvendl;Bus:JisuanN

8、odeScal(X,bus,N);/ 计算节点功率for(i=0;ivN;i+)busi.Scal.real=busi.Scal.real + busi.Load.real;发电机功 率=注入功率+负荷功率busi.Scal.image= busi.Scal.image+ busi.Load.image;busi.V=Complex:Rec2Polar(busi.V);coutvv= 节 点 电 压 = 发 电 机 发 出 功 率 =vvendl;for(i=0;ivN;i+)coutvv节点0+1)尸;Complex:PrintfComplex(busi.V); coutt(busi.Sca

9、l.real); coutt(busi.Scal.image); coutvvendl;coutvv= 线 路 传 输 功 率 =vvendl;for(i=0;iL;i+)输出线路上的传 输功率int statemp,endtemp;statemp=linei.start;endtemp=linei.end;coutstatemptoendtempt;Complex:PrintfComplex(Complex:Com DivRea(linei.stoe,0.01);Complex:PrintfComplex(Complex:Com DivRea(linei.etos,0.01);coutend

10、l;return 0;#include stdafx.h#include #include #include #includeComplex.h #includewanjing.h #includegauss.h using namespace std;int _tmain(int argc, _TCHAR* argv)int i; /i 作为整 个程序的循环变量int N=Bus:ScanfBusNo(); / 输入节点 个数int L=Line:ScanflineNo(); / 输入支路 个数if(L&N)=0)return 0; / 如果找不 到两个文件中的任意一个,退出Line *li

11、ne=new LineL;/ 动态分配支路结构体Line:ScanfLineData(line); / 输入支路 参数Line:PrintfLineData(line,L); / 输出支路 参数Bus *bus=new BusN; /动态分配 结点结构体for(int i=0;iN;i+)busi.Sdelta.real=0; busi.Sdelta.image=0;Bus:ScanfBusData(bus); / 输入节点 参数Bus:PrintfBusData(bus,N); / 输出结点 参数Complex *X; X=new Complex *N; for(i=0;iN;i+) Xi=

12、new ComplexN;/ 动态分配二维数组作节点导纳阵Bus:JisuanNodeDnz(X,line,bus,L,N); / 计算节点导纳矩阵Bus:PrintfNodeDnz(X,N);/ 输出节点导纳矩阵int NN=(N-1)*2;double *JacAug; JacAug=new double *NN; for(i=0;iNN;i+) JacAugi=new doubleNN+l;为雅可比增广动态分配一 个二维数组double *x;x=new doubleNN;int count=l;LOOP:Bus:JisuanNodeI(X,bus,N);/计算节点注入电流Bus:Jis

13、uanNodeScal(X,bus,N); /计算 节点功率Bus:JisuanNodeScal(X,bus,N); 计算节 点功率Bus:JisuanNodeSdelta(bus,N); /计算 节点功率差值Bus:PrintfNodeScal(X,bus,N); 输出节 点功率差值int icon=wehcon1(bus,N);/whether converbence 看迭代是否结束if(icon=1)couticon=icon 进 行 第 vvcountvv次迭代vvendl;Bus:JisuanJacAug(JacAug,X,bus,N); / 计算雅可比增广矩阵/ Bus:PrintfJacAug(JacAug,N); gauss:gauss_slove(JacAug,x,NN);/解方程组求出电压差值Bus:ReviseNodeV(bus,x,N);修正 节点电压/ Bus:PrintfNodeV(bus,N);count+;goto LOOP;elsefor(i=0;iL;i+)计算输电线路上的传输功率int statemp,endtemp; Complex aa,bb,cc,dd,B; B.real=0; B.image=-linei.B; statemp=linei.start; endtemp=linei.end;aa=

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文 > 其它学术论文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号