电力系统短路故障的计算机算法程序设计教材_第1页
电力系统短路故障的计算机算法程序设计教材_第2页
电力系统短路故障的计算机算法程序设计教材_第3页
电力系统短路故障的计算机算法程序设计教材_第4页
电力系统短路故障的计算机算法程序设计教材_第5页
已阅读5页,还剩36页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、电力系统短路故障的计算机算法程序设计学生姓名学 号 成 绩设计题目电力系统短路故障的计算机算法程序设计设 计 内 容电力系统故障的计算程序设计及编制和调试。设计 要 求1在对称短路计算、简单不对称短路计算中任选一种计算作为计算作业。 2计算机语言自选。3设计、编制、调试出相关的通用计算程序。 4输入输出数据一律以文件格式形成。( 1)对称短路计算的输入输出数据( 供参考 )输入数据可考虑为以下两个部分:数据 1(可用变量表示) :节点数、支路数、故障节点数据 2(可用二维数组表示) :支路参数即 支路首端号、支路末端号、支路电抗值 输出数据(可用二维数组表示)为:节点导纳矩阵或阻抗矩阵、故障节

2、点、故障点 电流、支路电流、各节点电压。( 2)简单不对称短路计算的输入输出数据( 供参考 )输入数据可考虑为以下两个部分:数据 1(可用变量表示) :节点数、支路数、故障节点数据 2(可用二维数组表示) :支路参数即 支路首端号、支路末端号、支路正序电抗值、负序电抗值、零序电抗值 输出数据(可用二维数组表示)为:故障节点、故障点电流、各支路电流、各节点 电压的序分量和相分量。时 间 安 排2周参 考 资 料1 何仰赞,温增银电力系统分析 (上册)( 第三版 ) 武汉:华中科技大学出版社, 20022 何仰赞, 温增银电力系统分析题解 (上、下)( 第三版 ) 武汉:华中科技大学出版社, 20

3、023 郑平安,曾大亮编程序设计基础 (C 语言 )第二版北京:清华大学出版社, 2006目录1 课程设计说明 . 12 编程语言的选择及理由 23 程序设计 33.1 主体流程图 33.2 详细流程图 33.2.1 创建系统( create )流程图 . 33.2.2 加载系统函数( load )流程图 . 43.2.3 计算子函数( calculate )流程图 . 43.2.4 改变短路节点( change)流程图 . 53.3 数据及变量说明 . 63.4 程序代码及注释 . 73.5 测试算例 . 74 设计体会 . 17参考文献 17附录. 191 课程设计说明本文根据电力系统三相

4、对称短路的特点,建立了合理的三相短路的数学模型,在此基础 上,形成电力系统短路电流实用汁算方法, 编制了对任意一个电力系统在任意点发生短路故 障时三相短路电流及其分布的通用计算程序, 该办法适用于各种复杂结构的电力系统, 从另 一个侧面展示了计算机应用于电力系统的广阔前景。根据所给的电力系统, 编制短路电流计算程序, 通过计算机进行调试, 最后完成一个切 实可行的电力系统计算应用程序。 通过设计电力系统计算程序使自己对电力系统分析有进一 步理解,同时加强计算机实际应用能力的训练。电力系统的短路故障是严重的, 而又是发生几率最多的故障。 一般说来, 最严重的短路 是三相短路。 当发生短路时, 其

5、短路电流可达数万安甚至十几万安, 它们所产生的热效应和 电动力效应将使电气设备遭受严重破环。 为此, 当发生短路时, 继电保护装置必须迅速切除 故障线路,以避免故障部分继续遭受危害,并使非故障部分从不正常运行情况下解脱出来, 这要求电气设备必须有足够的机械强度和热稳定度,开关电气设备必须具备足够的开断能 力,即必须经得起最大短路电流的侵扰而不致损坏。因此, 电力系统短路电流计算是电力系统运行分析和设计计算的重要环节, 许多电力设计单位和个人倾注极大精力从事这一工作的 研究。由于电力系统结构复杂,随着生产发展,技术进步,电力系统日趋扩大和复杂化,短 路电流计算的工作量也随之增大,采用计算机辅助计

6、算势在必行。2 编程语言的选择及理由一种语言之所以能存在和发展, 并具有生命力, 总是有其不同于 (或优于 )其他语言的特 点。 C 语言的主要特点如下。(1) 语言简洁、紧凑,使用方便、灵活。 C语言一共只有 32个关键字, 9 种控制语句, 程序书写形式自由,主要用小写字母表示,压缩了一切不必要的成分。(2) 运算符丰富。 C的运算符包含的范围很广泛,共有 34 种运算符。 C把括号、赋值、 强制类型转换等都作为运算符处理, 从而使 C的运算类型极其丰富, 表达式类型多样化。 灵 活使用各种运算符可以实现在其他高级语言中难以实现的运算。(3) 数据结构丰富,具有现代化语言的各种数据结构。

7、C 的数据类型有整型、实型、字 符型、数组类型、指针类型、结构体类型、共用体类型等。能用来实现各种复杂的数据结构 ( 如链表、树、栈等 ) 的运算。尤其是指针类型数据,使用起来比PASCAL更为灵活、多样。(4) 具有结构化的控制语句 ( 如 if else 语句、 while 语句、 do while 语句、 switch 语句、 for 语句) 。用函数作为程序的模块单位,便于实现程序的模块化。C是良好的结构化语言, 符合现代编程风格的要求。(5) 语法限制不太严格,程序设计自由度大。例如对数组下标越界不做检查,由程序编 写者自己保证程序的正确。 对变量的类型使用比较灵活, 例如整型数据与

8、字符型数据可以通 用。一般的高级语言语法检查比较严, 能检查出几乎所有的语法错误。 而 C 语言允许程序编 写者有较大的自由度,因此,放宽了语法检查。程序员应当仔细检查程序,保证其正确,而 不要过分依赖 C 编译程序去查错。 “限制”与“灵活”是一对矛盾。 限制严格, 就失去灵活 性; 而强调灵活,就必然放松限制。一个不熟练的编程人员,编一个正确的C 程序可能会比编一个其他高级语言程序难一些。 也就是说, 对用 C语言的人, 要求对程序设计更熟练一些。(6) C 语言能进行位 (bit) 操作,能实现汇编语言的大部分功能,可以直接对硬件进行操 作。因此 C 既具有高级语言的功能,又具有低级语言

9、的许多功能,可用来写系统软件。C 语言的这种双重性,使它既是成功的系统描述语言,又是通用的程序设计语言。3 程序设计3.1 主体流程图图 3-1 主体流程图3.2 详细流程图3.2.1 创建系统( create )流程图图 3-2 create 函数流程图3.2.2 加载系统函数( load )流程图图 3-3 节点导纳矩阵形成流程图3.2.3 计算子函数( calculate )流程图图 3-4 计算子函数流程图3.2.4 改变短路节点( change)流程图程序中的变量定义如下:FILE *fp;float If;float V010;float In10;float V10;float

10、I10;int count210;float z1010;float yjs1010;float ye10;float Y1010;float Z1010;float dk;int e110;float yc10;float ycjs10;int e10;float E10;图 3-5 change 函数流程图3.3 数据及变量说明数据输入时分开本程序中将电路的支路分为三类:电抗支路、 电流支路、 发电机直流, 输入格式如下:电抗支路:支路数、节点首端好、节点末端好,支路电抗值。 发电机支路:发电机台数、发电机接入点,发电机电势、发电机之路电抗。 电容支路:支路数、电容节点号,电容支路电抗值。

11、/ 文件指针/ 短路电流/ 节点电压初值/ 注入电流/ 节点电压/ 支路电流/ 数组用于储存支路号/ 储存支路电抗值/ 存放计算导纳矩阵中的中间值/ 储存发电机支路导纳/ 节点导纳矩阵/ 阻抗矩阵/ 电抗值/ 节点对地电抗/ 发电机接入点float Ig10;float Emid10;float ze10; / 储存发电机支路导纳int m,n,a,f,i=0,j=0,sd,md,butn,times,timesc; /*n 是节点数, a 是支路数, f 是短 路点, i 为行标, j 为列标 */1、文件读入程序如下:printf( 请输入系统的节点数,支路数,故障节点 n );scanf

12、( %d%d%d,&n,&a,&f);fp=fopen(name,w+ );fprintf(fp,系统参数如下所示:nn );fprintf(fp,1. 系统的节点数为%dn2. 系统的支路数为 %dn3. 系统的短路点为 %dnn ,n,a,f);fprintf(fp,支路电抗参数如下n );2、计算主程序如下:( 1)、 If=V0f-1/Zf-1f-1;(短路电流计算)for (i=0;in;i+)Vi=V0i-Zif-1*If;(2)、 for (i=0;in;i+) (导纳矩阵计算)for (j=0;jn;j+) Yii=Yii-yjsij; Yii=Yii-yei-ycjsi;fo

13、r (i=0;in;i+)for (j=i+1;jn;j+)Yij=yjsij; Yji=yjsij;3.4 程序代码及注释具体源程序代码及其注释见附录。3.5 测试算例【例 6-3】在如图 3-5 所示的电力系统中分别在节点 1 和节点 5 接入发电机支路,其标幺值 参数为:E1 E5 1.0, z1 j 0.15, z5 j 0.22 。在节点 3 发生三相短路,计算短路电流及网络中的电流分布。线路的电阻和电容略去不计,变压器的标幺变比等于1。各元件参数的标幺值如下:z12 j 0.105,k12 1.05, z45 j 0.184, k45 0.96, z24 0.03 j 0.08,

14、z23 0.024 j 0.065, z34 0.018 j0.05, y240 y420 j 0.02, y230 y320 j 0.016, y340 y430 j 0.013k45 :1z121: k12 y240 y420图 3-6 电力系统等值网络图E5图 3-7 三相短路时的等值网络图由以上网络图可得计算过程如下:1)、形成输入文件:系统参数如下所示 :1. 系统的节点数为2. 系统的支路数为3. 系统的短路点为 支路电抗参数如下z12=0.1050 z23=0.0650 z24=0.0800 z43=0.0500 z54=0.1840发电机接入点及其电抗如下:共 2 台发电机进入

15、系统z1=0.1500 z5=0.2200 e1=1.0000 e5=1.0000共 0 个节点有接地电容(2)、计算后得到的输出文件: 计算结果如下:1、节点导纳矩阵 :-16.1905 9.52389.5238 -37.4084 15.3846 12.500015.3846 -35.3846 20.000012.5000 20.0000 -37.9348 5.43485.4348 -9.98022、节点阻抗矩阵 :0.11810.09580.09020.08580.04670.09580.16290.15330.14590.07940.09020.15330.18600.16110.087

16、70.08580.14590.16110.17290.09410.04670.07940.08770.09410.15153、短路节点是 :34、短路电流 :If=5.37675、各节点电压 :V1=0.5152 V2=0.1758 V3=0 V4=0.1336 V5=0.52826、发电机支路电流如下 :Ig10=-3.2321Ig50=-2.14457、各支路电流 :I12=-3.2321 I23=-2.7046 I24=-0.5275 I43=-2.6720 I54=-2.1445图 3-8 对称短路计算结果图 3-8 改变短路点后计算结果5 发生三相短路【习题 6-10 】如图 3-9

17、 所示网络,略去负荷,试用节点阻抗矩阵法求节点 时,短路点的短路电流及线路 L-2 、L-3 的电流。已知各元件参数如下:- 10 -发电机 G-1: SN = 120 MVA, x”d = 0.23; G-2: SN = 60 MVA, x”d = 0.14 变压器 T-1: SN = 120 MVA, Vs = 10.5%; T-2: SN = 60 MVA, Vs = 10.5% 线路参数 x1 = 0.4 /km, b1 = 2.8 10-6 S/km线路长度 L-1: 120 km, L-2: 80 km, L-3: 70 km取 SB = 120 MVA, VB = Vav图 3-

18、9 电力系统网络图1)、形成输入文件:系统参数如下所示 :1. 系统的节点数为: 52. 系统的支路数为: 53. 系统的短路点为: 5 支路电抗参数如下:z3 5=0.29036z4 5=0.25406z3 4=0.43554 z1 3=0.1050 z2 4=0.2100发电机接入点及其电抗如下:共 2 台发电机进入系统:z1=0.2300 z2=0.2800- 11 -e1=1.0500 e2=1.0500共 3 个节点有接地电容:Y3=-32.372299 Y4=-34.077000 Y5=-43.185200(2)、得到的输出文件:计算结果如下:1、节点导纳矩阵 :-13.8716

19、9.5238-8.3333 4.76199.5238 -15.2329 2.2960 3.44404.7619 2.2960 -10.9646 3.93613.4440 3.9361 -7.35692、节点阻抗矩阵 :0.18190.06160.16000.10790.13260.06160.20780.08980.15360.12420.16000.08980.23300.15710.19320.10790.15360.15710.26890.21740.13260.12420.19320.21740.34273、短路节点是 :54、短路电流: If=3.12635、各节点电压 :V1=0.

20、6471 V2=0.6723 V3=0.4632 V4=0.3890 V5=06、发电机支路电流如下 :Ig10=-1.7516Ig20=-1.34917、各支路电流 :I35=-1.5954 I45=-1.5310 I34=-0.1705 I13=-1.7516 I24=-1.3491- 12 -习题 6-11 】电力系统等值电路如图 3-13所示,支路阻抗的标幺值已注明图中。1)2)形成节点导纳矩阵(或节点阻抗矩阵),并用以计算节点 3 的三相短路电流。j0.2I1 j5.25j0.2j22图 3-13j0.1j0.130435j7经 Norton 变换后的等值电路图图 3-11 对称短路

21、计算结果- 13 -图 3-13 最终计算等值电路图由以上网络可得输入文件如下: 系统参数如下所示 :1. 系统的节点数为: 32. 系统的支路数为: 23. 系统的短路点为: 3 支路电抗参数如下: z1 2=0.2000 z2 3=0.1000 发电机接入点及其电抗如下:共 2 台发电机进入系统: z1=0.2000 z3=0.130435e1=1.0500 e3=0.913043共 1 个节点有接地电容:Y2=-2.000000 (2)、得到的输出文件:计算结果如下:1、节点导纳矩阵 :-10.0000 5.00005.0000 -14.5000 10.000010.0000 -17.6

22、6672、节点阻抗矩阵 :0.1394 0.0789 0.04460.0789 0.1577 0.08930.0446 0.0893 0.10713、短路节点是 :3- 14 -4、短路电流: If=9.18755、各节点电压 :V1=0.6344 V2=0.2188 V3=06、发电机支路电流如下 :Ig10=-2.0781Ig30=-7.00007、各支路电流 :I12=-2.0781 I23=-2.1875图 3-15 对称短路计算结果通过计算结果与算例答案的对比, 计算结果与例题标准答案一样, 说明了程序计算方法- 15 -和思路的准确性。说明本次课程设计基本达到了设计的要求。- 16

23、 -4 设计体会从拿到课题到设计完成, 从理论到实践, 忙于查找资料, 构思方案。但是却学到了很多 的东西,在巩固以前所学过的知识的同时,更是学到了很多在书本上所没有学到过的知识。 课程设计是培养我们运用所学知识, 发现、提出、分析和解决实际问题、 锻炼实践能力 的重要环节, 是对我们所学知识的具体训练和考察。 通过这次课程设计使我懂得了理论与实 际相结合是很重要的, 只有理论知识是远远不够的, 只有把所学的理论知识与实践相结合起 来,从理论中得出结论, 才能真正服务于社会, 从而提高自己的实际动手能力和独立思考的 能力。 在设计的过程中遇到问题,可以说得是困难重重, 难免会遇到过各种各样的问

24、题,同 时在设计的过程中发现了自己的不足之处, 对以前所学过的知识理解得不够深刻, 掌握得不 够牢固。 通过这次设计, 我懂得了学习和团队合作的重要性, 了解到理论知识与实践相结合 的重要意义,学会了坚持、耐心和努力,这将为自己今后的学习和工作做出了最好的榜样。- 17 -参考文献1 何仰赞,温增银电力系统分析 (上册)( 第三版 ) 武汉:华中科技大学出版社, 20022 何仰赞,温增银电力系统分析题解 (上、下 )( 第三版 ) 武汉:华中科技大学出版社, 20023 郑平安,曾大亮编程序设计基础 (C 语言)第二版北京:清华大学出版社, 2006- 18 -附录主程序及注释(这里只给出主

25、要计算程序)#include #include #include 声明外部函数externvoidcreate();externvoidload();externvoidquit();externvoidchange( char name20);externvoidcalculate( char name20)FILE *fp;/ 文件指针floatIf;/短路电流floatV010;/节点电压初值floatIn10;/注入电流floatV10;/节点电压floatI10;/支路电流int count210;/ 数组用于储存支路号floatz1010;/储存支路电抗值floatyjs1010;

26、/存放计算导纳矩阵中的中间值floatye10;/储存发电机支路导纳floatY1010;/节点导纳矩阵floatZ1010;/阻抗矩阵floatdk;/ 电抗值int e110;float yc10;/ 节点对地电抗float ycjs10;int e10;/ 发电机接入点float E10;float Ig10;float Emid10;float ze10; / 储存发电机支路导纳f 是短int m,n,a,f,g,i=0,j=0,sd,md,butn,times,timesc; /*n 是节点数, a是支路数, 路点, i 为行标, j 为列标for (i=0;i10;i+)yci=0

27、;ycjsi=0;Ei=0;Emidi=0;for (i=0;i10;i+) / 初始赋V0i=0;- 19 -for (j=0;j10;j+)zij=0;Yij=0;读取系统参数 */:nn );%dn2. 系统的支路数为 %dn3. 系统的短路点 /* fp=fopen(name, r ); fscanf(fp, 系统参数如下所示fscanf(fp,1. 系统的节点数为为 %dnn ,&n,&a,&f);/* 读电抗 */ fscanf(fp, 支路电抗参数如下 n );for (m=0;ma;m+)fscanf(fp,z%d %d=%ft ,&sd,&md,&dk);i=sd-1;j=m

28、d-1;count0m=sd;count1m=md;zij=dk;zji=dk;printf( 系统支路电抗如下: n );for (m=0;ma;m+)i=count0m-1;j=count1m-1;printf( z%d%d = %.4fn ,count0m,count1m,zij); fscanf(fp, nn 发电机接入点及其电抗如下: );fscanf(fp, 共 %d台发电机进入系统 n ,×);for (m=0;mtimes;m+)fscanf(fp, z%d=%ft ,&em,&zem);fscanf(fp, n );for (m=0;mtimes;m+)fscanf

29、(fp, e%d=%ft ,&em,&Em);printf( 输入的发电机支路电抗为 n );for (m=0;mtimes;m+)printf( z%d=%ft ,em,zem);for (m=0;mtimes;m+)for (m=0;mtimes;m+)printf( e%d=%ft ,em,Em);for (m=0;m0) for (m=0;mtimesc;m+)fscanf(fp, Y%d=%ft ,&e1m,&ycm); printf(n 系统有 %d个节点电容 n ,timesc);for (m=0;mtimesc;m+)printf( z%d0=%f ,e1m,ycm);fclo

30、se(fp);计算节点阻抗矩阵for (m=0;m10;m+) yem=0;for (m=0;mtimes;m+)for (j=0;jn;j+)if (j=(em-1) yej=1/zem; Emidj=Em; for (m=0;mtimesc;m+)for (j=0;jn;j+)if (j=(e1m-1)ycjsj=1/ycm;系统支路导纳 */for (i=0;in;i+)for (j=0;jn;j+) if (zij=0) yjsij=0;elseyjsij=1/zij;/*导纳矩阵 */for (i=0;in;i+)for (j=0;jn;j+) Yii=Yii-yjsij; Yii=

31、Yii-yei-ycjsi;for (i=0;in;i+)for (j=i+1;jn;j+)Yij=yjsij;Yji=yjsij;- 21 -printf( nn 节点导纳矩阵为 ); for (i=0;in;i+)printf( n );for (j=0;jn;j+) if (Yij=0) printf( );elseprintf( %8.4f ,Yij); float l1010;float d1010;float u1010; int kk;float sum;for (i=0;i10;i+)for (j=0;j10;j+) lij=0; dij=0; uij=0;for (i=0;i

32、10;i+)lii=1;uii=1;迭代法求解 */for (i=0;in;i+) sum=0;if (i1) dii=Yii;elsefor (kk=0;kki;kk+) sum=sum+ukki*ukki*dkkkk; dii=Yii-sum;for (j=i+1;jn;j+)sum=0;if (i1)uij=Yij/dii;- 22 -elsefor (kk=0;kki;kk+)sum=sum+ukki*ukkj*dkkkk; uij=(Yij-sum)/dii;* *LDU屏幕显示 *printf( nD 矩阵如下所示 ); for (i=0;in;i+)printf( n ););f

33、or (j=0;jn;j+) if (dij=0) printf( elseprintf( %8.4f ,dij); printf( nU 矩阵如下所示 ); for (i=0;in;i+)printf( n );for (j=0;jn;j+) if (uij=0) printf( ); elseprintf( %8.4f ,uij);printf( n 节点阻抗矩阵如下所示 ); float fi10;float h10;for (j=0;j10;j+)fij=0;hj=0;for (j=0;jn;j+)for (i=0;in;i+)if (i-j)0)fii=0;else if (i-j)

34、=0) fii=1;- 23 -else sum=0;for (kk=0;kki;kk+) sum=sum-ukki*fikk; fii=sum;for (i=0;in;i+)if (i=0;i-)if (i=(n-1)Zij=hi;else sum=0;for (kk=i+1;kkn;kk+)sum=sum-uikk*Zkkj;Zij=hi+sum ;for (i=0;in;i+)for (j=0;jn;j+)Zij=-Zij;for (i=0;in;i+)printf(n );for (j=0;jn;j+)printf(%.4f ,Zij);system( cls );/*getch();

35、tttt计算短路电压电流网络中电流分布 */ /* 注入电流计算 */ printf( tttt 短路计算结果如下 nn );for (i=0;in;i+) Ini=(Emidi)*(yei);/* 注入节点电压初值 */for (i=0;in;i+)for (j=0;jn;j+)V0i=V0i+Inj*Zji;节点电压初值 *- 24 -If=V0f-1/Zf-1f-1;for (i=0;in;i+)Vi=V0i-Zif-1*If;printf( 1 、短路电流: 点电压为 n ,If);nIf=%.4fn*n2、各节for (i=0;in;i+)printf(V%d=%.4fn ,i+1,

36、Vi);elseprintf(V%d=0.0000n ,i+1,Vi);printf(*nprintf(3 、发电机支路电流如下 :n );if (if-1)for (m=0;mtimes;m+);for (i=0;in;i+)if (i+1=em)Igem=-(Em-Vi)/zem;printf( Ig%d0=%.4fn ,em,Igem); printf(*n4、各支路电流为 n );for (m=0;ma;m+)i=count0m-1;j=count1m-1;Ii=(Vj-Vi)/zij;printf( I%d%d=%.4fn ,count1m,count0m,Ii);/* 储存文件 *

37、 printf( 是否保存文件,保存请按,不保存按 );scanf( %d,&g);switch (g)case 1: char outputname20;printf(5 、你输入一个文件名用以保存数据 n );scanf(%s ,outputname);fp=fopen(outputname, w+ );fprintf(fp,计算结果如下: n1 、节点导纳矩阵 : );for (i=0;in;i+)fprintf(fp, n );for (j=0;jn;j+)if (Yij=0)fprintf(fp, );else- 25 -fprintf(fp, %8.4f ,Yij);fprintf

38、(fp, n2 、节点阻抗矩阵 : );for (i=0;in;i+) fprintf(fp,n );for (j=0;jn;j+)fprintf(fp,%7.4f ,Zij);fprintf(fp,n3 、短路节点是 :%d ,f);fprintf(fp,n4 、短路电流 :If=%.4f,If);fprintf(fp,n5 、各节点电压 :n );for (i=0;in;i+)if (if-1)fprintf(fp,V%d=%.4ft ,i+1,Vi);elsefprintf(fp,V%d=0t ,i+1,Vi);fprintf(fp, n6 、发电机支路电流如下 :n );for (m=

39、0;mtimes;m+)for (i=0;in;i+)if (i+1=em) Igem=-(Em-Vi)/zem;fprintf(fp, Ig%d0=%.4fn ,em,Igem);fprintf(fp, n6 、各支路电流 :n );for (m=0;mVj)Ii=(Vj-Vi)/zij;fprintf(fp, I%d%d=%.4ft ,count0m,count1m,Ii); else Ii=(Vi-Vj)/zij;fprintf(fp, I%d%d=%.4ft ,count1m,count0m,Ii); fclose(fp);break ;- 26 -/*短路计算完成,选择操作 */ p

40、rintf(*n );printf( 短路计算已经完成,请选择下列操作 n 新建一个系统请按printf(n 加载已保存的系统请按 n 更改原系统短路点请按 );printf(n 退出请按 );scanf(%d,&butn);system(cls );switch(butn);case 1:create();break ; case 2: load();break ; case 3: change(name);break ; case 4:quit();break ;void create()char name20;char answer;FILE *fp;int n,a,f,i=0,j=0,

41、sd,md,butn,times,nodeexist; /n,a,f 分别为节点数、 短路点支路数、float dk; int e10;float ae10;float b10;/ 储存发电机接入节点/ 对应的发电机电势/ 发电机支路电抗printf( 请输入您想要创建系统名称 ( 如xx.txt)scanf( %s ,name);输入系统参数printf( 请输入系统的节点数,支路数,故障节点scanf( %d%d%d,&n,&a,&f);fp=fopen(name,w+ );fprintf(fp, 系统参数如下所示 :nn );用以保存系统参数 n ); / 输入文件名n );- 27 -

42、fprintf(fp, 1. 系统的节点数为 %dn2. 系统的支路数为 %dn3. 系统的短路点 为 %dnn ,n,a,f);fprintf(fp, 支路电抗参数如下 n );printf( 请输入支路首端号、支路末端号、支路电抗值 n );for (i=0;ia;i+)scanf( %d%d%f,&sd,&md,&dk);fprintf(fp,z%d %d=%.4ft ,sd,md,dk);发电机电抗 */fprintf(fp, nn 发电机接入点及其电抗如下: ); printf( 请输入发电机台数: n );scanf(%d ,×);printf( 请输入发电机接入点、电势

43、以及支路电抗n );for (i=0;itimes;i+)scanf( %d%f%f,&ei,&aei,&bi);fprintf(fp, 共 %d台发电机进入系统 n ,times);写入文件 *for (i=0;itimes;i+) printf( %fn ,aei); getch();for (i=0;itimes;i+)fprintf(fp,fprintf(fp,z%d=%.4ft ,ei,bi);n );for (i=0;itimes;i+)fprintf(fp,/*e%d=%.4ft ,ei,aei); 节点对地电容 */printf( 请输入电容支路数 n ); scanf( %d

44、,×);printf( 请输入电容所在节点,对地电抗值 n ); for (i=0;itimes;i+)scanf(%d%f ,&ei,&bi);fprintf(fp, n 共 %d个节点有接地电容 n ,times); for (i=0;itimes;i+) fprintf(fp, Y%d=%ft ,ei,bi);fclose(fp);选择操作 */printf( 接下来你希望 n 短路计算请按 n 退出请按 n ); scanf( %d ,&butn);system( cls );switch (butn) case 1:calculate(name);- 28 - break ;case 2:quit(); break ;void change( char name20) FILE *fp; / 文件指针int n,a,f,fnew;printf( 请输入新的短路节点 );scanf( %d ,&fnew); fp=fopen(name, r+ );fscanf(fp, 系统参数如下

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论