2012-01-21 118 views

回答

6

你試過了嗎?學習像matlab這樣的工具的最好方法是嘗試一些東西!

實際上,你甚至不需要創建一個m文件函數。我會在這裏使用一個函數句柄。

fun = @(x) sin(x); 
f1 = @(f,a,b,c) c*f(a+b); 
f1(fun,2,3,4) 

ans = 
     -3.8357 

我也可以將f1定義爲一個m文件函數,但這需要我保存一個文件。何必?

5

你在找什麼是function handle

a = 1; 
b = 2; 
c = 3; 
fun = @sqrt;  % obtain the function handle of sqrt() 
f = f1(fun, a,b,c); % pass the function handle of sqrt() into your function f1(). 

當你使用:

您可以通過將「at」符號(「@」)在函數名前獲得函數的函數句柄(在下列情況下,sqrtfun,就好像你在使用sqrt函數。

欲瞭解更多詳細信息,你也可以參考另一個Stackoverflow的問題:function handle in MATLAB