拋物線法解非線性方程(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)<epsilon

        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

發佈了5 篇原創文章 · 獲贊 0 · 訪問量 2594
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章