C语言迭代法?
/*10.5编程题:题目:编写函数fun,它的功能是:利用如下简单迭代法求方程cos(x)-x=0的一个实根。xn+1=cos(xn)迭代步骤如下:1)取x1初值为0.0...
/*10.5 编程题:
题目:编写函数fun,它的功能是:利用如下简单迭代法求方程cos(x)-x=0的一个实根。
xn+1=cos(xn)
迭代步骤如下:
1)取x1初值为0.0
2)x0=x1,把x1的值赋给x0.
3)x1=cos(x0),求出一个新的x1.
4)若x0-x1的绝对值小于0.000001,则执行步骤5,否则执行步骤2
5)所求x1就是方程cos(x)-x=0的一个实根,作为函数值返回。
程序输出结构Root=0.739085。
注意:部分源程序给出如下。
请勿改动main函数和其他函数中的任何内容,仅在函数fun的函数体中填入所编写的若干语句。
程序:*/
#include <stdio.h>
#include <math.h>float fun()
{float x,n,Root;</p><p><br>;<br>;</p><p>return Root ;<br> <br>}
void main()
{
float f=fun();
printf("Root=%f\n",f);
}
首先,迭代法是什么意思?高手给下我这道题目的思路 展开
题目:编写函数fun,它的功能是:利用如下简单迭代法求方程cos(x)-x=0的一个实根。
xn+1=cos(xn)
迭代步骤如下:
1)取x1初值为0.0
2)x0=x1,把x1的值赋给x0.
3)x1=cos(x0),求出一个新的x1.
4)若x0-x1的绝对值小于0.000001,则执行步骤5,否则执行步骤2
5)所求x1就是方程cos(x)-x=0的一个实根,作为函数值返回。
程序输出结构Root=0.739085。
注意:部分源程序给出如下。
请勿改动main函数和其他函数中的任何内容,仅在函数fun的函数体中填入所编写的若干语句。
程序:*/
#include <stdio.h>
#include <math.h>float fun()
{float x,n,Root;</p><p><br>;<br>;</p><p>return Root ;<br> <br>}
void main()
{
float f=fun();
printf("Root=%f\n",f);
}
首先,迭代法是什么意思?高手给下我这道题目的思路 展开
2013-07-21
展开全部
迭代法就是让方程的解不断去逼近真实的解。这是一种数值计算方法。思路就是按上面的步骤,只设置两个x0,x1开始x0代表第一个值,x1代表第二值第一次迭代之后,让x0=x1,x1=新的值,这样x0代表第二个值,x1代表第三值以此类推。。。直到误差满足要求
2013-07-21
展开全部
迭代法,是一种不断用变量的旧值递推新值的过程。 fun函数设置循环,当x0-x1的绝对值小于0.000001循环结束。 #include <stdio.h>
#include <math.h>
float fun()
{float x,n=0.0,Root;</p><p>while(Root>=0.000001||Root<=-0.000001)</p><p>{<br> x=n;</p><p> n=cos(x);</p><p> Root=x-n;<br>} Root=n; return Root ;
}
void main()
{
float f=fun();
printf("Root=%f\n",f);
}
#include <math.h>
float fun()
{float x,n=0.0,Root;</p><p>while(Root>=0.000001||Root<=-0.000001)</p><p>{<br> x=n;</p><p> n=cos(x);</p><p> Root=x-n;<br>} Root=n; return Root ;
}
void main()
{
float f=fun();
printf("Root=%f\n",f);
}
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |