用牛顿方法求方程的解并且根的重数用牛顿方法求方程的解,并输出重数
clear
clc
f=zou;
x1=input('请输入初值:');
eps=input('请输入误差精度:');
b=qiudao(x1);
x2=x1-eval(subs(f,x1))/b;
i=1;
while abs(x2-x1)>=eps
x1=x2;
b=qiudao(x1);
x2=x1-eval(subs(f,x1))/b;
i=i+1;
if i==1000
break;
end
end
if i>=1000
disp('newto...
用牛顿
求方程的解,并输出重数
clear
clc
f=zou;
x1=input('请输入初值:');
eps=input('请输入误差精度:');
b=qiudao(x1);
x2=x1-eval(subs(f,x1))/b;
i=1;
while abs(x2-x1)>=eps
x1=x2;
b=qiudao(x1);
x2=x1-eval(subs(f,x1))/b;
i=i+1;
if i==1000
break;
end
end
if i>=1000
disp('newton迭代法很可能不收敛!')
else
n=chongshu(x2,eps);
disp(['方程的根是:x=',num2str(x2),'它的重数是:
',num2str(n)]);
end
function y=zou
syms x
y=x^4+x^2+x-8;
end
function y=qiudao(a)
f=zou;
h=0.001;
while abs(subs(f,a+h)-subs(f,a-h))>=0.0001
h=h/10;
end
y=eval((subs(f,a+h)-subs(f,a-h))/(2*h));
end
function y=chongshu(x2,eps) f=myf;
s3=eval(subs(f,x2));
f=diff(f);
s1=eval(subs(f,x2))^2; f=diff(f);
s2=eval(subs(f,x2));
s=s1/(s1-s2*s3);
y=s;
end
继续阅读
本文档为【用牛顿方法求方程的解并且根的重数】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑,
图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。