C语言程序设计 迭代法

我在做程序设计题时常碰到用迭代法求解问题到底什么叫迭代法???比如用迭代法求方程x=cosx的根,要求误差小于10E-6(10的负六次方)。以此题为例如何用迭代法求解请详... 我在做程序设计题时 常碰到 用迭代法 求解问题 到底什么叫迭代法???

比如 用迭代法求方程 x=cos x的根,要求误差小于 10E-6(10的负六次方)。

以此题为例 如何用迭代法求解 请详细解释一下 谢
展开
 我来答
天高地远山
2012-03-03 · 超过31用户采纳过TA的回答
知道答主
回答量:66
采纳率:0%
帮助的人:66.7万
展开全部
main()
{double x1,x2;
x1=0.0;
x2=cos(x1);
while(fabs(x2-x1)>le-6)//当误差大于10的负六次方循环。
{x1=x2;
x2=cos(x1);
}
printf("x=%f\n",x2);
}

牛顿迭代法,是用于求方程或方程组近似根蠢滚的带隐余一种常用的算法设计方法。设方程为f(x)=0,用某种数学方法导出等价的形式 x(n+1) = g(x(n)) = x(n)–f(x(n))/f‘(x(n)).然后按以下步骤执行:
(1) 选一个方程的近似根,赋给变量x1;
(2) 将x0的值保存于变量x1,然后计算g(x1),并将结果存于变量x0;
(3) 当x0与x1的差的绝对值还小于指定的精度要求时,重复步骤(2)的计算。
若方程有根,并且用携绝上述方法计算出来的近似根序列收敛,则按上述方法求得的x0就
认为是方程的根。

参考资料: http://zhidao.baidu.com/question/42941394.html

enochwills
2012-03-04 · TA获得超过4793个赞
知道大有可为答主
回答量:2031
采纳率:96%
帮助的人:1634万
展开全部
这个其实很简单,假设有台电视,我让你猜价钱:
你说:4000,我说:高了(那么你把价钱降低一半报一次)
你说:2000,我说:低了(那么你把价钱升到4000和2000正中间)
你说:3000,我说:还低(那么你把价钱升到3000和4000正中间)
你说:3500,我说:高了(那么你把价钱降到3000和3500正中间)
你说:3250,我说:还高(那么你把价钱降到3000和3250正中间)
你说:3125,我说:低了(那么你把价钱升到3125和3250正中间)
你说:3200,我说:答对了!
这就是典型的迭代。当计算没野念有表达式的时候,你输入一个初始化的数据(比如4000),然后通过一个判断程序检验是否正确,如果不正确,就按照上两次之间的结果进行判断,以逐渐逼近的方式求得最终的数值,这就叫颂肆困迭代

这个迭代有几个条件:第一:你有一个计算方式,从前面两步的一个值(比如前面的例子从最低的高值和最高的低值之间去中间值,就是一个计算方式)
第二,有一个判断程序,比如我心里知道的那个数,对你的报价进行比较
第三,有一个收敛雹猜条件(上面的例子是完全猜对,其实你也可以允许误差在100元内就算猜的正确)

相信聪明的你一定看的明白,要不然你去找范伟和赵本山要答案吧,哈哈哈!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式