抛物线法解非线性方程(muller法)

clear

clc

syms x

f=inline('x^3+10*x-20');

x0=input('请输入x0=')

x1=input('请输入x1=')

x2=input('请输入x2=')

epsilon=input('请输入误差限epsilon=')

N=20;

n=2;

for n=3:N

    h1=x1-x0;

    h2=x2-x1;

    d1=(feval(f,x1)-feval(f,x0))/h1;

    d2=(feval(f,x2)-feval(f,x1))/h2;

    a=(d1-d2)/(h2+h1);

    b=d2+h2*a;

    c=feval(f,x2);

    t=x2-(2*c*sign(b))/(abs(b)+sqrt(b^2-4*a*c));

    s=feval(f,t);

    if abs(s)

        break

    else

        x0=x1;

        x1=x2;

        x2=t;

    end

end

X=t

n

3.命令行窗口

请输入x0=1.5

x0 =

    1.5000

请输入x1=1.75

x1 =

    1.7500

请输入x2=2

x2 =

     2

请输入误差限epsilon=1e-6

epsilon =

   1.0000e-06

X =

    1.5946

n =

     7

%%

%created by TGU cuienen1912

你可能感兴趣的:(数值计算方法,matlab程序)