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

📄 diedai.txt

📁 计算方法的迭代法的实现
💻 TXT
字号:
#include <iostream>
using namespace std;

const int n=3; //N元方程 
double (*data)[n+1]=new double[n][n+1];
double *x=new double[n];
const int t=6;          //迭代次数 
double sum(const int &);

int main()
{
    for (int i=0;i!=n;++i)
        for (int j=0; j!=n+1;++j)
            cin >> data[i][j];
    cout << "Please enter initial value:" << endl;
    for (int i=0;i!=n;++i)
        cin >> x[i];
    for (int i=0;i!=t;++i)
        for (int j=0;j!=n;++j)
            x[j]=(data[j][n]-sum(j))/data[j][j];
    for (int i=0;i!=n;++i)
        cout << x[i] << "\t";
    system ("pause");    
}

double sum(const int &j)
{
       double s=0;
       for (int i=0;i!=n;++i) {
           if (i!=j) s+=x[i]*data[j][i];
           else continue;
       }
       return s;
}













文章搜索:     【点击打包该文章】 被过滤广告 
【本站开通在线QQ讨论群】 

for(i=0;i<MAXREPT;i++)
 {
  for(j=0;j<n;j++)
   nx[j]=g[j];
  for(j=0;j<n;j++)
  {
   for(k=0;k<n;k++)
   {
    if(j==k)continue;
    nx[j]+=b[j][k]*x[k];   //迭代
   }
  }
  err=0;
  for(j=0;j<n;j++)
   if(err<fabs(nx[j]-x[j]))err=fabs(nx[j]-x[j]);  //误差
  for(j=0;j<n;j++)
   x[j]=nx[j];
  if(err<epsilon)
  {
   printf("Solve...x_i=\n");   //输出
   for(i=0;i<n;i++)
    printf("%f\n",x[i]);
   return  0;
  }

 }
 printf("After %d repeat ,no result...\n",MAXREPT);   //输出
 return 1;
}

 



文章出处:http://www.diybl.com/course/3_program/c/cshl/2007213/21300_2.html






#include<stdio.h> 
#include<math.h> 

void main() 
{float a[10][10],b[10],x[10],y[10],e,sum,c; 
int i,j,n,l; 
printf("The top exp is "); 
scanf("%d",&n); 
printf("Now input array A\n"); 
for(i=0;i<n;i++) 
for(j=0;j<n;j++) 
scanf("%f",&a[i][j]); 
printf("Now input array B first and then array X\n"); 
for(i=0;i<n;i++) 
scanf("%f,%f",&b[i],&x[i]); 
printf("Now input e\n"); 
scanf("%f",&e); 
l=0; 
do{for(i=0;i<n;i++) 
{sum=0; 
for(j=0;j<i;j++) 
sum+=a[i][j]*x[j]; 
for(j=i+1;j<n;j++) 
sum+=a[i][j]*x[j]; 
y[i]=(b[i]-sum)/a[i][i]; 
l+=1; 
} 
c=fabs(x[0]-y[0]); 
for(i=0;i<n;i++) 
if(c<fabs(x[i]-y[i])) 
c=fabs(x[i]-y[i]); 
for(i=0;i<n;i++) 
x[i]=y[i]; 
}while(c<e); 
printf("%d\n",l); 
for(i=0;i<n;i++) 
printf("%f\n",y[i]); 
} 

⌨️ 快捷键说明

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