matlab 中的內聯函式 匿名函式和函式函式

2021-07-11 16:03:59 字數 1225 閱讀 8626

>> f = inline('x

^2+ y

^3')

f = 內聯函式:

f(x,y) = x

^2+y

^3>> f(2,

3)31

其實

inline('x^2+y^3')

等價於inline('x^2+y^3', 'x', 'y')

% 後續可變引數標識引數列表

語法結構為:

fhandle=@(arglist) expression
>> f = @(x, y) x

^2+ y

^3f =

@(x,y)x

^2+y

^3>> f(2,

3)31

匿名函式甚至支援多個輸出:

>> f =@(x) [(x-1)^2 2*(x-1)]

>> f(0)

ans =

1 2

函式函式(function function)是對傳入的其他函式進行操作的函式,傳入的函式作為函式函式的輸入引數。傳入到函式函式中的函式稱為傳遞函式(passed function),事實上matlab中就有許多這樣的函式,例如求解常微分方程的函式ode23、ode45、ode113等都是函式函式,他們的第乙個引數都是傳遞函式。

繪製 [−π

,π] 上正弦圖形:

>> fplot(@(x) sin(x), [-pi, pi])
或者簡化為:

>> fplot(@sin, [-pi, pi])
關於fplot一種稍微複雜點的用法為:

>> fplot(@sin, [-pi, pi, -.5, .5], 2e-2, 10, '-.o')
>> fplot(@sin, [-pi, pi], -.5, 10, '-.or')

>> fplot(@sin, [-pi, pi], -.5, '-.or')

函式式程式設計的典範應當是:feval,

>> feval(@(x, y) sin(x)+cos(y), -5:.01:5, -5:.01:5)

matlab 中的內聯函式 匿名函式和函式函式

f inline x 2 y 3 f 內聯函式 f x,y x 2 y 3 f 2,3 31其實 inline x 2 y 3 等價於inline x 2 y 3 x y 後續可變引數標識引數列表語法結構為 fhandle arglist expression f x,y x 2 y 3f x,y ...

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匿名函式

匿名函式 匿名函式 什麼是匿名函式?匿名函式是不儲存在程式檔案中 但與資料型別是 function handle 的變數相關的函式。匿名函式可以接受輸入並返回輸出,就像標準函式一樣。但是,它們可能只包含乙個可執行語句。例如,建立用於計算平方數的匿名函式的控制代碼 sqr x x.2 變數 sqr 是...