




已阅读5页,还剩4页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
/ flow.cpp : Defines the entry point for the console application./#include stdafx.h#include #include #include NEquation.h#include math.h#include config.husing namespace std;void test()NEquation ob1;ob1.SetSize(2);ob1.Data(0,0)=1;ob1.Data(0,1)=2;ob1.Data(1,0)=2;ob1.Data(1,1)=1;ob1.Value(0)=5;ob1.Value(1)=4;ob1.Run();printf(x1=%fn,ob1.Value(0);printf(x2=%fn,ob1.Value(1);void GetData(int& nBus, int& nBranch)/Read the dataFILE *fp;int i;if(fopen_s(&fp,datadata.txt,r)!=0)printf(Can not open the file named data.txt n);return;fscanf_s(fp,%d,%d,&nBus,&nBranch,100);for(i=0;inBus;i+)fscanf_s(fp,%d,%f,%f,%f,%f,%f,%f,%d,&gBusi.No,&gBusi.Voltage,&gBusi.Phase,&gBusi.GenP,&gBusi.GenQ,&gBusi.LoadP,&gBusi.LoadQ,&gBusi.Type,100);for(i=0;inBranch;i+)fscanf_s(fp,%d,%d,%d,%f,%f,%f,%f,&gBranchi.No,&gBranchi.No_I,&gBranchi.No_J,&gBranchi.R,&gBranchi.X,&gBranchi.B,&gBranchi.k,100);fclose(fp);void GetYMatrix(int& nBus, int& nBranch)int i,j,bus1,bus2;float r,x,d,g,b;FILE *fp;for(i=0;inBus;i+)for(j=0;jnBus;j+)gY_Gij=0;gY_Bij=0;for(i=0; inBranch; i+)if(gBranchi.k=0)bus1=gBranchi.No_I-1;bus2=gBranchi.No_J-1;r=gBranchi.R;x=gBranchi.X;d=r*r+x*x;g=r/d;b=-x/d;if(bus1 != bus2)gY_Gbus1bus1=gY_Gbus1bus1+g;gY_Gbus2bus2=gY_Gbus2bus2+g;gY_Gbus1bus2=gY_Gbus1bus2-g;gY_Gbus2bus1=gY_Gbus2bus1-g;gY_Bbus1bus1=gY_Bbus1bus1+b+gBranchi.B;gY_Bbus2bus2=gY_Bbus2bus2+b+gBranchi.B;gY_Bbus1bus2=gY_Bbus1bus2-b;gY_Bbus2bus1=gY_Bbus2bus1-b;else/ add your codesgY_Gbus1bus1=gY_Gbus1bus1+g;gY_Bbus1bus1=gY_Bbus1bus1+b+gBranchi.B;else/ add your codesbus1=gBranchi.No_I-1;bus2=gBranchi.No_J-1;r=gBranchi.R;x=gBranchi.X;d=r*r+x*x;g=r/d;b=-x/d; gY_Gbus1bus1=gY_Gbus1bus1+g*gBranchi.k+g*gBranchi.k*(gBranchi.k-1);gY_Gbus2bus2=gY_Gbus2bus2+g*gBranchi.k+g*(1-gBranchi.k);gY_Gbus1bus2=gY_Gbus1bus2-g*gBranchi.k;gY_Gbus2bus1=gY_Gbus2bus1-g*gBranchi.k;gY_Bbus1bus1=gY_Bbus1bus1+b*gBranchi.k+b*gBranchi.k*(gBranchi.k-1);gY_Bbus2bus2=gY_Bbus2bus2+b*gBranchi.k+b*(1-gBranchi.k);gY_Bbus1bus2=gY_Bbus1bus2-b*gBranchi.k;gY_Bbus2bus1=gY_Bbus2bus1-b*gBranchi.k;/ output the Y matrixif(fopen_s(&fp,dataymatrix1.txt,w)!=0)printf(Can not open the file named ymatrix.txt n);return ;fprintf(fp,-Y Matrix-n);for(i=0;inBus;i+)for(j=0;jnBus;j+)fprintf_s(fp,Y(%d,%d)=(%10.5f,%10.5f)n,i+1,j+1,gY_Gij,gY_Bij);fclose(fp);void SetInitial(int& nBus)int i;for(i=0;inBus;i+)if(gBusi.Type=2)gfi=gBusi.Voltage*sin(gBusi.Phase);gei=gBusi.Voltage*cos(gBusi.Phase);elsegfi=0;gei=1;void GetUnbalance(int& nBus)int i,j;FILE *fp;for(i=0;i=nBus-1;i+)gDelta_Pi=gBusi.GenP-gBusi.LoadP;if(gBusi.Type=1)gDelta_Qi=gBusi.Voltage*gBusi.Voltage-(gei*gei+gfi*gfi);elsegDelta_Qi=gBusi.GenQ-gBusi.LoadQ;for(j=0;j=nBus-1;j+)gDelta_Pi=gDelta_Pi-gei*(gY_Gij*gej-gY_Bij*gfj)-gfi*(gY_Gij*gfj+gY_Bij*gej);if(gBusi.Type=0)gDelta_Qi=gDelta_Qi-gfi*(gY_Gij*gej-gY_Bij*gfj)+gei*(gY_Gij*gfj+gY_Bij*gej);for(i=0;i=nBus-1;i+)gDelta_PQ2*i=gDelta_Pi;gDelta_PQ2*i+1=gDelta_Qi;/ outputif(fopen_s(&fp,dataUnbalance.txt,w)!=0)printf(Can not open the file named Unbalance.txt n);return ;fprintf(fp,-Unbalance-n);for(i=0;i=2*nBus-1;i+)fprintf_s(fp,Y(%d)=(%10.5f)n,i+1,gDelta_PQi);fclose(fp);void GetJaccobi(int& nBus)/ add your codesint i,j;float ga20,gb20;FILE *fp;for(i=0;i=nBus-1;i+)gai=0;gbi=0;for(j=0;j=nBus-1;j+)gai=gai+gY_Gij*gej-gY_Bij*gfj;gbi=gbi+gY_Gij*gfj+gY_Bij*gej;for(i=0;i=nBus-1;i+)for(j=0;j=nBus-1;j+)if(i!=j)gJaccobi2*i2*j=-gY_Bij*gei+gY_Gij*gfi;gJaccobi2*i2*j+1=gY_Gij*gei+gY_Bij*gfi;if(gBusi.Type=1)gJaccobi2*i+12*j=0;gJaccobi2*i+12*j+1=0;elsegJaccobi2*i+12*j=-gJaccobi2*i2*j+1;gJaccobi2*i+12*j+1=gJaccobi2*i2*j;elsegJaccobi2*i2*j=-gY_Bij*gei+gY_Gij*gfi+gbi;gJaccobi2*i2*j+1=gY_Gij*gei+gY_Bij*gfi+gai;if(gBusi.Type=1)gJaccobi2*i+12*j=2*gfi;gJaccobi2*i+12*j+1=2*gei;elsegJaccobi2*i+12*j=-gY_Gij*gei-gY_Bij*gfi+gai;gJaccobi2*i+12*j+1=-gY_Bij*gei+gY_Gij*gfi-gbi;/ outputif(fopen_s(&fp,datagJaccobi.txt,w)!=0)printf(Can not open the file named gJaccobi.txt n);return ;fprintf(fp,-gJaccobi-n);for(i=0;i=2*nBus-1;i+)for(j=0;j=2*nBus-1;j+)fprintf_s(fp,Y(%d%d)=(%10.5f)n,i+1,j+1,gJaccobiij);fclose(fp);void GetRevised(int& nBus)/ add your codesint i,j;FILE *fp;NEquation ob1;ob1.SetSize(2*(nBus-1);for(i=0;i=2*nBus-3;i+)for(j=0;j=2*nBus-3;j+)ob1.Data(i,j)=gJaccobiij;for(i=0;i=2*nBus-3;i+)ob1.Value(i)=gDelta_PQi;ob1.Run();for(i=0;i=nBus-2;i+)gDelta_fi=ob1.Value(2*i);gDelta_ei=ob1.Value(2*i+1);gDelta_fe2*i=gDelta_fi;gDelta_fe2*i+1=gDelta_ei;if(fopen_s(&fp,dataRevised.txt,w)!=0)printf(Can not open the file named Revised.txt n);return ;fprintf(fp,-Revised-n);for(i=0;i=2*nBus-3;i+)fprintf_s(fp,revised(%d)=(%10.5f)n,i+1,gDelta_fei);fclose(fp);void GetNewValue(int& nBus)/ add your codesint i;FILE *fp;for(i=0;i=nBus-2;i+)gfi=gfi+gDelta_fi;gei=gei+gDelta_ei;if(fopen_s(&fp,dataNewValue.txt,w)!=0)printf(Can not open the file named NewValue.txt n);return ;fprintf(fp,-NewValue-n);for(i=0;i=nBus-2;i+)fprintf_s(fp,f(%d)=(%10.5f),e(%d)=%10.5fn,i+1,gfi,i+1,gei);fclose(fp);int main(int argc, char* argv)int i,Count_Num;float maxValue;int nBus,nBranch;/test();GetData(nBus,nBranch);GetYMatrix(nBus,nBranch);SetInitial(nBus);for(Count_Num=0;Count_Num=20;Count_Num+)GetUnbalance(nBus);GetJaccobi(nBus);GetRevised(nBus);GetNewValue(nBus);maxValue=fabs(gDelta_fe0);for(i=1;i=2*(nBus-1)-1;i+)if(maxValuefabs(gDelta_fei)maxValue=fabs(gDelta_fei);if(maxValuePrecision)break;printf(%dn,Count_Num);for(i=0;inBus;i+)printf(%10.5fn,sqrt(gei*gei+gfi*gfi);/add your codesreturn 0; PS:对应的Data文件夹里需要有gJaccobi.
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年舞台美术设计师职业技能水平考核试题及答案解析
- 2026届浙江省萧山区党湾镇初级中学九年级化学第一学期期中复习检测试题含解析
- 监理合同考试试题及答案
- 2025年文化创意产业专员节目策划与文化传播能力考核试题及答案解析
- 公务员考试题及答案日本
- 2025年网络运维工程师资格认证考试试题及答案解析
- 2025年网络安全专家信息安全与网络攻防实战测试试题及答案解析
- 2024年8月动物生理学模拟试题(附参考答案)
- 2025年土地测量试题及答案解析
- 2025年通信工程师通信网络规划测试试题及答案解析
- 历届澳网男单冠军一览表、历史介绍
- DL∕T 1870-2018 电力系统网源协调技术规范
- 预防导管相关性血流感染(CDC指南解读)
- 2024年江苏省高中学业水平合格性考试数学试卷试题(答案详解1)
- 关于颈椎病介绍
- 静疗健康宣教
- 养老金融论文
- 建筑行业新员工入职培训指南书
- 《国家大地坐标系》课件
- 危重患者的护理评估与观察课件
- 食品新产品开发 课件 第三章 食品新产品开发配方设计
评论
0/150
提交评论