上传者: 38670949
|
上传时间: 2022-03-15 16:17:55
|
文件大小: 595KB
|
文件类型: -
枚举法的matlab代码实现
newtonMethod
牛顿法求解复数域上x^4-1=0收敛域的程序
using
Python
[总体分析]
1、牛顿法本质上是关于迭代求解非线性方程解的方法,而迭代是为了不断逼近精确解。牛顿法迭代的关键在于对非线性函数(方程)的线性化。它是一种近似求解的方法,关于其原理不再赘述。
2、求解收敛域,程序的关键在于如何判断对于给定的初值,是收敛的还是发散的。如果收敛,收敛于哪个解。
3、经过综合考量程序性能和解的正确性,同时根据牛顿法在收敛域内能以平方量级快速收敛的特点,确定程序中牛顿法退出迭代的限制条件为:①最大迭代次数限制(判定为发散);②迭代值之间距离精度限制(收敛);③函数值精度限制(收敛)。
4、通过枚举一定范围内的点,来绘制出收敛域。
5、同时需要注意一些特殊情况,比如在运用迭代时,分母为0的情况。
[编程语言与环境]
C/C++/C#/Java等编译型语言:由于编译型语言对变量类型限制严格(在编译之前必需确定变量类型),容易让程序员花费过多精力纠结于程序实现细节而忽略问题本身的分析,为了提高效率,不采用;
MALTAB:解释型语言,不支持面向