标题:用c写的雅可比迭代法求数组根的程序
只看楼主
磨成大力佛
Rank: 1
等 级:新手上路
帖 子:7
专家分:2
注 册:2009-9-28
 问题点数:0 回复次数:0 
用c写的雅可比迭代法求数组根的程序
程序如下:
#include<stdio.h>
#include<stdlib.h>
#include<math.h>
int main()
{int N,n,i,j,k=1;
scanf("%d %d",&N,&n);
float e,x[n],y[n],m,b[n];
scanf("%f",&e);
int a[n][n];
printf("输入系数:\n");
for(i=1;i<=n;i++)
   for(j=1;j<=n;j++)
       scanf("%d",&a[i][j]);
for(i=1;i<=n;i++)
   {scanf("%d",&b[i]);
   x[i]=0;}
for(i=1;i<=n;i++)
   y[i]=b[i];
while(k<=N)
{m=0;
for(i=1;i<=n;i++)
   {
   for(j=1;j<=n;j++)
      if(i!=j)y[i]=b[i]-a[i][j]*x[j];
   y[i]=y[i]/a[i][i];
   if(fabs(y[i]-x[i])>m)m=fabs(y[i]-x[i]);}
if(m<e)
{printf("计算次数为%d\n",k);
for(i=1;i<=n;i++)
printf("x[%d]=%f\n",i,y[i]);break;}
else {k++;
for(i=1;i<=n;i++)
x[i]=y[i];}
}
if(k>N)printf("发散");
system("pause");
}

编译通过,没有语法错误,但是结果大的离谱,我用的是devcpp。高手帮忙找找错误
搜索更多相关主题的帖子: include 
2009-12-22 12:00



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-294050-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.446473 second(s), 7 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved