Подтвердить что ты не робот

Почему нужна функция Matlab "feval"?

Функциональный дескриптор может использоваться для вызова функции, например.

f = @sin;
val = f(1.0);

так почему "feval" когда-либо понадобился?

val = feval(f, 1.0);

Когда это полезно?

4b9b3361

Ответ 1

Для feval первым аргументом может быть строка с кавычками, что дает вам большую гибкость, чем дескриптор функции. Вы можете делать что-то вроде функций с базовым именем, за которым следует индекс, как в fn1, fn2, fn3, а затем динамически использовать их с помощью feval(['fn', num2str(k)], x, y, z);.

Ответ 2

До версии 14 (MATLAB 7) feval был способом для оценки дескриптора функции... или для оценки функций, когда они указаны по их имени.

Источник: Ментальная модель для feval().

Ответ 3

Не обязательно всегда знать, какая функция должна использоваться; существует много примеров

Вот глупый пример: пусть в текстовом файле после каждого номера представлено другое слово, которое может быть оценено как математическая функция, например, mean, min, max, square, и задача вычисляет результат после каждый из них,

2,square,2,power,4,log,10 ...

и вы хотите написать программу для прохождения этого текста и вычисления конечного результата...

Например, еще один пример: я хочу определить функцию графика с помощью функции ввода функции пользователя f, поэтому она должна быть гибкой...
[email protected](f,x) plot(f(x))