
电分课设报告--电力系统短路故障的计算机-算法程序设计.doc
15页2008-2009学年度第一学期课程设计 电力系统短路故障的计算机算法程序设计姓 名 学 号 班 级 05级电气(2)班 指导教师 谭 亲 跃 1.课程设计说明: 根据所给的电力系统,编制短路电流计算程序,通过计算机进行调试,最后完成一个切实可行的电力系统计算应用程序通过自己设计电力系统计算程序使同学们对电力系统分析有进一步理解,同时加强计算机实际应用能力的训练2.选择所用计算机语言的理由我们使用的是第四代计算机语言的MATLAB,利用其丰富的函数资源,它的优点如下: 1语言简洁紧凑,使用方便灵活,库函数极其丰富MATLAB程序书写形式自由,利用起丰富的库函数避开繁杂的子程序编程任务,压缩了一切不必要的编程工作由于库函数都由本领域的专家编写,用户不必担心函数的可靠性可以说,用MATLAB进行科技开发是站在专家的肩膀上 具有FORTRAN和C等高级语言知识的读者可能已经注意到,如果用FORTRAN或C语言去编写程序,尤其当涉及矩阵运算和画图时,编程会很麻烦例如,如果用户想求解一个线性代数方程,就得编写一个程序块读入数据,然后再使用一种求解线性方程的算法(例如追赶法)编写一个程序块来求解方程,最后再输出计算结果。
在求解过程中,最麻烦的要算第二部分解线性方程的麻烦在于要对矩阵的元素作循环,选择稳定的算法以及代码的调试动不容易即使有部分源代码,用户也会感到麻烦,且不能保证运算的稳定性解线性方程的程序用FORTRAN和C这样的高级语言编写,至少需要四百多行,调试这种几百行的计算程序可以说很困难以下用MATLAB编写以上两个小程序的具体过程MATLAB求解下列方程,并求解矩阵A的特征值Ax=b,其中:A= 32 13 45 67 23 79 85 12 43 23 54 65 98 34 71 35b= 1 2 3 4解为:x=A\b;设A的特征值组成的向量e,e=eig(A) 可见,MATLAB的程序极其简短更为难能可贵的是,MATLAB甚至具有一定的智能水平,比如上面的解方程,MATLAB会根据矩阵的特性选择方程的求解方法,所以用户根本不用怀疑MATLAB的准确性2)运算符丰富由于MATLAB是用C语言编写的,MATLAB提供了和C语言几乎一样多的运算符,灵活使用MATLAB的运算符将使程序变得极为简短3)MATLAB既具有结构化的控制语句(如for循环,while循环,break语句和if语句),又有面向对象编程的特性。
4)程序限制不严格,程序设计自由度大例如,在MATLAB里,用户无需对矩阵预定义就可使用5)程序的可移植性很好,基本上不做修改就可以在各种型号的计算机和操作系统上运行6)MATLAB的图形功能强大在FORTRAN和C语言里,绘图都很不容易,但在MATLAB里,数据的可视化非常简单MATLAB还具有较强的编辑图形界面的能力7)MATLAB的缺点是,它和其他高级程序相比,程序的执行速度较慢由于MATLAB的程序不用编译等预处理,也不生成可执行文件,程序为解释执行,所以速度较慢8)功能强大的工具箱是MATLAB的另一特色MATLAB包含两个部分:核心部分和各种可选的工具箱核心部分中有数百个核心内部函数其工具箱又分为两类:功能性工具箱和学科性工具箱功能性工具箱主要用来扩充其符号计算功能,图示建模仿真功能,文字处理功能以及与硬件实时交互功能功能性工具箱用于多种学科而学科性工具箱是专业性比较强的,如control,toolbox,signl proceessing toolbox,commumnication toolbox等这些工具箱都是由该领域内学术水平很高的专家编写的,所以用户无需编写自己学科范围内的基础程序,而直接进行高,精,尖的研究。
9)源程序的开放性开放性也许是MATLAB最受人们欢迎的特点除内部函数以外,所有MATLAB的核心文件和工具箱文件都是可读可改的源文件,用户可通过对源文件的修改以及加入自己的文件构成新的工具箱3. 程序主框图及主要数据变量说明例6-3的数据,线路的电阻和电容略去不计,电压器的标么变比等于参数:z12=J0.105, z45=J0.184,z24=J0.08,z23=J0.065,z34=J0.05Y11=-J16.1905,Y12=J905238,Y21=J905238,Y22-J37.4084,Y23=J15.3846,Y24=J12.500,Y32=J15.3846,Y33=-J35.3846,Y34=J20.000,Y42=J15.5000,Y43=-J37.9348,Y45=J5.4348,Y54=J5.4348,Y55=-J9.9802 (1)电路图:(2)流程图: 输入数据形成节点导纳矩阵选择故障点If输入数据计算节点阻抗矩阵If列元素用公式(6-10)计算短路电流If If=1/(Zff+zf)z电流If用公式(6-11)计算各点电压 Vi=1-Zif/( Zff+zf)用公式(6-9)计算指定支路的电路 Ipq=(Kvp-Vq)/zpq输出结果Y=0 -16.1905i 0 + 9.5238i 0 0 0 0 + 9.5238i 0 -37.4084i 0 +15.3846i 0 +12.5000i 0 0 0 +15.3846i 0 -35.3846i 0 +20.0000i 0 0 0 +12.5000i 0 +20.0000i 0 -37.9348i 0 + 5.4348i 0 0 0 0 + 5.4348i 0 - 9.9802i 采用4-3节的方法Z=0 + 0.1181i 0 + 0.0958i 0 + 0.0902i 0 + 0.0858i 0 + 0.0467i 0 + 0.0958i 0 + 0.1629i 0 + 0.1533i 0 + 0.1459i 0 + 0.0794i 0 + 0.0902i 0 + 0.1533i 0 + 0.1860i 0 + 0.1611i 0 + 0.0877i 0 + 0.0858i 0 + 0.1459i 0 + 0.1611i 0 + 0.1729i 0 + 0.0941i 0 + 0.0467i 0 + 0.0794i 0 + 0.0877i 0 + 0.0941i 0 + 0.1515i 计算电流及网络中的电流分布If=Viˊ/Zii=1/Zii V1ˊ=V2ˊ=V3ˊ=V4ˊ=V5ˊ=1 (注意:Vi=0)V1=V1ˊ-Z1i*IfV2=V2ˊ-Z2i*IfV3=V3ˊ-Z3i*IfV4=V4ˊ-Z4i*IfV5=V5ˊ-Z5i*IfI54=(V5-V4)/z45I43=(V4-V3)/z43I23=(V2-V3)/z23I12=(V1-V2)/z12I24=(V2-V4)/z424.程序及说明程序如下:jd=input('please input jd=');if jd==1Y=[-16.1905j, 9.5238j, 0, 0 , 0; 9.5238j, 37.4084j, 15.3846j, 12.5000j, 0; 0, 15.3846j, -35.3846j, 20.000j, 0; 0, 12.5000j, 20.000j, -37.9348j, 5.4348j; 0,0,0,5.4348j,-9.9802j]inv(Y)I=1/0.1181iV1=0V2=1-0.0958i*IV3=1-0.0902i*IV4=1-0.0858i*IV5=1-0.0467i*II54=(V5-V4)/0.184iI43=(V4-V3)/0.05iI23=(V2-V3)/0.065iI12=(V1-V2)/0.105iI24=(V2-V4)/0.08ielseif jd==2Y=[-16.1905j, 9.5238j, 0, 0 , 0; 9.5238j, 37.4084j, 15.3846j, 12.5000j, 0; 0, 15.3846j, -35.3846j, 20.000j, 0; 0, 12.5000j, 20.000j, -37.9348j, 5.4348j; 0,0,0,5.4348j,-9.9802j]inv(Y)I=1/0.1629iV1=1-0.0958i*IV2=0V3=1-0.1533i*IV4=1-0.1459i*IV5=1-0.0794i*II54=(V5-V4)/0.184iI43=(V4-V3)/0.05iI23=(V2-V3)/0.065iI12=(V1-V2)/0.105iI24=(V2-V4)/0.08ielseif jd==3Y=[-16.1905j, 9.5238j, 0, 0 , 0; 9.5238j, 37.4084j, 15.3846j, 12.5000j, 0; 0, 15.3846j, -35.3846j, 20.000j, 0; 0, 12.5000j, 20.000j, -37.9348j, 5.4348j; 0,0,0,5.4348j,-9.9802j]inv(Y)I=1/0.1860iV1=1-0.0902i*IV2=1-0.1533i*IV3=0V4=1-0.1611i*IV5=1-0.0877i*II54=(V5-V4)/0.184iI43=(V4-V3)/0.05iI23=(V2-V3)/0.065iI12=(V1-V2)/0.105iI24=(V2-V4)/0.08ielseif jd==4Y=[-16.1905j, 9.5238j, 0, 0 , 0; 9.5238j, 37.4084j, 15.3846j, 12.5000j, 0; 0, 15.3846j, -35.3846j, 20.000j, 0; 0, 12.5000j, 20.000j, -37.9348j, 5.4348j; 0,0,0,。
