MATLAB 迭代法解方程

MATLAB 迭代法解方程

1、代码如下:

%%牛顿迭代法解方程
function x=newton_interation(fun,dfun,x0,EPS) %简单牛顿迭代法%fun即迭代函数,dfun即迭代函数的一阶导数,x0为迭代初值,EPS为精度x1=x0-fun(x0)/dfun(x0);   %牛顿迭代公式
d=norm(x1-x0);            %计算误差
while d>=EPSx0=x1;x1=x0-fun(x0)/dfun(x0);d=norm(x1-x0);
end
x=x1; %将符合条件的结果输出

2、应用demo

假设函数 f(x) 为:
f ( x ) = x 3 + 4 x 2 − 10 f(x)=x^3 + 4\, x^2 - 10 f(x)=x3+4x210
则其一阶导函数为:
f ′ ( x ) = 3 x 2 + 8 x f'(x)=3\,x^2 + 8\, x f(x)=3x2+8x


这里的format long只是使matlab显示小数点的后几位,并不会影响计算结果,没有这一行,matlab只会默认显示显示小数点后5位,导致看不出两个结果的区别。


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部