2012-01-21 3 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.

Вы можете получить функцию ручку функции (в следующем случае, sqrt) путем размещения «на» символ («@») перед именем функции:

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(). 

При использовании fun, это будет, как если бы вы использовали функцию sqrt.

Для получения дополнительной информации, вы также можете обратиться к другому вопросу, касающемуся статического закупок: function handle in MATLAB

Смежные вопросы