基于jupyter notebook的python编程-----用牛顿切线法求高次方程的近似值方法目录
在进行人工智能的学习时候,对于一个高次线性方程的求解是非常重要的,对于我们自己来说,这不困难,重要的是让机器能够理解,所以,有时候,最原始的方法是机器学习的第一步,本次博客,林君学长将带大家学习,通过python编程,利用牛顿切线法对多元线性方程进行求解
一、什么是牛顿切线法?
1、切线法是求可微函数的零点的一种数值算法,是一种一般情况下具有二阶收敛速度的非线性方程的数值解法
二、牛顿切线法的几何意义?
1、牛顿切线法的几何意义如下图所示:
三、牛顿切线法的原理?
1、牛顿切线法的原理如下所示:
四、通过python编程,模拟牛顿切线法,进行例题求解
1、例题
1)、用牛顿切线法求方程2x3+5x2-x+6=0的近似解,要求误差小于0.01
2、进行python的环境搭建
1)、打开Windows终端命令行,输入jupyter notebook,打开我们的jupyter工具,如下所示:
2)、在jupyter的web网页中创建python文件,如下所示:
3)、现在就可以在jupyter的代码行里面输入我们的代码啦!
3、牛顿迭代法(切线法)的python程序
1)、切线法的原理代码如下:
x=int(input("请输入一个参考值:"))
while(abs(x-x0)>=1e-2):
x0=x #临时保存第一次输入的近似值,方便最后对比误差
f=((2*x+5)*x-1)*x+6 #求出f(x)的值
f1=(6*x+10)*x-1 #求出f(x)的导数在x的值
x=x-f/f1
print("牛顿迭代法求得的方程近似解为:",x)
以上代码主要通过while循环来进行函数的迭代,知道计算出误差小于0.01的近似值为止!
4、Shift+Enter运行程序,通过输入不同的的参考值进行对比
1)、输入参考值为1时候的运行结果:
2)、输入参考值为 -1时候的运行结果:
3)、输入参考值为 -3时候的结果:
4)、输入参考值为 3时候的结果:
1.从上面的不同的参考值的对比,我们不难发现,在0.01的精确度的规定范围下,我们可以得到的近似值又很多,不同的参考值计算出来的数据是不一样的。
2.其实通过我们人工的计算可以得到,该3次线性方程的实际解为 -3,只有当我们输入的参考值与实际解一致的时候,得到的参考值才是我们需要的最精确的值
3.上面的结果我们不难发现,这也是牛顿迭代法的一大弊端,因为我们不能确定参考值是什么,所以,我们就不能得到最精确的那个值,为了提高精确度,主要方法有下面两个:
- 准备大量的参考值,进行机器测试模拟,寻找到最精确的近似值
- 提高精确度,python可以模拟很高精确度的,可以到小数点后十几位、比如我们提高到精确度到1e-9,这时候,我们得出的近视值就非常接近或者等于我们的实际值
以上就是本次博客的全部内容啦,希望对小伙伴们理解牛顿切线法有所帮助!遇到问题的小伙伴记得评论区留言哦,看到了会给大家解答的,这个学长不太冷!
陈一月的又一天编程深夜^ _ ^