在进行人工智能的学习时候对於一个高次线性方程的求解是非常重要的,对于我们自己来说这不困难,重要的是让机器能够理解所以,有时候最原始的方法是机器学习的第一步,本次博客林君学长将带大家学习,通过python编程利用牛顿切线法对多元线性方程进行求解
1、切线法是求可微函数的零点嘚一种数值算法,是一种一般情况下具有二阶收敛速度的非线性方程的数值解法
1、牛顿切线法的几何意义如下图所示:
1、牛顿切线法的原悝如下所示:
1)、用牛顿切线法求方程2x3+5x2-x+6=0的近似解要求误差小于0.01
2、进行python的环境搭建
3)、现在就可以在jupyter的代码行里面输入我们的代码啦!
3、犇顿迭代法(切线法)的python程序
1)、切线法的原理代码如下:
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,这时候,我们得出的近视值就非常接近或者等于我们的实际值
以上就是本次博客的全部内容啦希望对小伙伴们理解牛顿切线法有所帮助!遇到问题的小伙伴记得评论区留言哦,看到了会给大家解答的这个学长不太冷!
陈一月的又一天编程深夜^ _ ^