您好,欢迎访问三七文档
当前位置:首页 > 建筑/环境 > 工程监理 > 课题组前期培训任务一三阶段-2013.8.26zm阅
课题组前期培训任务一————潮流计算阶段三作者刘珏麟指导老师颜伟余娟赵霞培养单位电气工程学院学科专业电力系统及其自动化二○一三年八月目录一、学习MATPOWER3.2提供的潮流计算程序(主函数为runpf.m),与自己所编制的潮流程序进行对比:....................................................................................................................................................3(1)正确性...................................................................................................................................3(2)通用性...................................................................................................................................3(3)代码量...................................................................................................................................3(4)执行效率...............................................................................................................................3(5)输入输出接口.......................................................................................................................4(6)可读性...................................................................................................................................4二、以MATPOWER3.2为模板,改进阶段二的潮流程序。..............................................................4三、学习PSASP软件中的潮流计算模块,与自己所编制的潮流程序进行对比。........................11(1)正确性.................................................................................................................................11(2)通用性.................................................................................................................................11(3)输入输出接口.....................................................................................................................11四、根据发电机节点和负荷节点的电压要求,对网络1进行调压。给出至少三种不同类型的调压方案及相应的潮流计算结果..........................................................................................................................11一、学习MATPOWER3.2提供的潮流计算程序(主函数为runpf.m),与自己所编制的潮流程序进行对比:(1)正确性matpower3.2做为众多学者的心血和结晶,总体上来说,保证其正确性是基本的要求。我所编写的潮流程序,每一步都是与手算过程一一对应的,也都是按照书上和老师课件上的潮流计算步骤编写的,所以在原理上可以保证其正确性。但自己的matlab编程才刚刚起步,所以编写的程序存在一些漏洞在所难免,所以并不能保证程序本身的正确性。但由于我的程序是以铭牌值为输入量,所以在程序正确的情况下结果会更加准确。(2)通用性我编写的程序最大的问题就是不具有通用性,都是完全针对本次潮流计算题目编写的程序。仔细分析,我觉得其实我编写的程序在用牛顿法解潮流的部分还是具有一定的通用性的。由于这部分大部分的计算是重复的,可以通过循环计算实现其通用性,比如,功率的不平衡量计算部分是具有通用性的,雅可比计算也可以同过一些调整使其具有通用性。(3)代码量由于我的程序不具有通用性,并且没有考虑任何其他可能发生的错误,只考虑的潮流计算题目中的变量,所以我编写的程序代码量比matpower小很多,但如果题目更加复杂的话,按照我编程的思路会大大增加程序的代码量,而matpower所使用的代码量是相对固定,当潮流特别复杂的时候,所需要的代码量必然会超过matpower。(4)执行效率由于潮流计算题目的计算量不大,迭代次数不多,针对这个题目本身来说,我编写的程序和matpower比较差别并不是特别大。但如果计算量大了之后,按照我编写的思路,完全没有用到matlab语言中一些相对高级一些的语言,每一步都相对独立,使用的循环和计算方法的效率都相对较低的问题就会显现出来。(5)输入输出接口我感觉我编写的程序输入输入接口并不明显,在编写的时候也没有特别考虑这个问题。我编写的程序输入量是铭牌编号,所以还要通过参数计算才能得到节点和线路参数的有名值和标幺值再参与计算,输出也是在程序计算中直接得到结果,并没有像matpower那样通过读取文件实现输入并将结果以文件形式集中保存并输出,所以思路没有matpower那么严谨,输入输出都显得比较分散。(6)可读性我认为由于我编写的程序用的语言都比较简单,而且思路跟书本上完全一样,所以比起复杂的matpower程序更容易读懂,像我这样的matlab菜鸟也可以很容易读懂。而matpower作为成熟的工具包,里面用了一些比较不常见的函数,没有一定matlab基础读起来会比较困难,不好理解,所以我认为在在程序内容上可读性上我的程序应该会比较好一些。但由于输入输出接口不明显,所以输入和结果可读性比较弱,需要对程序了解的人才能知道输出结果。二、以MATPOWER3.2为模板,改进阶段二的潮流程序。formatcompactbaseMVA=100;%节点数PV节点数交流线路数直流线路数发电机数s1=[71702];%线路编号起节点名终节点名电阻电抗B/2变比s2=[1260.0054750.04440.0355711;2360.00330.026650.0213411;3230.00440.035540.0284611;4120.00110.05690115.75/220;5730.00120.0769011;6740.00075077-0.005301.1110/220;7750.000792440.050801.0510/220];%发电机编号发电机所在节点名有功无功s3=[111.50;2600];%节点编号节点名称基准电压节点类型负荷有功无功初始电压相角节点电导电纳s5=[11220.020.0000000.0000001.00.00.001896-0.0073554;22220.01-1.000000-1.0000001.00.000;33220.010.0000000.0000001.00.000;44220.01-1.000000-0.8000001.00.000;55220.01-0.200000-0.1500001.00.000;66220.030.0000000.0000001.00.000;77220.010.0000000.0000001.00.00.0007475-0.0007992];%低压侧节点编号高压侧节点编号变比s6=[1215.75/220;47110/220;5710/220];%计算节点导纳矩阵Y------------------------------------------------------Y=[];c=zeros(s1(1),1);%s1(1)为节点数,c对各个节点对地导纳的初值设为0j=sqrt(-1);fork=1:s1(3)%交流线路数m=s2(k,2);n=s2(k,3);bk=s2(k,7);%bk为标准变比zt=s2(k,4)+s2(k,5)*j;Y(m,n)=-1/(zt*bk);Y(n,m)=-1/(zt*bk);c(m)=c(m)+s2(k,6)*j+(bk-1)/(bk*zt);%计算节点m的对地导纳c(n)=c(n)+s2(k,6)*j+(1-bk)/(bk^2*zt);%计算节点n的对地导纳endb=-sum(Y,2)+c+s5(:,9)+s5(:,10)*j;fork=1:s1(1)Y(k,k)=b(k);endY;G=real(Y);B=imag(Y);%输入节点电压初值,并计算节点注入功率-----------------------------------u=s5(:,7);theta=s5(:,8);%各类节点的个数PQJD=sum(s5(:,4)==1);PVJD=sum(s5(:,4)==2);PHJD=sum(s5(:,4)==0);PS=s5(:,5);QS=s5(:,6);fork=1:s1(5)PS(s3(k,2))=s5(s3(k,2),5)+s3(k,3);QS(s3(k,2))=s5(s3(k,2),6)+s3(k,4);endPS;QS;%PS、QS所有节点(包括PQ、PV、PH)的给定注入功率%将外部数据映射到内核中---YNGNBNEFPSNQSN--------------------%对节点导纳矩阵Y先换行再换列,形成YNnn=1;mm=PQJD+1;Vm=zeros(s1(1),1);Va=zeros(s1(1),1);PSN=zeros(s1(1),1);QSN=zeros(s1(1),1);YM=zeros(size(Y));fork=1:s1(1)ifs5(k,4)==3Vm(s1(1))=u(k);%平衡节点只有一个所以直接输出到E的最后一个元素Va(s1(1))=theta(k);PSN(s1(1))=PS(k);QSN(s1(1))=QS(k);YM(s1(1),:)=Y(k,:);elseifs5(k,4)==1Vm(nn)=u(k);Va(nn)=theta(k);PSN(nn)=PS(k);QSN(nn)=QS(k);YM(nn,:)=Y(k,:);nn=nn+1;elseifs5(k,4)==2Vm(mm)=u(k);Va(mm)=theta(k);PSN(mm)=PS(k);QSN(mm)=QS(k);YM(mm,:)=Y(k,:);mm=mm+1;elseendend%%对节点导纳矩阵Y再换列,形成YNnn=1;mm=PQJD+1;YN=zeros(size(Y));fork=1:s1(1)ifs5(k,4)==3YN(:,s1(1))=YM(:,k);elseifs5(k,4)==1YN(:,nn)=YM(:,k
本文标题:课题组前期培训任务一三阶段-2013.8.26zm阅
链接地址:https://www.777doc.com/doc-6690776 .html