华北电力大学潮流计算上机实验

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

《电力系统潮流上机》课程设计报告
院系:电气与电子工程学院
班级:电气1006
学号
学生姓名:
指导教师:***
设计周数:两周
成绩:
日期:2013 年1 月10 日
一、 目的与要求
培养学生的电力系统潮流计算机编程能力,掌握计算机潮流计算的相关知识
二、 主要内容
1. 手算.要求应用牛顿-拉夫逊法或P-Q 分解法手算求解,要求精度为0.001MW 。

节点1
为平衡节点,电压︒∠=00.11
U ,节点2为PQ 节点,负荷功率6.08.0~
2j S +=,节点3是PV 节点,1.1,4.033==U P ,两条支路分别为
04.001.013j Z +=,
2.005.012j Z +=,对地支路3
3.030j y =。

2. 计算机计算(详见附录)
3. 思考题
3.1潮流计算的方法有哪些?各有何特点?
答:潮流计算分为手算和机算两大类,其中机算又有高斯-赛德尔迭代法、牛顿-拉夫逊迭代法、P-Q 分解法等算法。

迭特点:
手算求解潮流一般只用在简单的网络中,其计算量大,对于多节点的网络用手算一般难以解决问题,但通过手算可以加深物理概念的理解,还可以在运用计算机计算前以手算求取某些原始数据。

高斯-赛德尔迭代法:算法简单,对初值的要求不高,但需要迭代的次数多,收敛的速度慢,在早期的潮流计算程序中应用很多,之后逐渐被牛顿-拉夫逊迭代法所取代,但仍可作为计算程序前几次迭代的算法,以弥补后者对初值要求高的缺点。

牛顿-拉夫逊迭代法:是常用的解非线性方程组的方法,也是当前广泛采用的计算潮流的方法,其收敛速度快,几次迭代就可以得到最终的结果。

但其缺点是要求初值的选择得比较接近它们的精确值,否则迭代过程可能不收敛。

P-Q 分解法潮流计算:派生于以极坐标表示时的牛顿-拉夫逊法,其根据电力系统的特点,对后者的修正方程做了简化,P-Q 分解法的系数矩阵B ’和B ”代替了牛拉法中的雅可比矩阵J ,阶数降低,其中的元素在迭代过程中不发生变化,而且元素对称,这些都大大提高了运算速度,而且精确度几乎不受影响。

P-Q 分解法的收敛特性接近于直线,而牛顿-拉夫逊的收敛速度要比P-Q 分解法快, 但是由于牛顿-拉夫逊每次迭代都要形成雅客比矩阵,所以一次代的时间比P-Q 分解法长。

3.2如果交给你一个任务,请你用已有的潮流计算软件计算北京城市电网的潮
流,你应该做哪些工作?(收集哪些数据,如何整理,计算结果如何分析 答:
(1)所需要收集的数据:
A.电网中所有节点的数据:
a.各节点的类型,包括平衡节点、PV 节点、PQ 节点;b. 对于平衡节点要了解节点的电压大小相位、及节点所能提供的最大最小有功无功功率;c. PV节点要知道节点电压大小注入有功功率及节点所能提供的最大和最小无功功.率;d. PQ节点要知道节点的注入有功和无功功率
B.电网中所有支路的数据:
a.各支路类型,即是否含有变压器;
b.各支路的电阻、电感、电纳;
c.各变压器的变比。

(2)数据整理:将上述数据资料进行分类整理,并为每个节点及支路编上编号。

将整理的结果写成本实验中所要求的格式(原始数据的 txt 文档),再用本实验所编制的程序进行求解,得到各节点电压、相位,各线路传输功率、损耗,平衡节点注入功率等数值。

(3)计算结果分析:可以大致了解整个电网的运行状况并按照电力系统知识依次进行所需的调整。

如调节各节点电压的大小以防止超出规定限度,调整各线路的有功无功分布状况分析整个系统的网损是否达到标准等。

3.3设计中遇到的问题和解决的办法。

1)设计中遇到是对C++部分指令的不熟悉,通过老师讲解、看书和向他人询问减小了编程语言上的障碍;
2)在设计中,由于一开始知识脉络以及思维脉络都不是很清晰,导致在程序设计过程中的各种误操作,例如在写不平衡量的时候对定义数组的下脚标标注不清。

最好经过老师的教导和我们自己的仔细排查,终于排除掉各类错误,得到结果。

在形成雅克比矩阵的过程中,存在雅克比矩阵的坐标与节点的坐标对应和转化的问题。

附录(设计流程图、程序、表格、数据等)一、流程图
二、程序
/*
Purpose: for undergraduate power flow calculation course Example2
Author: Sun Yingyun
Date: 9-Jun-2010
Version: 1.0.0
This class is to help the students to solve pf problems. */
#include"pf.h"
using namespace std;
pf::pf(void)
{
m_Line = NULL;
m_Bus = NULL;
m_Bus_newIdx = NULL;
m_pv_Num = 0;
m_sw_Num = 0;
m_pq_Num = 0;
}
pf::~pf(void)
{
if (m_Line!=NULL) delete [] m_Line;
if (m_Bus!=NULL) delete [] m_Bus;
if (m_Bus_newIdx!=NULL) delete[] m_Bus_newIdx;
int pf::readDataFromFile(string fileName)
{
string strLine,strTemp;
ifstream fin;
// open file for read;
fin.open(fileName.c_str());
if(!fin.fail())
{
// 1. read SBase;
getline(fin,strLine);
strTemp.assign(strLine,31,6);
m_SBase = atof(strTemp.c_str());
// 2. read Bus Data here ;
// 2.1 read Bus num;
getline(fin,strLine);
size_t pos_begin, pos_end;
pos_begin = strLine.find("FOLLOWS");
pos_begin = pos_begin + size_t(10);
pos_end = strLine.find("ITEM");
strTemp = strLine.substr(pos_begin, pos_end - pos_begin);
m_Bus_Num = atoi(strTemp.c_str());//读入节点个数
cout<<"系统共有"<<m_Bus_Num<<"个节点"<<endl ;
cout<<"Type"<<setw(6)<<"V"<<setw(7)<<"Theta"<<setw(7)
<<"LoadP"<<setw(7)<<"LoadQ"<<setw(7)
<<"GenP"<<setw(7)<<"GenQ"<<setw(9)<<"ShuntB"
<<setw(9)<<"ShuntG"<<endl;
// 2.2 read each bus data here
// allocate memory for m_Bus(为节点数据定义数组)
m_Bus = new Bus[m_Bus_Num]; //建立结构体保存节点数据
m_Bus_newIdx = new int[m_Bus_Num];
for (int i = 0; i<m_Bus_Num; i++)
{
getline(fin,strLine);
strTemp = strLine.substr(0,4);
// read bus num
m_Bus[i].Num = atoi(strTemp.c_str());
// read bus Name;
strTemp = strLine.substr(5,7);
m_Bus[i].Name = strTemp;
// read bus type PQ: Type = 1; PV: Type = 2; swing: Type = 3;
strTemp = strLine.substr(24,2);
if (atoi(strTemp.c_str())<=1)
{
m_Bus[i].Type = 1;
m_pq_Num ++;
}
else if(atoi(strTemp.c_str())==2)
{
m_Bus[i].Type = 2;
m_pv_Num ++;
}
else if(atoi(strTemp.c_str())==3)
{
m_Bus[i].Type = 3;
m_sw_Num ++;
}
strTemp = strLine.substr(27,6);
m_Bus[i].V = atof(strTemp.c_str());//读入节点电压V
strTemp = strLine.substr(33,6);
m_Bus[i].theta = atof(strTemp.c_str());//读入节点相角
strTemp = strLine.substr(39,9);
m_Bus[i].LoadP = atof(strTemp.c_str());//读入节点有功负荷
strTemp = strLine.substr(49,10);
m_Bus[i].LoadQ = atof(strTemp.c_str());//读入节点无功负荷
strTemp = strLine.substr(59,8);
m_Bus[i].GenP = atof(strTemp.c_str());//读入节点电压V
strTemp = strLine.substr(67,8);
m_Bus[i].GenQ= atof(strTemp.c_str());//读入节点电压V
strTemp = strLine.substr(114,8);
m_Bus[i].ShuntB = atof(strTemp.c_str());//input into ShuntB in system strTemp = strLine.substr(106,8);
m_Bus[i].ShuntG = atof(strTemp.c_str());//input into ShuntG in system
cout<<m_Bus[i].Type<<setw(7)<<m_Bus[i].V<<setw(7)<<m_Bus[i].theta<<setw(7) <<m_Bus[i].LoadP<<setw(7)<<m_Bus[i].LoadQ<<setw(9)
<<m_Bus[i].GenP<<setw(9)<<m_Bus[i].GenQ<<setw(9)<<m_Bus[i].ShuntB
<<setw(6)<<m_Bus[i].ShuntG<<endl;
}
// 3. read Line Data here ;
// 3.1 read Line num;
getline(fin,strLine);
getline(fin,strLine);
pos_begin = strLine.find("FOLLOWS");
pos_begin = pos_begin + size_t(10);
pos_end = strLine.find("ITEM");
strTemp = strLine.substr(pos_begin, pos_end - pos_begin);
m_Line_Num = atoi(strTemp.c_str());
m_Line = new Line[m_Line_Num];
for (int i = 0; i<m_Line_Num; i++)
{
getline(fin,strLine);
strTemp = strLine.substr(0,4);
m_Line[i].NumI = atoi(strTemp.c_str());
strTemp = strLine.substr(5,4);
m_Line[i].NumJ = atoi(strTemp.c_str());// read line
strTemp = strLine.substr(19,10);
m_Line[i].R= atof(strTemp.c_str());// read bus R;
strTemp = strLine.substr(29,10);
m_Line[i].X= atof(strTemp.c_str());// read bus X;
strTemp = strLine.substr(40,11);
m_Line[i].B= atof(strTemp.c_str());// read bus B;
m_Line[i].K=1; // read bus K;
strTemp = strLine.substr(18,1);
m_Line[i].Type= atoi(strTemp.c_str());// read bus Type
}
// 4. close the file;
fin.close();
}
else
cout<<"file open fail!"<<endl;
return 0;
}
//重新编号pq、pv、sw
int pf::initPFData()
{
// according to Page 132 of ref book 3,
// reindex the bus num ase the sequence [PQ PV SW];
int iPQ,iPV,iSW;
iPQ = 0;
iPV = 0;
iSW = 0;
int i;
for( i = 0; i<m_Bus_Num; i++)
{
switch (m_Bus[i].Type)
{
case 1:
m_Bus_newIdx[i] = iPQ;
iPQ++;
break;
case 2:
m_Bus_newIdx[i] = iPV + m_pq_Num;
iPV++;
break;
case 3:
m_Bus_newIdx[i] = iSW + m_pq_Num + m_pv_Num;
iSW++;
break;
}
}
for (i =0; i<m_Bus_Num; i++)
cout<<m_Bus_newIdx[i]<<endl;//输出新的节点编号// here we give the size of Jacobi matrix;
//分别给出jacobi矩阵和B\G矩阵的空间
m_Jacobi.setSize(2*m_pq_Num+m_pv_Num,2*m_pq_Num+m_pv_Num);
m_Matrix_B.setSize( m_Bus_Num,m_Bus_Num);
m_Matrix_G.setSize(m_Bus_Num,m_Bus_Num);
return 0;
}
//
int pf::getBusIdx(int busNum)
{
// return the index of bus from busNum
int i,idx = -1;
for (i = 0; i<m_Bus_Num; i++)
{
if (m_Bus[i].Num == busNum)
idx = i;
}
return idx;
}
//做jacobi矩阵
int pf::makeYMatrix()
{
//做导纳矩阵
int ii,jj;
double YG,YB;
double Z2;
for(int i=0;i<m_Line_Num;i++)
{
ii=m_Line[i].NumI-1;
jj=m_Line[i].NumJ-1;
Z2= m_Line[i].R*m_Line[i].R+ m_Line[i].X*m_Line[i].X;
YG=m_Line[i].R/Z2;
YB=-1*m_Line[i].X/Z2;
m_Matrix_G(ii,ii)+=YG;
m_Matrix_B(ii,ii)+=YB+m_Line[i].B/2;
m_Matrix_G(jj,jj)+=YG;
m_Matrix_B(jj,jj)+=YB+m_Line[i].B/2;
m_Matrix_G(ii,jj)-=YG;
m_Matrix_B(ii,jj)-=YB;
m_Matrix_G(jj,ii)-=YG;
m_Matrix_B(jj,ii)-=YB;
}
m_Matrix_B.outputMatrix();
m_Matrix_G.outputMatrix();
return 0;
}
//做jacobi矩阵
int pf::makeJacobi()
{
// TODO
int i,j,k=0,l=0,n=0,h;
struct Bus a[9];
int b[9];
for(i=0;i<m_Bus_Num;i++)
{
if(m_Bus[i].Type==1)
{
a[k]=m_Bus[i];
b[k]=i;
k++;
}
if(m_Bus[i].Type==2)
{
a[l+m_pq_Num]=m_Bus[i];
b[l+m_pq_Num]=i;
l++;
}
if(m_Bus[i].Type==3)
{
a[n+m_pq_Num+m_pv_Num]=m_Bus[i];
b[n+m_pq_Num+m_pv_Num]=i;
n++;
}
}
//计算jacobi矩阵中A区元素
for(i=0;i<k;i++)
{
for(j=0;j<k;j++)
{
if(i==j)
{
for(h=0;h<m_Bus_Num;h++)
{
if(h!=i)
{
m_Jacobi(2*i,2*i)+=a[i].V*a[h].V*(m_Matrix_G(b[i],b[h])*sin(a[i].theta*3.14/180-a[h].th eta*3.14/180)-m_Matrix_B(b[i],b[h])*cos(a[i].theta*3.14/180-a[h].theta*3.14/180));
m_Jacobi(2*i,2*i+1)-=a[i].V*a[h].V*(m_Matrix_G(b[i],b[h])*cos(a[i].theta*3.14/180-a[h].theta *3.14/180)+m_Matrix_B(b[i],b[h])*sin(a[i].theta*3.14/180-a[h].theta*3.14/180));
m_Jacobi(2*i+1,2*i)-=a[i].V*a[h].V*(m_Matrix_G(b[i],b[h])*cos(a[i].theta*3.14/180-a[h].theta *3.14/180)+m_Matrix_B(b[i],b[h])*sin(a[i].theta*3.14/180-a[h].theta*3.14/180));
m_Jacobi(2*i+1,2*i+1)-=a[i].V*a[h].V*(m_Matrix_G(b[i],b[h])*sin(a[i].theta*3.14/180-a[h].the ta*3.14/180)-m_Matrix_B(b[i],b[h])*cos(a[i].theta*3.14/180-a[h].theta*3.14/180));
}
else
continue;
}
m_Jacobi(2*i,2*i+1)-=2*a[i].V*a[i].V*m_Matrix_G(b[i],b[i]);
m_Jacobi(2*i+1,2*i+1)+=2*a[i].V*a[i].V*m_Matrix_B(b[i],b[i]);
}
else
{
m_Jacobi(2*i,2*j)=-a[i].V*a[j].V*(m_Matrix_G(b[i],b[j])*sin(a[i].theta*3.14/180-a[j].th eta*3.14/180)-m_Matrix_B(b[i],b[j])*cos(a[i].theta*3.14/180-a[j].theta*3.14/180));
m_Jacobi(2*i,2*j+1)=-a[i].V*a[j].V*(m_Matrix_G(b[i],b[j])*cos(a[i].theta*3.14/180-a[j]. theta*3.14/180)+m_Matrix_B(b[i],b[j])*sin(a[i].theta*3.14/180-a[j].theta*3.14/180));
m_Jacobi(2*i+1,2*j)=a[i].V*a[j].V*(m_Matrix_G(b[i],b[j])*cos(a[i].theta*3.14/180-a[j].theta* 3.14/180)+m_Matrix_B(b[i],b[j])*sin(a[i].theta*3.14/180-a[j].theta*3.14/180));
m_Jacobi(2*i+1,2*j+1)=-a[i].V*a[j].V*(m_Matrix_G(b[i],b[j])*sin(a[i].theta*3.14/180-a[j ].theta*3.14/180)-m_Matrix_B(b[i],b[j])*cos(a[i].theta*3.14/180-a[j].theta*3.14/180));
}
}
}
//计算jacobi矩阵中B区的元素
for(i=k;i<k+l;i++)
{
for(j=k;j<k+l;j++)
{
if(i==j)
{
for(h=0;h<m_Bus_Num;h++)
{
if(i!=h)
{
m_Jacobi(i+k,i+k)+=a[i].V*a[h].V*(m_Matrix_G(b[i],b[h])*sin(a[i].theta*3.14/180-a[h].th eta*3.14/180)-m_Matrix_B(b[i],b[h])*cos(a[i].theta*3.14/180-a[h].theta*3.14/180));
}
else
continue;
}
}
else
m_Jacobi(k+i,k+j)=-a[i].V*a[j].V*(m_Matrix_G(b[i],b[j])*sin(a[i].theta*3.14/180-a[j].th eta*3.14/180)-m_Matrix_B(b[i],b[j])*cos(a[i].theta*3.14/180-a[j].theta*3.14/180));
}
}
//计算jacobi矩阵中C区元素
for(i=0;i<k;i++)
{
for(j=k;j<k+l;j++)
{
m_Jacobi(2*i,k+j)=-a[i].V*a[j].V*(m_Matrix_G(b[i],b[j])*sin(a[i].theta*3.14/180-a[j].th eta*3.14/180)-m_Matrix_B(b[i],b[j])*cos(a[i].theta*3.14/180-a[j].theta*3.14/180));
m_Jacobi(2*i+1,k+j)=a[i].V*a[j].V*(m_Matrix_G(b[i],b[j])*cos(a[i].theta*3.14/180-a[j].t heta*3.14/180)+m_Matrix_B(b[i],b[j])*sin(a[i].theta*3.14/180-a[j].theta*3.14/180));
}
}
//计算jacobi矩阵中D区元素
for(i=k;i<k+l;i++)
{
for(j=0;j<k;j++)
{
m_Jacobi(k+i,2*j)=-a[i].V*a[j].V*(m_Matrix_G(b[i],b[j])*sin(a[i].theta*3.14/180-a[j].th eta*3.14/180)-m_Matrix_B(b[i],b[j])*cos(a[i].theta*3.14/180-a[j].theta*3.14/180));
m_Jacobi(k+i,2*j+1)=-a[i].V*a[j].V*(m_Matrix_G(b[i],b[j])*cos(a[i].theta*3.14/180-a[j]. theta*3.14/180)+m_Matrix_B(b[i],b[j])*sin(a[i].theta*3.14/180-a[j].theta*3.14/180));
}
}
m_Jacobi.outputMatrix();
return 0;
}
int pf::solveLF()
{
// TODO
int i;
// 1. initialize
for ( i = 0; i<m_Bus_Num; i++)
{
if(m_Bus[i].Type==1)
{
m_Bus[i].V = 1;
m_Bus[i].theta = 0;
}
if(m_Bus[i].Type==2)
{
m_Bus[i].theta = 0;
}
}
// 2. iterate
double *bph=new double[2*m_pq_Num+m_pv_Num];
int maxIter = 20;
double epsilon=0.000001;
for(int iter=0;iter<maxIter;iter++)
{
int k=0,l=0;
// 2.1 calDeltaS
calcDeltaS(bph);
double error=0;
for(int k=0;k<2*m_pq_Num+m_pv_Num;k++)
{
error+=bph[k]*bph[k];
}
//cout<<"误差"<<error<<endl;
if(error<epsilon)
{
//cout<<iter<<endl;
break;
}
this->makeJacobi();
// 2.2 calJacobi;
m_Jacobi.solve(2*m_pq_Num+m_pv_Num,bph);
for ( i = 0; i<2*m_pq_Num+m_pv_Num; i++)
{
for ( int j = 0; j<2*m_pq_Num+m_pv_Num;j++)
{
m_Jacobi(i,j)=0.0;
}
}
// 2.4 update variables
for ( i = 0; i<m_Bus_Num; i++)
{
if(m_Bus[i].Type==1)
{
m_Bus[i].V -=bph[2*k+1]*m_Bus[i].V;
m_Bus[i].theta -= bph[2*k]*180/3.14;
k++;
}
if(m_Bus[i].Type==2)
{
m_Bus[i].theta -= bph[2*m_pq_Num+l]*180/3.14;
l++;
}
}
outputResult();
//cout<<iter<<endl;
}
// 3. output the result.
outputResult();
return 0;
}
int pf::calcDeltaS(double* bph)
{
// TODO
// calculate the active and reactive power equation and store the result to the double array bph
double deltaP,deltaQ;
double Ui,Uj;
double thetai,thetaj;
int k=0,l=0;
for(int i=0;i<m_Bus_Num;i++)
{
Ui=m_Bus[i].V;
thetai=m_Bus[i].theta*3.14/180;
deltaP=(m_Bus[i].GenP-m_Bus[i].LoadP)/100;
deltaQ=(m_Bus[i].GenQ-m_Bus[i].LoadQ)/100;
for(int j=0;j<m_Bus_Num;j++)
{
Uj=m_Bus[j].V;
thetaj=m_Bus[j].theta*3.14/180;
if(m_Bus[i].Type==1)
{
deltaP-=Ui*Uj*(m_Matrix_G(i,j)*cos(thetai-thetaj)+m_Matrix_B(i,j)*sin(thetai-thetaj));
deltaQ-=Ui*Uj*(m_Matrix_G(i,j)*sin(thetai-thetaj)-m_Matrix_B(i,j)*cos(thetai-thetaj));
}
if(m_Bus[i].Type==2)
{
deltaP-=Ui*Uj*(m_Matrix_G(i,j)*cos(thetai-thetaj)+m_Matrix_B(i,j)*sin(thetai-thetaj));
}
}
if(m_Bus[i].Type==1)
{
bph[k]=deltaP;
bph[++k]=deltaQ;
//cout<<deltaP<<endl;
//cout<<deltaQ<<endl;
k++;
}
if(m_Bus[i].Type==2)
{
bph[l+2*m_pq_Num]=deltaP;
//cout<<deltaP<<endl;
l++;
}
}
for(k=0;k<2*m_pq_Num+m_pv_Num;k++)
cout<<bph[k]<<endl;
return 0;
}
int pf::outputResult()
{
// TODO
for (int i = 0; i<m_Bus_Num; i++)
switch (m_Bus[i].Type)
{
case 1:
cout<<"节点"<<i+1<<"的相角"<<m_Bus[i].theta*3.14/180<<endl;
cout<<"节点"<<i+1<<"的幅值"<<m_Bus[i].V<<endl;
break;
case 2:
cout<<"节点"<<i+1<<"的相角"<<m_Bus[i].theta*3.14/180<<endl;
break;
case 3:
break;
}
return 0;
}
三、表格
导纳矩阵G
0000000
0000000
0000000
000 3.30738-1.36519-1.942190
000-1.36519 2.552790-1.1876
000-1.942190 3.22420
0000-1.18760 2.80473
000000-1.61712
00000-1.282010
导纳矩阵B
-17.36110017.3611000 0-16000016
00-17.06480000
17.361100-39.308911.604110.51070
00011.6041-17.33820 5.97513
00010.51070-15.84090
01600 5.975130-35.4456
00000013.698
0017.064800 5.588240
第一次迭代
不平衡量
节点4有功2.22045E-16
节点4无功0.861444
节点5有功-1.25
节点5无功-0.259
节点6有功-0.9
节点6无功-0.042
节点7有功0
节点7无功0.6275
节点8有功-1
节点8无功-0.171
雅克比矩阵
-41.930 -3.543 12.130 1.063 11.154 1.766 0.000 -0.000 0.000 -0.000 0.000 -0.000 0.000 0.000 3.521 -42.030 -1.063 12.130 -1.766 11.154 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 12.046 1.781 -18.061 -1.308 0.000 -0.000 6.015 2.103 0.000 -0.000 0.000 -0.000 0.000 0.000 -1.781 12.046 3.884 -17.204 0.000 0.000 -2.103 6.015 0.000 0.000 0.000 0.000 0.000 0.000 11.048 2.336 -0.000 -0.000 -16.814 -2.426 0.000 -0.000 0.000 -0.000 5.766 1.978 0.000 0.000 -2.336 11.048 0.000 -0.000 4.314 -16.299 0.000 0.000 0.000 0.000 -1.978 5.766 0.000 0.000 -0.000 -0.000 6.362 0.358 -0.000 -0.000 -37.948 -3.060 14.658 0.931 -0.000 -0.000 16.927 0.000 0.000 -0.000 -0.358 6.362 0.000 -0.000 2.975 -38.323 -0.930 14.658 0.000 -0.000 -1.688 0.000 -0.000 -0.000 -0.000 -0.000 -0.000 -0.000 14.472 2.509 -24.887 -1.861 10.415 1.474 0.000 0.000 0.000 -0.000 0.000 -0.000 0.000 -0.000 -2.509 14.472 3.983 -24.236 -1.474 10.415 0.000 0.000 -0.000 -0.000 -0.000 -0.000 6.052 0.733 0.000 -0.000 10.472 0.992 -34.693 -2.663 0.000 18.169 0.000 -0.000 0.000 -0.000 -0.733 6.052 0.000 0.000 -0.992 10.472 2.609 -34.858 0.000 -0.884 -0.000 -0.000 -0.000 -0.000 -0.000 -0.000 16.927 -1.688 -0.000 -0.000 -0.000 -0.000 -16.927 -0.000节点2的相角0.172632
节点3的相角0.0907544
节点4的相角-0.0371077
节点4的幅值1.03342
节点5的相角-0.0668222
节点5的幅值1.00845
节点6的相角-0.0627586
节点6的幅值1.02235
节点7的相角0.0732415
节点7的幅值1.03724
节点8的相角0.0190912
节点8的幅值1.02664
节点9的相角0.0421593
节点9的幅值1.03997
第二次迭代
雅克比矩阵
-41.930 -3.543 12.130 1.063 11.154 1.766 0.000 -0.000 0.000 -0.000 0.000 -0.000 0.000 0.000 3.521 -42.030 -1.063 12.130 -1.766 11.154 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 12.046 1.781 -18.061 -1.308 0.000 -0.000 6.015 2.103 0.000 -0.000 0.000 -0.000 0.000 0.000 -1.781 12.046 3.884 -17.204 0.000 0.000 -2.103 6.015 0.000 0.000 0.000 0.000 0.000 0.000 11.048 2.336 -0.000 -0.000 -16.814 -2.426 0.000 -0.000 0.000 -0.000 5.766 1.978 0.000 0.000 -2.336 11.048 0.000 -0.000 4.314 -16.299 0.000 0.000 0.000 0.000 -1.978 5.766 0.000 0.000 -0.000 -0.000 6.362 0.358 -0.000 -0.000 -37.948 -3.060 14.658 0.931 -0.000 -0.000 16.927 0.000 0.000 -0.000 -0.358 6.362 0.000 -0.000 2.975 -38.323 -0.930 14.658 0.000 -0.000 -1.688 0.000 -0.000 -0.000 -0.000 -0.000 -0.000 -0.000 14.472 2.509 -24.887 -1.861 10.415 1.474 0.000 0.000 0.000 -0.000 0.000 -0.000 0.000 -0.000 -2.509 14.472 3.983 -24.236 -1.474 10.415 0.000 0.000 -0.000 -0.000 -0.000 -0.000 6.052 0.733 0.000 -0.000 10.472 0.992 -34.693 -2.663 0.000 18.169 0.000 -0.000 0.000 -0.000 -0.733 6.052 0.000 0.000 -0.992 10.472 2.609 -34.858 0.000 -0.884节点2的相角0.162138
节点3的相角0.0815663
节点4的相角-0.0386656
节点4的幅值1.02588
节点5的相角-0.0695638
节点5的幅值0.995802
节点6的相角-0.0643198
节点6的幅值1.01277
节点7的相角0.0650806
节点7的幅值1.02591
节点8的相角0.0128221
节点8的幅值1.01601
节点9的相角0.0344697
节点9的幅值1.03244
第三次次迭代
雅克比矩阵
-41.37-3.480711.8921.0277510.9686 1.737100000000 3.48089-41.37-1.02811.8919-1.737110.96900000000 11.8057 1.7602-17.69-1.280900 5.8861 2.021******* -1.760211.80573.7819-16.69400-2.0217 5.8861000000 10.86512.2973700-16.548-2.40700005.682511.9102700 -2.297410.8651004.20764-15.950000-1.91035.6825100 006.21180.3828600-37.304-2.95314.3470.937490016.7460 00-0.3836.2118300 2.95077-37.31-0.93714.346500-1.630 00000014.1704 2.4291-24.41-1.860810.23481.4335300 000000-2.429114.17 3.8626-23.706-1.433510.234800 00005.946930.75770010.2870.98921-34.273-2.5985018.0388 0000-0.7577 5.946900-0.98910.28722.59706-34.2740-0.8502 00000016.7457-1.630000-16.750节点2的相角0.161967
节点3的相角0.0814153
节点4的相角-0.0386902
节点4的幅值1.02579
节点5的相角-0.0696178
节点5的幅值0.995631
节点6的相角-0.0643572
节点6的幅值1.01265
节点7的相角0.0649211
节点7的幅值1.02577
节点8的相角0.0126979
节点8的幅值1.01588
节点9的相角0.0343257
节点9的幅值1.03235
最终收敛结果
节点2的相角0.161967
节点3的相角0.0814153
节点4的相角-0.0386902
节点4的幅值1.02579
节点5的相角-0.0696178
节点5的幅值0.995631
节点6的相角-0.0643572
节点6的幅值1.01265
节点7的相角0.0649211
节点7的幅值1.02577
节点8的相角0.0126979
节点8的幅值1.01588
节点9的相角0.0343257
节点9的幅值1.03235。

相关文档
最新文档