formb.cpp
来自「电力系统发输电系统基于非序贯的蒙特卡罗抽样的风险评估程序」· C++ 代码 · 共 40 行
CPP
40 行
#include<math.h>
#include<stdlib.h>
#include"datastruct.h"
//形成节点导钠矩阵函数
void formB(double *B,struct Branchdata *Branchdata,struct Busdata *Busdata,
int Busnum,int Branchnum,int *balanceno)
{
int i,j,h;
double *b;
int hh=0;
b=new double[Busnum*Busnum];
for(i=0;i<Busnum;i++)//行
{
for(j=0;j<Busnum;j++)//列
{
b[i*Busnum+j]=0;
for(h=0;h<Branchnum;h++)
{
if(Branchdata[h].alrnum!=0&&i==j&&(Branchdata[h].from==Busdata[i].busno||Branchdata[h].to==Busdata[i].busno))
b[i*Busnum+j]+=(1/Branchdata[h].X);
if(((Branchdata[h].alrnum!=0&&i!=j)&&(Branchdata[h].from==Busdata[i].busno)&&(Branchdata[h].to==Busdata[j].busno))
||((Branchdata[h].alrnum!=0&&i!=j)&&(Branchdata[h].from==Busdata[j].busno)&&(Branchdata[h].to==Busdata[i].busno)))
b[i*Busnum+j]+=(-1/Branchdata[h].X);
}
//筛出平衡节点所在的行与列
if(i!=*balanceno&&j!=*balanceno)
{
B[hh]=b[i*Busnum+j];
hh++;
}
}
}
delete []b;
b=NULL;
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?