clear all
clc
syms x
f=@hanshu;
X1=paowuxian(f,1,2,3);
f1=f/(x-X1);
function f=hanshu(x)
f=x^6-2*x^5+2*x^4+x^3+6*x^2-6*x+8;
end
function root= paowuxian(f,x0,x1,x2)
disp(f);
max=1000;
N=1;
eps1=1e-10;eps2=1e-10;
while (Nf0=feval(f,x0);f1=feval(f,x1);f2=feval(f,x2);
lemda=(x2-x1)/(x1-x0);delta=(x2-x0)/(x1-x0);
g=f0*lemda^2-f1*delta^2+f2*(lemda+delta);
LEMDA=-2*f2*delta/(g+sign(g)*sqrt(g^2-4*f2*delta*lemda*(f0*lemda-f1*delta+f2)));
x3=x2+LEMDA*(x2-x1);
f3=feval(f,x3);
if abs(x3)<1
delta=abs(x3-x2);
else
delta=abs(x3-x2)/abs(x3);
end
if (delta<=eps1 )|| (abs(f3)<=eps2)
root=x3;
froot=f3;
fprintf('The root is')
disp(root)
fprintf('The froot is')
disp(froot)
break
else
N=N+1;
x0=x1;x1=x2;x2=x3;
end
disp(N);
end
end
最好是把报错信息贴出来,方便分析