亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來(lái)到蟲(chóng)蟲(chóng)下載站! | ?? 資源下載 ?? 資源專(zhuān)輯 ?? 關(guān)于我們
? 蟲(chóng)蟲(chóng)下載站

?? jacobiiterative.c

?? 雅可比(Jacobi)迭代算法的C++實(shí)現(xiàn)
?? C
字號(hào):
/*
  -----------------------------------------------
  假設(shè)有如下方程組:
  Ax=b
  用Jacobi迭代法求解方程組的解
  方法:將A分裂為A=D-L-U,等價(jià)的迭代方程組為x=Bx+f。
  有關(guān)算法的詳細(xì)說(shuō)明,參看http://www.loujing.com/mywork/c++/project/Jacobi.pdf
  -----------------------------------------------
  */
  #include <iostream.h>
  #include <stdlib.h>
  #include <math.h>
  double* allocMem(int ); //分配內(nèi)存空間函數(shù)
  void GaussLineMain(double*,double*,double*,int );//采用高斯列主元素消去法求解x的初始向量值
  void Jacobi(double*,double*,double*,double*,int,int);//利用雅可比迭代公式求解x的值
  void main()
  {
  short matrixNum; //矩陣的行數(shù)(列數(shù))
  double *matrixA; //矩陣A,初始系數(shù)矩陣
  double *matrixD; //矩陣D為A中的主對(duì)角陣
  double *matrixL; //矩陣L為A中的下三角陣
  double *matrixU; //矩陣U為A中的上三角陣
  double *B; //矩陣B為雅可比方法迭代矩陣
  double *f; //矩陣f為中間的過(guò)渡的矩陣
  double *x; //x為一維數(shù)組,存放結(jié)果
  double *xk; //xk為一維數(shù)組,用來(lái)在迭代中使用
  double *b; //b為一維數(shù)組,存放方程組右邊系數(shù)
  int i,j,k;
  cout<<"<<請(qǐng)輸入矩陣的行數(shù)(列數(shù)與行數(shù)一致)>>:";
  cin>>matrixNum;
  //分別為A、D、L、U、B、f、x、b分配內(nèi)存空間
  matrixA=allocMem(matrixNum*matrixNum);
  matrixD=allocMem(matrixNum*matrixNum);
  matrixL=allocMem(matrixNum*matrixNum);
  matrixU=allocMem(matrixNum*matrixNum);
  B=allocMem(matrixNum*matrixNum);
  f=allocMem(matrixNum);
  x=allocMem(matrixNum);
  xk=allocMem(matrixNum);
  b=allocMem(matrixNum);
  //輸入系數(shù)矩陣各元素值
  cout<<endl<<endl<<endl<<"<<請(qǐng)輸入矩陣中各元素值(為 "<<matrixNum<<"*"
   <<matrixNum<<",共計(jì) "<<matrixNum*matrixNum<<" 個(gè)元素)"<<">>:"<<endl<<endl;
  for(i=0;i<matrixNum;i++)
  {
   cout<<"請(qǐng)輸入矩陣中第 "<<i+1<<" 行的 "<<matrixNum<<" 個(gè)元素:";
   for(j=0;j<matrixNum;j++)
   cin>>*(matrixA+i*matrixNum+j);
  }
  //輸入方程組右邊系數(shù)b的各元素值
  cout<<endl<<endl<<endl<<"<<請(qǐng)輸入方程組右邊系數(shù)各元素值,共計(jì) "<<matrixNum<<
   " 個(gè)"<<">>:"<<endl<<endl;
  for(i=0;i<matrixNum;i++)
   cin>>*(b+i);
  /* 下面將A分裂為A=D-L-U */
  //首先將D、L、U做初始化工作
  for(i=0;i<matrixNum;i++)
   for(j=0;j<matrixNum;j++)
   *(matrixD+i*matrixNum+j)=*(matrixL+i*matrixNum+j)=*(matrixU+i*matrixNum+j)=0;
  //D、L、U分別得到A的主對(duì)角線、下三角和上三角;其中D取逆矩陣、L和U各元素取相反數(shù)
  for(i=0;i<matrixNum;i++)
   for(j=0;j<matrixNum;j++)
   if(i==j&&*(matrixA+i*matrixNum+j)) *(matrixD+i*matrixNum+j)=1/(*(matrixA+i*matrixNum+j));
   else if(i>j) *(matrixL+i*matrixNum+j)=-*(matrixA+i*matrixNum+j);
   else *(matrixU+i*matrixNum+j)=-*(matrixA+i*matrixNum+j);
  //求B矩陣中的元素
  for(i=0;i<matrixNum;i++)
   for(j=0;j<matrixNum;j++)
   {
   double temp=0;
   for(k=0;k<matrixNum;k++)
   temp+=*(matrixD+i*matrixNum+k)*(*(matrixL+k*matrixNum+j)+*(matrixU+k*matrixNum+j));
   *(B+i*matrixNum+j)=temp;
   }
  //求f中的元素
  for(i=0;i<matrixNum;i++)
  {
   double temp=0;
   for(j=0;j<matrixNum;j++)
   temp+=*(matrixD+i*matrixNum+j)*(*(b+j));
   *(f+i)=temp;
  }
  /* 計(jì)算x的初始向量值 */
  GaussLineMain(matrixA,x,b,matrixNum);
  /* 利用雅可比迭代公式求解xk的值 */
  int JacobiTime;
  cout<<endl<<endl<<endl<<"<<雅可比迭代開(kāi)始,請(qǐng)輸入希望迭代的次數(shù)>>:";
  cin>>JacobiTime;
  while(JacobiTime<=0)
  {
   cout<<"迭代次數(shù)必須大于0,請(qǐng)重新輸入:";
   cin>>JacobiTime;
  }
  Jacobi(x,xk,B,f,matrixNum,JacobiTime);
  //輸出線性方程組的解 */
  cout<<endl<<endl<<endl<<"<<方程組運(yùn)算結(jié)果如下>>"<<endl;
  cout.precision(20); //設(shè)置輸出精度,以此比較不同迭代次數(shù)的結(jié)果
  for(i=0;i<matrixNum;i++)
   cout<<"x"<<i+1<<" = "<<*(xk+i)<<endl;
  cout<<endl<<endl<<"求解過(guò)程結(jié)束..."<<endl<<endl;
  //釋放掉所有動(dòng)態(tài)分配的內(nèi)存
  delete [] matrixA;
  delete [] matrixD;
  delete [] matrixL;
  delete [] matrixU;
  delete [] B;
  delete [] f;
  delete [] x;
  delete [] xk;
  delete [] b;
  }
  /*
  ----------------------
   分配內(nèi)存空間函數(shù)
  ----------------------
  */
  double* allocMem(int num)
  {
  double *head;
  if((head=new double[num])==NULL)
  {
   cout<<"內(nèi)存空間分配失敗,程序終止運(yùn)行!"<<endl;
   exit(0);
  }
  return head;
  }
  /*
  -----------------------------------------------
   計(jì)算Ax=b中x的初始向量值,采用高斯列主元素消去法
  -----------------------------------------------
  */
  void GaussLineMain(double* A,double* x,double* b,int num)
  {
  int i,j,k;
  //共處理num-1行
  for(i=0;i<num-1;i++)
  {
   //首先每列選主元,即最大的一個(gè)
   double lineMax=fabs(*(A+i*num+i));
   int lineI=i;
   for(j=i;j<num;j++)
   if(fabs(*(A+j*num+i))>fabs(lineMax)) lineI=j;
   //主元所在行和當(dāng)前處理行做行交換,右系數(shù)b也隨之交換
   for(j=i;j<num;j++)
   {
   //A做交換
   lineMax=*(A+i*num+j);
   *(A+i*num+j)=*(A+lineI*num+j);
   *(A+lineI*num+j)=lineMax;
   //b中對(duì)應(yīng)元素做交換
   lineMax=*(b+i);
   *(b+i)=*(b+lineI);
   *(b+lineI)=lineMax;
   }
   if(*(A+i*num+i)==0) continue; //如果當(dāng)前主元為0,本次循環(huán)結(jié)束
   //將A變?yōu)樯先蔷仃嚕瑯觔也隨之變換
   for(j=i+1;j<num;j++)
   {
   double temp=-*(A+j*num+i)/(*(A+i*num+i));
   for(k=i;k<num;k++)
   {
   *(A+j*num+k)+=temp*(*(A+i*num+k));
   }
   *(b+j)+=temp*(*(b+i));
   }
  }
  /* 驗(yàn)證Ax=b是否有唯一解,就是驗(yàn)證A的行列式是否為0;
   如果|A|!=0,說(shuō)明有唯一解
  */
  double determinantA=1;
  for(i=0;i<num;i++)
   determinantA*=*(A+i*num+i);
  if(determinantA==0)
  {
   cout<<endl<<endl<<"通過(guò)計(jì)算,矩陣A的行列式為|A|=0,即A沒(méi)有唯一解。\n程序退出..."<<endl<<endl;
   exit(0);
  }
  /* 從最后一行開(kāi)始,回代求解x的初始向量值 */
  for(i=num-1;i>=0;i--)
  {
   for(j=num-1;j>i;j--)
   *(b+i)-=*(A+i*num+j)*(*(x+j));
   *(x+i)=*(b+i)/(*(A+i*num+i));
  }
  }
  /*
  --------------------------------------
  利用雅可比迭代公式求解x的精確值
  迭代公式為:xk=Bx+f
  --------------------------------------
  */
  void Jacobi(double* x,double* xk,double* B,double* f,int num,int time)
  {
  int t=1,i,j;
  while(t<=time)
  {
   for(i=0;i<num;i++)
   {
   double temp=0;
   for(j=0;j<num;j++)
   temp+=*(B+i*num+j)*(*(x+j));
   *(xk+i)=temp+*(f+i);
   }
   //將xk賦值給x,準(zhǔn)備下一次迭代
   for(i=0;i<num;i++)
   *(x+i)=*(xk+i);
   t++;
  }
  }
  //程序編寫(xiě)結(jié)束

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美日韩国产色站一区二区三区| 久久只精品国产| 99re热视频精品| 大尺度一区二区| 国产麻豆精品theporn| 久久精品国产免费| 激情五月播播久久久精品| 人人狠狠综合久久亚洲| 久久成人久久爱| 国产呦萝稀缺另类资源| 国产成人福利片| 国产成人精品午夜视频免费| 国产精品一区免费在线观看| 国产精品白丝av| 久久综合中文字幕| 久久精品男人天堂av| 久久久影院官网| 国产网红主播福利一区二区| 国产清纯在线一区二区www| 欧美韩国日本不卡| 亚洲欧美日韩国产另类专区| 一区二区三区在线视频播放| 亚洲线精品一区二区三区八戒| 午夜亚洲国产au精品一区二区| 午夜欧美视频在线观看| 美国av一区二区| 国产成人亚洲综合色影视| 成人性生交大片免费看视频在线| 99精品黄色片免费大全| 色8久久精品久久久久久蜜| 91超碰这里只有精品国产| 欧美电视剧在线观看完整版| 久久久噜噜噜久久中文字幕色伊伊| 国产日产欧美一区二区视频| 国产精品你懂的在线| 亚洲一区二区三区在线| 天堂一区二区在线免费观看| 久久国产人妖系列| 99久久精品免费看国产免费软件| 欧美亚洲综合久久| 亚洲精品在线一区二区| 国产精品第13页| 午夜精品久久一牛影视| 国产一区二区免费视频| 91在线精品一区二区三区| 欧美日韩www| 欧美激情在线一区二区三区| 亚洲自拍另类综合| 精品亚洲国产成人av制服丝袜| 成人午夜在线免费| 欧美日韩成人综合天天影院 | 欧美日韩一区二区欧美激情| 日韩欧美美女一区二区三区| 国产精品福利一区| 日韩和欧美的一区| 不卡电影一区二区三区| 777午夜精品免费视频| 中文字幕精品三区| 日产国产高清一区二区三区 | 国产欧美精品国产国产专区 | 麻豆精品一区二区综合av| 成人国产精品免费观看| 日韩一区二区精品在线观看| 国产精品欧美一区喷水| 日韩va欧美va亚洲va久久| 风流少妇一区二区| 欧美一区二区精品| 亚洲精品美国一| 丰满少妇在线播放bd日韩电影| 欧美日韩精品系列| 国产精品久久久久久久久快鸭| 奇米四色…亚洲| 色悠悠亚洲一区二区| 久久午夜色播影院免费高清| 亚洲成人av福利| av在线这里只有精品| 亚洲精品一区二区三区福利| 亚洲国产日韩a在线播放| 成人av在线播放网址| 久久一日本道色综合| 五月激情综合色| 欧美在线观看一区| 中文字幕中文在线不卡住| 国内成人精品2018免费看| 欧美高清精品3d| 亚洲影院理伦片| 91久久免费观看| 国产精品视频一二三| 国产在线播精品第三| 日韩欧美成人激情| 日本不卡视频在线| 91精品国产综合久久小美女| 亚洲国产一区二区a毛片| 色综合天天综合色综合av | 午夜影院在线观看欧美| 91浏览器打开| 国产精品二区一区二区aⅴ污介绍| 国产资源在线一区| 精品国产三级a在线观看| 久久av老司机精品网站导航| 91精品国产综合久久精品| 午夜天堂影视香蕉久久| 欧美日韩一区二区三区视频| 亚洲国产精品一区二区www| 91久久精品午夜一区二区| 有码一区二区三区| 在线免费观看一区| 亚洲一区视频在线观看视频| 欧洲精品在线观看| 亚洲国产精品欧美一二99 | 亚洲一级在线观看| 欧美影院午夜播放| 亚洲二区在线观看| 欧美日韩视频在线第一区| 亚洲国产欧美另类丝袜| 555www色欧美视频| 久久福利资源站| 国产欧美视频一区二区| jiyouzz国产精品久久| 成人免费小视频| 色诱亚洲精品久久久久久| 亚洲午夜av在线| 91精品国产综合久久精品麻豆| 美美哒免费高清在线观看视频一区二区 | 国产91丝袜在线播放九色| 国产精品伦理一区二区| 色88888久久久久久影院按摩| 亚洲成人在线免费| 日韩欧美中文字幕公布| 国产美女在线精品| 国产精品第一页第二页第三页| 在线观看一区日韩| 日本午夜精品视频在线观看 | 亚洲精品高清视频在线观看| 欧美日韩一区二区三区在线| 热久久免费视频| 国产女人aaa级久久久级| 91麻豆国产自产在线观看| 亚洲午夜在线观看视频在线| 日韩欧美国产1| aaa亚洲精品| 日韩高清欧美激情| 国产亚洲综合在线| 色88888久久久久久影院野外| 青青青伊人色综合久久| 中文成人av在线| 欧美私人免费视频| 国产精品亚洲综合一区在线观看| 中文字幕在线观看不卡| 91精品国产色综合久久不卡电影 | 亚洲国产欧美在线| 2024国产精品| 日本高清不卡一区| 精品制服美女丁香| 亚洲免费视频成人| 精品日韩99亚洲| 色久综合一二码| 国产在线精品视频| 亚洲第一会所有码转帖| 欧美韩国日本综合| 日韩一区二区电影网| 99视频一区二区| 久久精品国产免费看久久精品| 亚洲日本在线看| 精品国产污污免费网站入口| 91国产福利在线| 国产精品一二三区| 奇米综合一区二区三区精品视频| 亚洲欧美怡红院| 久久久久久黄色| 6080午夜不卡| 不卡av在线网| 寂寞少妇一区二区三区| 亚洲一区免费观看| 国产精品久久久久久亚洲伦| 日韩一级二级三级| 欧洲国内综合视频| caoporen国产精品视频| 久久国产夜色精品鲁鲁99| 亚洲一区二区三区四区五区中文| 国产女同性恋一区二区| 日韩欧美在线综合网| 欧洲一区二区三区免费视频| 成人免费观看视频| 国产九九视频一区二区三区| 日本少妇一区二区| 五月天亚洲婷婷| 亚洲一级二级在线| 亚洲老妇xxxxxx| 亚洲欧美一区二区三区孕妇| 国产欧美日韩不卡免费| 精品剧情在线观看| 日韩一级高清毛片| 日韩亚洲欧美在线| 欧美一区二区在线播放| 69成人精品免费视频| 欧美久久久久免费| 欧美日韩国产一级二级| 欧美日韩二区三区| 欧美日韩国产三级|