#2

//================================================

//   线性方程组的求解,采用向量运算和行消元方法

//================================================

int System_Analyse::Solute_Y(Matrix_element **Y,_complex *Sii,int dimension)

{

int i,F=0;

double a;

Matrix_element *p1,*p2,*p3,*p4,*p5,*pp;

p1=new Matrix_element;

p2=new Matrix_element;

p3=new Matrix_element;

p4=new Matrix_element;

p5=new Matrix_element;

pp=new Matrix_element;

//矩阵消元开始;

for(i=1;i<=dimension;i++)

{

p1=Y[i];                       //取出要消元的行;

if(p1==NULL)

{

Y[i]=new Matrix_element;

Y[i]->G=0.0;

Y[i]->B=0.0;

Y[i]->J=i;

Y[i]->next=NULL;

continue;

}//end if

if((p1->J==i)&&(p1->G==0.0)&&(p1->B==0.0)) continue;

if(p1==NULL) continue;

while(p1->J

{

p2=Y[p1->J];

while(p2->next!=NULL)            //进行消元;

{

p2=p2->next;

ChengFa(p1,p2,p3);

p4=Search(p1,p2->J,F);

if(F==1)

{

p4->G=p4->G-p3->G;

p4->B=p4->B-p3->B;

}//end if

if(F==2||F==3)

{

p5=new Matrix_element;

p5->next=p4->next;

p4->next=p5;

p5->G=-p3->G;

p5->B=-p3->B;

p5->J=p2->J;

}//end if

}//end while

//计算方程右端的项;

ChengFa(p1,Y[p1->J],p3);

Sii[i].x=Sii[i].x-p3->G;

Sii[i].y=Sii[i].y-p3->B;

p5=p1;

p1=p1->next;

delete(p5);  //释放该单元;

}//end while

//所在行的对角元化为标准的 1+j0 形式;

Y[i]=p1;

a=p1->G*p1->G+p1->B*p1->B;

if(a<=1.0e-15)    //是孤立子块

{

p1->G=1.0;

p1->B=0.0;

a=1.0;

}//end if

// { cout<

//   a=1.0; return 0;  }//if                            //方程出现奇异;

p1->G=p1->G/a;  p1->B=-p1->B/a;  p2=p1->next;

while(p2!=NULL)

{

ChengFa(p1,p2,p2);

p2=p2->next;

}//end while

//计算方程右端的项;

a=p1->G*Sii[i].x-p1->B*Sii[i].y;

Sii[i].y=p1->G*Sii[i].y+p1->B*Sii[i].x;

Sii[i].x=a;

//把方程右边的数放入导纳矩阵的对角元中;

p1->G=Sii[i].x; p1->B=Sii[i].y;

}//end for

//回代消元求解开始;

for(i=dimension-1;i>=1;i--)

{

p1=Y[i];

if(p1==NULL) continue;

// if((p1->G==0.0)&&(p1->B==0.0)) continue;

pp=p1;  p1=p1->next;

while(p1!=NULL)                    //消元,把结果放在对角元中;

{

ChengFa(p1,Y[p1->J],p3);

pp->G-=p3->G; pp->B-=p3->B;

p5=p1;  p1=p1->next;

delete(p5);

}//end while

Y[i]->next=NULL;

}//end for

delete(p3);

return 1;

}//end Solute_Y()

就是对线性方程组进行求解的过程,求解完以后输出Y的值就出现如题所示的问题了

c语言中1. qnb,输出总是有1.#QNB和1.$,请问这是什么原因呀?相关推荐

  1. 关于C语言中printf函数“输出歧视”的问题

    目录 关于C语言中printf函数"输出歧视"的问题 问题描述 探索问题原因 另一种研究方法 问题结论 关于C语言中printf函数"输出歧视"的问题 问题描述 ...

  2. c语言中如何让数字反过来,在C语言中,如何输出逆序的数字

    在C语言中,如何输出逆序的数字 來源:互聯網  2010-04-18 22:28:36  評論 分類: 電腦/網絡 >> 程序設計 >> 其他編程語言 問題描述: 如输入123 ...

  3. c语言编程输出所有水仙花数,c语言中,如何输出所有的水仙花数

    满意答案 xlmzww123 2020.01.22 采纳率:42%    等级:9 已帮助:165人 水仙花数即三位的自幂数.所谓自幂数,就是指一个 n 位数 ( n≥3 ),其每位上的数字的 n 次 ...

  4. c语言中json格式化输出,JSON格式化输出

    JSON格式化输出 今天有个需求是对输出的JSON进行格式化 首先想到的就是jsBeautifier之类的小插件 搜索了一番看到有一位朋友回答JSON.stringify可以输出格式化的JSON字符串 ...

  5. C语言输出同一字母菱形,C语言中,如何输出一个菱形!

    int zh,zl,h,l;                                                  //zh:行的总数 zl:列的总数  h:当前行  l:当前列 for( ...

  6. c语言输出的时候让字符占五位,C语言中printf的规范输出

    1.调用格式为  printf("", ); 其中格式化字符串包括两部分内容: 一部分是正常字符, 这些字符将按原样输出; 另一部分是格式化规定字符, 以"%" ...

  7. exit在c语言里的作用,C语言中exit函数的使用

    exit() 结束当前进程/当前程序/,在整个程序中,只要调用 exit ,就结束 return() 是当前函数返回,当然如果是在主函数main, 自然也就结束当前进程了,如果不是,那就是退回上一层调 ...

  8. go语言中fmt包中Print、Printf、Println输出相关函数的区别

    go语言中fmt包中Print.Printf.Println输出相关函数的区别 区别: Print系列函数将内容输出到系统的标准输出.其区别:Print函数式直接输出内容,Printf函数支持格式化输 ...

  9. C语言中printf输出特殊字符(“%d“或者“\n“)

    在C语言中,相信很多人尝试过进行"%"的输出,常规的 printf("%d\n"); 肯定是行不通的,这里需要注意的是在c语言中对"%"和& ...

最新文章

  1. Linq to XML
  2. 终端复用命令行神器:tmux
  3. mysql5.7.14安装版教程_MySQL5.7.14下载安装图文教程及MySQL数据库语句入门大全
  4. Java黑皮书课后题第1章:1.13(代数:求解2*2线性方程组)编写程序,求解以下方程组并显示x和y的值 3.4x+50.2y=44.5 2.1x+0.55y=5.9
  5. 【CodeForces - 270C】Magical Boxes (思维,进制,有坑)
  6. 算命大仙的黄金时代?一年轻松赚5亿…..
  7. 云服务器一般选什么系统,云服务器一般选择什么系统好
  8. 数据结构--------单链表+面试题
  9. 用PARL训练mini-alphaGO
  10. 20200725 PAT甲级 7-2 The Judger (25分)
  11. 边缘计算中任务卸载研究综述
  12. 机械革命笔记本开关键盘亮度
  13. java 代码书写规范_代码书写规范和命名规范
  14. 核心网在无线通信中的王者地位
  15. round函数c语言,fegetround
  16. 找漏洞赚外快?给ChatGPT挑毛病,最高奖励14万
  17. 利用PWM原理实现调光灯
  18. 一天刷到5篇「x is All You Need」,当学术论文开始标题党……
  19. pmp考试24计 | 第十三计-计清:首先和首要
  20. Python绘图实例4:正五边形绘制

热门文章

  1. java 进度条 swt_SWT综合实例+SWT进度条对话框代码
  2. 重庆自考本科报名条件有哪些?是否有学历限制?
  3. python创建变量revenue、并赋值为98765_Python入门笔记_01
  4. 华为2021.04.21校园招聘软件机考题
  5. 关于OCA,OCP,OCM证书的区别
  6. WAP二叉树序列化和反序列化
  7. COleSafeArray::PutElement记录备忘
  8. php5.2连接mssql2005,php5.3连接mssql2005数据库不完美解决方案
  9. 线程池三大方法,七大参数,四种拒绝策略
  10. java命名基本规范,和java开发工具相关