matlab匿名函式

2021-09-10 01:22:59 字數 825 閱讀 1803

匿名函式

匿名函式

什麼是匿名函式?

匿名函式是不儲存在程式檔案中、但與資料型別是 function_handle 的變數相關的函式。匿名函式可以接受輸入並返回輸出,就像標準函式一樣。但是,它們可能只包含乙個可執行語句。

例如,建立用於計算平方數的匿名函式的控制代碼:

sqr = @(x) x.^2;

變數 sqr 是乙個函式控制代碼。@ 運算子建立控制代碼,@ 運算子後面的圓括號 () 包括函式的輸入引數。該匿名函式接受單個輸入 x,並顯式返回單個輸出,即大小與包含平方值的 x 相同的陣列。

通過將特定值 (5) 傳遞到函式控制代碼來計算該值的平方,與您將輸入引數傳遞到標準函式一樣。

a = sqr(5)

a =25

許多 matlab® 函式接受將函式控制代碼用作輸入,這樣您可以在特定值範圍內計算函式。您可以為匿名函式或程式檔案中的函式建立控制代碼。使用匿名函式的好處是不必為僅需要簡短定義的函式編輯和維護檔案。

例如,通過將函式控制代碼傳遞到 integral 函式,計算 sqr 函式從 0 到 1 範圍內的積分:

q = integral(sqr,0,1);

您無需在工作區中建立變數以儲存匿名函式。可以在表示式內建立臨時函式控制代碼,例如這次對 integral 函式的呼叫:

q = integral(@(x) x.^2,0,1);

表示式中的變數

函式控制代碼不僅可以儲存表示式,還能儲存表示式進行計算需要的變數。

例如,為需要係數 a、b 和 c 的匿名函式建立函式控制代碼。

a = 1.3;

b = .2;

c = 30;

parabola = @(

MATLAB匿名函式

fhandle arglist expr其中,expr是具體的函式表示式,arglist是指定的函式自變數。具體請見下面示例 f x x.2 fx f 1 10 fx 1 4 9 16 25 36 49 64 81 100 g x,y x.2 y.2 gxy g 1 10,2 11 gxy 5 13...

Matlab匿名函式

matlab可以通過function去定義一些功能函式,這使得 變得簡潔和高效。但是如果遇到的是一些簡單的數學公式組成的函式表示式,繼續用function去定義函式,似乎顯得有些冗雜和多餘。這時候,就可以嘗試運用匿名函式了。handle arglist anonymous function其中han...

x 構造匿名函式 MATLAB函式

是用於定義函式控制代碼的操作符。函式控制代碼既是一種變數,可以用於傳參和賦值 也是可以當做函式名一樣使用。舉例 sin是matlab中的乙個函式,但sin只是函式名,還不是函式控制代碼,不可以用於傳參。f sin 這行 定義了乙個函式控制代碼,變數名是f。這樣就可以當做引數傳遞了 這就是上面 中的意...