MATLAB割線法程式,MATLAB 割線法程式

2022-11-18 20:06:31 字數 2278 閱讀 2557

1樓:

簡要的說,就是你的自定義函式沒有定義inline型別的輸入變數而且你的程式裡面也沒有用到fun

應該是呼叫的問題

gexian(@fun,0,1,1e-6)或者其他寫法試試

2樓:昨夜星辰

非常感謝jimtien,我也為有需要的人再提供一些幫助:

用割線法求方程 x^2-e^x=0 的根 matlab做

command window 視窗輸入:

clear all

global fnq dfnq

fnq = @(x) x^2 - exp(x); % x^2 - exp(x)=0,要求的原方程

dfnq = @(x) 2*x-exp(x); %一階導

tol = (1/2)*10^-4; %精度|x*-xk|<(1/2)*10^-4

gmax = 1e3; %最大值1000

x01 = -3; %區間[-3,3]

x02 = 3;

[k,xk,yk,piancha]=gexian(x01,x02,tol,gmax); 先把jimtien的程式儲存為gexian.m,以便此呼叫function

fprintf('\n割線法:%.5f\n', xk)

%上面的程式為一好友:童偉,所編。

3樓:匿名使用者

z=x-(feval(f,x)*(x-y))/(feval(f,x)-feval(f,y));

把f 改成fun

牛頓迭代法的matlab**

4樓:校溫

function y=f(x)

y=f(x);%函式f(x)的表示式

endfunction z=h(x)

z=h(x);%函式h(x)的表示式

end x=x;%迭代初值

i=0;%迭代次數計算

while i<= 100%迭代次數

x0=x-f(x)/h(x);%牛頓迭代格式if abs(x0-x)>0.01;%收斂判斷x=x0;

else break

endi=i+1;

endfprintf('\n%s%.4f\t%s%d','x=',x,'i=',i) %輸出結果

5樓:螃蟹剝了我的殼

主程式:

function [k,x,wuca,yx] = newton(x0,tol)

k=1;

yx1=fun(x0);

yx2=fun1(x0);

x1=x0-yx1/yx2;

while abs(x1-x0)>tol

x0=x1;

yx1=fun(x0);

yx2=fun1(x0);

k=k+1;

x1=x1-yx1/yx2;

endk;

x=x1;

wuca=abs(x1-x0)/2;

yx=fun(x);

end分程式1:

function y1=fun(x)

y1=sqrt(x^2+1)-tan(x);

end分程式2:

function    y2=fun1(x)%函式fun(x)的導數

y2=x/(sqrt(x^2+1))-1/((cos(x))^2);

end結果:

[k,x,wuca,yx] = newton(-1.2,10^-5)k =8

x =0.9415

wuca =4.5712e-08

yx =-3.1530e-14

[k,x,wuca,yx] = newton(2.0,10^-5)k =243

x =nan

wuca =nan

yx =nan

6樓:心願留在

newton.m

function y=newton (x0)x1=x0-fc (x0)/df(x0)

n=1;

while (abs (x1-x0)>1.0e-6)&(n<=100000000)

x0=x1;

x1=x0-fc(x0)/df(x0);n=n+1;

endx1

nfc.m

function y=fc(x)

y=3*x.^2-exp(x);

df.m

function y=df(x)

y=6*x-exp(x);

Matlab解決物理問題,題目 利用Matlab軟體解決物理問題,問題如下 在高度h 10m處以速度v 10m s

u1 340 u2 1450 f1 200 f2 2000 m11 u1 f1 m12 u2 f2 m21 u2 f1 m22 u2 f2 題目 利用matlab軟體解決物理問題,問題如下 在高度h 10m處以速度v 10m s 如何用matlab來解決物理學的問題 70 先人工建立微分方程,再用m...

matlab引數方程畫橢球,怎樣用matlab畫橢球

theta beta meshgrid linspace 0,2 pi,1000 linspace 0,pi,1000 x 4 sin beta cos theta y 9 sin beta sin theta z cos beta mesh x,y,z 怎樣用matlab畫橢球?ellipsoid...

matlab程式if語句用法,Matlab中如何使用if語句?

matlab中我們常常用到條件判斷語句結構,通過例項介紹這個結構的用法 1 if.end結構,執行下面的句子,此條件語句是判斷5是否大於3,如果大於3,就將1賦值給 2 if.else.end 結構,我們以如下內容進行判斷 執行以上語句,結果如下a1 1,a2 1,判斷a1是否大於a2,顯然不大於,...