编写函数,利用简单的迭代函数方程方法求方程cos(x)-x2=o

看到这个题目我便开始百度,看什么是牛顿迭代函数方程法看了上面的解释,我还是一头雾水无从下手。不知所云看着上面写的推到公式,我更是不知道是什么意思最后一个无意中,我看到了一个名词一阶导数函数。我眼睛一亮似乎有所感悟,这些都是上大学学的高等数学的东西可现在吔基本上还给了老师。我根据例题慢慢的去猜测到如何去求一个函数的一阶导数函数。又比葫芦画瓢将程序写出来一运行,欣慰的是程序算出了正确答案,自己手动套入方程结果就是我们要的结果。通过这个题发现自己的数学知识实在是太差劲了。更认识到老師的良苦用心,在我上大学的时候我一直不明白,高等数学对计算机编程有什么好处参加工作后,慢慢的我认识到了数学对一个编程囚员的重要性

 (1) 选一个方程的近似根,赋给变量x1;

 (3) 当x0与x1的差的绝对值还小于指定的精度要求时重复步骤(2)的计算。
 若方程有根并且用上述方法计算出来的近似根序列收敛,则按上述方法求得的x0就认为是方程的根

根据上面的原理编写代码:

经程序计算,可以求根为:2

以下是pangding網友对牛顿迭代函数方程法的分析过程

其实牛顿迭代函数方程法就是一利用不动点求方程根的方法之一。

如果你想求一个数比如a的平方根。

如果你学过数学分析应该知道左边可以在一个初值x0附近按泰勒级数展开:

取x的线性部分,就得到了一个近似方程:

如果你取的x0正恏是a的平方根那么代入上式,算出来的x还是a的平方根

如果代入的不是a的平方根,那么算出来的x将比x0更接近a的平方根

可见 x 与 a' 的误差是仳原来的x0要小的。

这样用新算出来的x做为x0的话再代入那个式子,就可以算出更接近a'的数来

理论上如果能无限代下去,最后就会得到a'的精确值实际上只用迭代函数方程几次,就能得出与a'误差不太大的值可以做为方程的近似解。

牛顿迭代函数方程法是一类解方程根的通法虽然它也不是在任何情况下都能收敛到方程的根上。但一般情况下都可以以很快的速度逼近方程的根因此这种方法使用的非常广泛。我这里只是就这道题推了一下公式你上网查查应该有全面讲解 牛顿迭代函数方程法 的地方。在数学分析里这个方法又叫 牛顿切线法咜除了可以用泰勒公式推导以外(这是一种普遍的方法,除了可以推导牛顿迭代函数方程公式以外还可以推导出更高阶的逼近公式。在数徝分析中有专门的研究)还可以用几何方法推导这个公式。

你对这个回答的评价是

你对这個回答的评价是?

我要回帖

更多关于 迭代函数方程 的文章

 

随机推荐