资源描述:
《c语言-潮流计算实现》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、C语言程序设计潮流计算学院自动化学院专业班级学号姓名联系方式2013年11月11日本程序潮流计算部分采用牛顿拉夫逊极坐标法进行计算,求解一次多元方程采用高斯列主元分解法进行求解。根据工程实际,在存储文件实时记录产生文件时间。此外本程序特意增加了文件查看功能,方便文件的查看。程序代码:#include#include#include#include#include#include#includevoiddataprepare(void);voidini
2、tial(void);voidYc(void);voidshowy(void);doubledetpqc(void);voidshowdetav(void);voidJrc(void);voidshowdetpq(void);voidGauss(void);voidshowj(void);voidshowsolution(void);charsave2file(void);charoption(void);intchose(void);intlist(charfilename[],inti,chardstn[]);structPQV{charname[5];doublevb;
3、doublep;doubleq;doublev;doubleag;}*pqv;structY{doubleG;doubleB;}**y;structLZ{charname1[5];doublevb1;charname2[5];doublevb2;doubler;doublex;doubleb;}*lz;structTZ{charname1[5];doublevb1;charname2[5];doublevb2;doublex;doublek1;doublek2;}*tz;charfsource[20];intpqnum=0,pvnum=0,lznum=0,tznum=0;in
4、ttemp1=0,temp2=0,temp3=0,temp4=0;intdiedai=0;intnumw=1,numofw=0;double*detpq,*detav,*Pi,*Qi,error,wucha,**J;/*detpq节点功率的误差量,detav修正量,Pi节点的有功功率*/charc,ch,dstname[20],filename[20];intmain(){opt:c=option();if(c=='1')gotoopt1;elseif(c=='2'){list("1.bin",1,filename);system("modecon:cols=100lines
5、=30&color07");while(c!='0'){system("cls");printf("################################计算结果文件查看################################");printf("[8]上一个[2]下一个[5]查看[-]删除文件【0】退出");list("1.bin",0,filename);chose();}gotoopt;}elseif(c=='0')exit(0);elsegotoopt;opt1:dataprepare();init:initial();Yc();prin
6、tf("输入允许误差量:");scanf("%lf",&wucha);printf("选择模式:a.详情;b.简单:");redo:fflush(stdin);c=getchar();if(c!='a'&&c!='b'&&c!='A'&&c!='B'){printf("输入错误!重新输入:");gotoredo;}if(c!='B'&&c!='b')showy();error=detpqc();showdetpq();while(error>wucha&&error<100){if(c!='B'&&c!='b'){printf("tt是否继续迭代<空格:是R/r:重赋初值
7、E/e:退出潮流计算>?");ifdie:fflush(stdin);ch=getch();switch(ch){case'':break;case'R':;case'r':gotoinit;break;case'E':;case'e':gotoopt;break;default:gotoifdie;}}diedai++;Jrc();if(c!='B'&&c!='b'){printf(">>>>>>>>>>>>>>>>>>>第%d次迭代<<<<<<<<<<<<<<<<<<<<<",dieda