⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 雅各比.cpp

📁 数值分析实验内容一些计算源程序 数值分析实验内容一些计算源程序
💻 CPP
字号:
#include<iostream>
using namespace std;
#include<math.h>
float max(float array[],int n)
{
 int i;
 float maximum=0.0;
 for(i=0;i<=n;i++) if(maximum<=array[i]) maximum=array[i];
 return maximum;
}
void main()
{
 float a[3][3],b[3],x[3],y[3],m[3];
 int i,j,k,n;
  cout<<"输入a[3][3]:"<<endl;
 for(i=0;i<3;i++)
  {
   for(j=0;j<3;j++) cin>>a[i][j];
  }
 cout<<"input b[3] please"<<endl;
 for(i=0;i<3;i++) cin>>b[i];
 cout<<"输入初值:"<<endl;
 for(i=0;i<3;i++) cin>>x[i];
 float sum,maximum,e;
 k=1;
 float N;
 maximum=0.0;
 cout<<"n=";cin>>n;
 cout<<"e=";cin>>e;
 cout<<"输入迭代次数:"<<endl;
 cout<<"N=";cin>>N;
 sub:  
 for(i=0;i<=n;i++)
 {
  sum=0;
  for(j=0;j<=n;j++)
  {
   if(j==i) continue;
   sum=sum+a[i][j]*x[j];    
  }
  y[i]=(b[i]-sum)/a[i][i];
  m[i]=fabs(x[i]-y[i]);

  }
   
 maximum=max(m,n);
 if(maximum<e) {for(i=0;i<=n;i++) cout<<"Y"<<i<<"="<<y[i]<<"\n";}
 else 
 {
  if(k==N) cout<<"error!";
  else 
  {
   k=k+1;for(i=0;i<=n;i++) x[i]=y[i];goto sub;
  }
 }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -