matlab中fzero怎麼用,matlab簡單問題 關於fzero

時間 2021-09-21 10:00:42

1樓:愚人談娛樂

f1=@(x)cos(x)-x;

x0=0.55;

x1=fzero(f1,x0)

使用fzero函式必須先定義好函式

2樓:南取名字

格式是:z=fzero(f,x)

意義,在f這個方程中找x附近的零點賦值到z需要對f設個方程eg f=@(a) a^2+1x=5在f方程以x=5附近找零點

3樓:三翼熾天使

x=fzero(@f,x0);

這裡的@f指的是函式f,要編寫名為f的函式,如下function y=f(x)

y=cos(x)-x;

儲存為名為f的m檔案。

使用fzero函式必須先定義好函式。

4樓:匿名使用者

做了如下修改,希望有所幫助,這裡的關鍵是定義好fzero裡邊的函式,修改如下: x=-3:0.1:4;

y=sin(x).*x.^2-x+1;

fun=@(x) y;

plot(x,y,'r');

hold on;

grid;

xlabel('x');

ylabel('f(x)');

x1=fzero(@(x) sin(x).*x.^2-x+1,-2.5)

matlab簡單問題 關於fzero

5樓:醉蝶翩翩

我也很好奇 就試了一下 fzero(@(x)x^2-1,0.05)時,ans=1,。fzero是一個數值搜尋過程,依賴於函式特性,值的指定,以及matlab所能識別的最小步長。

如果想計算更準確,可以用符號函式求解0點。符號函式不用關心具體的函式值,完全當做符號處理,所以,不存在上述不穩定因素。

6樓:匿名使用者

這是一個很好的問題,雖然看似簡單,但涉及到很多值得思考的問題。

首先,應該明確一點——fzero求函式零點是和初值的選取有密切關係的,例如,x^2-1有兩個零點,取不同的初值,可能會求得不同的零點,如下圖所示。

從圖中能發現一些奇怪的現象,例如:

>> fzero(f,0.01)

ans =

-1>> fzero(f,0.16)

ans =

1>> fzero(f,0.161)

ans =

-1>> fzero(f,-0.01)

ans =

1>> fzero(f,-0.16)

ans =

-1>> fzero(f,-0.161)

ans =

1按常理,應該求得距離初值比較近的零點才對,但上面的例子顯示,事實並非如此,甚至,求得相同零點所對應的初值範圍還不連續,的確很讓人崩潰。。。

說明一下fzero求零點的基本步驟:它會首先確定一個區間,使得區間兩端的函式值異號,這樣,只要函式連續,就能夠求出一個零點。

確定區間的過程與初值x0有關,如果x0非零,就以x0/50為初始步長,向正負兩個方向分別擴充套件區間,如果滿足函式值異號,則確定區間的步驟完成,否則按照sqrt(2)的倍數增大步長,繼續擴充套件區間。需要注意的是,擴充套件區間時,按照先負方向減步長、後正方向加步長的順序,而且一旦左端點滿足要求就會終止,這樣,就可能出現從某個正的初值x0出發,分別向正負方向n次擴充套件區間,直到n+1次時,剛好負方向的符號改變,從而這個區間就確定為包圍了負方向(例如-1)這個零點。

以上應該大致可以解釋,為什麼不是象直覺理解的那樣“求出的零點應該靠近初值”。

7樓:匿名使用者

都說簡單問題了,還問?

matlab中用fsolve或fzero求零值

8樓:匿名使用者

用fsolve求解方程,如果引數是一個方程組,則意味著求得的結果必須滿足方程組中的每一個方程,所以,不能直接用類似 fzero(@(y)y-2*x,[0 0 0]) 的做法。

可以用迴圈,或者,如果想避免顯示迴圈,可以用arrayfun:

>> x=[1 2 3];

>> arrayfun(@(x)fzero(@(y)y-2*x,0),x)

ans =

2     4     6

matlab怎麼使用,matlab中怎麼使用匯入的資料?

matlab基本的使用方法 1.讀取影象 用imread函式讀取影象檔案,檔案格式可以是tiff jpeg gif bmp png等。比如 讀進來的影象資料被儲存在變數f中。尾部的分號用來抑制輸出。如果 是彩色的,可以用rgb2gray轉換成灰度圖 f rgb2gray f 然後可以用size函式看...

matlab怎麼寫函式檔案,用matlab如何編寫一個函式檔案,實現 n

matlab的函式檔案是按下列的格式進行編寫的。具體的格式為function 輸出變數 函式名稱 輸入變數 例如 用matlab的程式編輯器,寫函式檔案 m函式eg2 1f.mfunction s f m s 0 for n 1 m s s 1 n n end然後,儲存為eg2 1f.m 然後在指令...

matlab怎麼呼叫m檔案,matlab中一個m檔案怎麼呼叫另一個m檔案的函式

用任何方式建立都行,包括記事本,或者是matlab自帶的編譯器,然後將matlab工作目錄切換到檔案所在目錄,直接輸入檔名執行。或者在任何目錄下輸入該檔案的完全路徑。m檔案有兩種格式,一種叫做script,就是將一系列的命令寫成一個檔案。執行這種檔案相當於一次性執行了很多條命令 所有執行過程中的資料...