| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 732 人关注过本帖
标题:用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
快速回复:用c写的雅可比迭代法求数组根的程序
数据加载中...
 
   



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

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