c语言求一元二次方程的根_C-40 求方程近似解的牛顿-拉弗森法

论坛 期权论坛 编程之家     
选择匿名的用户   2021-6-1 02:49   18   0

c53749c982336acfa9de8abf17a0dce9.png

欢迎光临我的专栏《微积分学习之旅》,一起学习,共同提高。

假设一个汽车经销商在你买车的时候给你提供了两种方案。一个方案是18000美元全款,另一个方案每月375美元,5年付清。你想知道经销商每月向你收取的实际利率是多少。为了回答这个问题,你需要求解下面这个方程(由“现值”公式得到。啥是“现值”?见文末)

那么,你该如何解答这个方程呢?

对于一元二次方程,我们有熟悉的求解公式,三次和四次方程也有求解公式,不过非常复杂。对于5阶及以上的多项式函数

,却没有这样的求解公式。同样地,也找不到像
这样的超越方程的精确根。

对于上述60次方的方程,可以通过画出方程等号左边的图像找到近似解。通过比较高级的电脑软件(有些软件干不了这活儿)绘图可得下图

76bf71e310c562d0bc070d6baf5a1f5b.png

我们看到,方程的解除了

之外,还有一个解在0.007和0.008之间。放大后显示,这个根大约是0.0076。如果我们需要更高的精确度,我们可以逐步放大,但这会变得很烦人。另一种更快的方法是使用计算机代数系统用数值方法解这个方程。我们会发现根可以准确到小数点后9位,是0.007628603。

这些装置是如何解这个方程的呢?它们使用了各种各样的方法,但大多数都使用了牛顿法,也称为牛顿-拉弗森法(Newton-Raphson method)。我们将解释这个方法是如何在计算器或计算机中干了什么。另外,这也是作为线性逼近思想的一个应用。

如下图所示,我们要解一个形如

的方程,它的根对应于
图像的
截距。我们把所求的根记为
。我们首先从第一个近似值
开始,在
处作曲线的切线
,该切线的
截距标记为

1513ebe03a184206563e95d5dfeba510.png

牛顿-拉弗森法背后的思想是,由于切线接近曲线,所以它的

截距即
,接近曲线的
截距
;而切线是一条直线,它
截距比较容易找到。

为了得到关于

的过点
的方程,我们利用
是切线这一信息,即得
那么对
的截距
来说,就一定有
如果导数不为零,那么

这样就得到了

的第二个近似值

如果继续重复上述过程,我们将会得到一系列的近似值

如下图所示

a4c8cafd3f530d6c673a07cb0afcdbe4.png

一般地,如果第

个近似是
,且
,那么它的下一个近似就是
如果随着
变大,
越来越靠近
,这时我们称这个数列收敛于
,并记作

要注意的是,有些情况牛顿-拉弗森法依赖于一个恰当的初始值

,如果初始值选择不恰当,可能造成近似值数列不收敛。甚至有些函数根本就无法使用牛顿-拉弗森法。如下图所示

5bfbb8a12ffc3fa873079d670111ad51.png

开始,找到方程
的根的第三个近似

解答

,则

为什么要将初始近似值定为

呢?因为经过一些尝试计算发现
,相对来说,
比较接近方程的根。

这时就有

时,
时,有
因此,第三个近似值为
,且精确到了小数点后4位。

利用牛顿法求

精确到小数点后8位的结果。

解答 本题其实可以看成是求下列方程的根

所以,我们令
,这时
,则有

如果选择初始近似值为

,则有
可以看出,
的结果在前8位是相同的,所以本题结果为

寻找符号方程

的精确到六位小数的根。

解答 将方程写为如下函数形式,即求函数等于0的解。

它一阶导数为
由牛顿-拉弗森法得

为了寻找一个合适的

,我们分别画出
的函数图像,如下图所示。

423a854303700f3fa74a98e15d1f1588.png

图中表明,余弦曲线和倾斜直线的交点的横坐标仅比1小一点,所以我们可以令第一个近似为

。这样就有

由于

在前六位小数上相同(其实是前八位小数),我们方程精确到6为小数的根为0.739085。

除了通过画两函数的草图来找牛顿法的第一个近似值之外,我们还可以通过作图软件得到更精确的图像,如下图所示。

0de8f14277edd4f7a700021d7c068078.png

此时发现交点在

附近,我们把它作为第一个近似值,再次利用牛顿法可得:
由此可知,所以我们得到了和之前一样的答案,但是却少了一步。也就是说,初始值的选择不同,各近似值也会有不同,但是精度越来越高之后,符合要求的解会越来越一致。

专栏链接:

Mr.Xiong:专栏目录-《微积分学习之旅》zhuanlan.zhihu.com
ff65e3a1e4fcdfc8361932885a00557e.png
Mr.Xiong:A-00 微积分学习再出发(一点说明)zhuanlan.zhihu.com
19c60a0920db0eaa3722ad768857aaf5.png
分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:3875789
帖子:775174
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP