📄 雅可比矩阵输出调试.cpp
字号:
#include "stdafx.h"
#include <iostream.h>
#include <fstream.h>
#include "NEquation.h"
#include "math.h"
#include "config.h"
int main(int argc, char* argv[])
{
//计算雅可比矩阵
float JH[2*(Bus_Num-1)][2*(Bus_Num-1)];
float JN[2*(Bus_Num-1)][2*(Bus_Num-1)];
float JJ[2*(Bus_Num-1)][2*(Bus_Num-1)];
float JL[2*(Bus_Num-1)][2*(Bus_Num-1)];
float Ja[Bus_Num-1][Bus_Num-1];
float Jb[Bus_Num-1][Bus_Num-1];
int i,j,m=0;
for(i=0;i<2*Bus_Num-2;i++)
{
for(j=0;j<2*Bus_Num-2;j++)
{
JH[i][j]=0;
JN[i][j]=0;
JJ[i][j]=0;
JL[i][j]=0;
Ja[i][j]=0;
Jb[i][j]=0;
}
}
printf (" the Jaccobi matrix is calculated below\n");
for(i=0;i<=2*Bus_Num-2;i++)
{
for(j=0;j<=2*Bus_Num-2;j++)
{
if (i!=j)
{
JH[i][j]=-gY_B[i][j]*ge[i]+gY_G[i][j]*gf[i];
JN[i][j]=gY_G[i][j]*ge[i]+gY_B[i][j]*gf[i];
JJ[i][j]=-JN[i][j];
JL[i][j]=JH[i][j];
Ja[i][j]+=gY_G[i][i]*ge[i]-gY_B[i][i]*gf[i]+gY_G[i][j]*ge[j]-gY_B[i][j]*gf[j];
Jb[i][j]+=gY_B[i][i]*ge[i]+gY_G[i][i]*gf[i]+gY_B[i][j]*ge[j]+gY_G[i][j]*gf[j];
do
{
printf("%7.3f %7.3f\n",JH[i][j],JN[i][j]);
}
while ( ((i+1)%2)!=0);
if (!( (i+1)%2))
{
printf("%7.3f %7.3f\n",JJ[i][j],JL[i][j]);
}
for(;m<=2*Bus_Num-2;m++)
printf("\n");
}
else
{
Ja[i][j]+=gY_G[i][i]*ge[i]-gY_B[i][i]*gf[i]+gY_G[i][j]*ge[j]-gY_B[i][j]*gf[j];
Jb[i][j]+=gY_B[i][i]*ge[i]+gY_G[i][i]*gf[i]+gY_B[i][j]*ge[j]+gY_G[i][j]*gf[j];
JH[i][j]=-gY_B[i][j]*ge[i]+gY_G[i][j]*gf[i]+Jb[i][j];
JN[i][j]=gY_G[i][j]*ge[i]+gY_B[i][j]*gf[i]+Ja[i][j];
JJ[i][j]=-JN[i][j]+Ja[i][j];
JL[i][j]=JH[i][j]-Jb[i][j];
do
{
printf("%7.3f %7.3f\n",JH[i][j],JN[i][j]);
}
while ( ((i+1)%2)!=0);
if (!( (i+1)%2))
{
printf("%7.3f %7.3f\n",JJ[i][j],JL[i][j]);
}
for(;m<=2*Bus_Num-2;m++)
printf("\n");
}
}
return
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -