一元三次方程解法 编程求解非线性方程组,分别用不动点迭代法和牛顿法(要求输出迭代次数)C/C /MATLAB任意?
编程求解非线性方程组,分别用不动点迭代法和牛顿法(要求输出迭代次数)C/C /MATLAB任意?
函数X=Newton(fname,dfname,x0,e,n)%目的:求解非线性方程f(X)=0%fname和dfname的牛顿迭代法分别表示f(X)的m函数句柄或嵌入函数表达式,其导数函数%x0为迭代初值,e为精度(默认值1e-7)%X为返回数值解并显示计算过程,设置迭代次数n的上限以防发散(默认值500)%。示例:求解方程ln(x)Sin(x))=0%在MATLAB窗口中输入:Newton(@(x)log(x Sin(x)),@(x)(1 cos(x))/(x Sin(x)),0.1)if nargine&;AMPK
这里的Newton方法是找到方程f(x)=0根的方法。利用迭代法,通过一定的迭代公式得到x(K1)=g(XK)。如果我们记得EK=| xk-x*|,其中x*是F(x)=0的根。EK是迭代序列{XK}和真解之间的距离。EK=0表示已获得真解。证明了如果f(x)满足一定的条件,则{XK}收敛到x*,即EK是关于e(k-1)^2的,这是一种快速收敛的方法。因为你认为,例如,如果E1=0.1,那么E2约为0.01,E3约为10^(-4),E4约为10^(-8),E5约为10^(-16)。只需几次迭代就可得到有效位数约为16位的近似解,收敛速度很快。当然,很难做到这么快,但牛顿法一般被认为是求解非线性方程根的一种非常有效的方法。
一元三次方程解法 一元三次方程解法步骤 一元三次方程十字相乘
版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。