當前位置:編程學習大全網 - 編程語言 - 用matlab編程利用二分法求方程在區間(2,3)內的近似解n=3 ,利用切線法求方程的近似解n=2,方程x^3-2x-5=

用matlab編程利用二分法求方程在區間(2,3)內的近似解n=3 ,利用切線法求方程的近似解n=2,方程x^3-2x-5=

先建立二分法的fun.m文件,代碼如下:

function fun(a,b,e)

%f是自定義的函數

%a為隔根區間左端點,b為隔根區間右端點,e為絕對誤差限

if nargin==2

e=1.0e-6;

elseif nargin<2

input('變量輸入錯誤!');

return;

end

if a>=b

input('隔根區間輸入錯誤!');

return;

end

a1=a;

b1=b;

c1=(a1+b1)/2;

n=0; %叠代計數器,初值為0

while (b-a)/(2^(n)) >= 1/2*e

c1

if f(c1)==0

c1

elseif f(a1)*f(c1)>0

a1=c1;

c1=(a1+b1)/2;

n=n+1;

elseif f(b1)*f(c1)>0

b1=c1;

c1=(a1+b1)/2;

n=n+1;

end

end

n

再建立所要求函數的f.m文件:

function y=f(x)

y=x^3-3*x-1;

運行:fun(-100,100,10^(-4))

-100 100 為根所在該區間,10^(-4)表示精度要求。

結果:c1 =

0

c1 =

50

c1 =

25

c1 =

25/2

c1 =

25/4

c1 =

25/8

c1 =

25/16

c1 =

75/32

c1 =

125/64

c1 =

225/128

c1 =

475/256

c1 =

975/512

c1 =

1925/1024

c1 =

988/529

c1 =

2494/1331

c1 =

640/341

c1 =

1189/633

c1 =

171/91

c1 =

1357/722

c1 =

109/58

c1 =

1013/539

c1 =

701/373

n =

22

最後結果為 701/373

歡迎指錯。

另外,站長團上有產品團購,便宜有保證

  • 上一篇:長沙信息學院學費
  • 下一篇:做程序員能逆襲人生嗎?哪裏的程序編輯教的好?
  • copyright 2024編程學習大全網