Функция передачи к другой функции

Можно использовать указатели на функцию в качестве входных параметров к другим функциям, которые вызваны функциональные функции. Эти функции выполняют математические выражения в области значений значений. Типичные функциональные функции включают integral, quad2d, fzero и fminbnd.

Например, чтобы найти интеграл естественного журнала от 0 до 5, передайте указатель на функцию log к integral.

a = 0;
b = 5;
q1 = integral(@log,a,b)
q1 = 3.0472

Точно так же, чтобы найти интеграл sin функционируют и функция exp, указатели передачи на те функции к integral.

q2 = integral(@sin,a,b)
q2 = 0.7163
q3 = integral(@exp,a,b)
q3 = 147.4132

Кроме того, можно передать указатель на анонимную функцию, чтобы функционировать функции. Анонимная функция является короткой основанной на выражении функцией MATLAB®, которая не требует программного файла. Например, оцените интеграл x/(ex-1) на области значений [0,Inf]:

fun = @(x)x./(exp(x)-1);
q4 = integral(fun,0,Inf)
q4 = 1.6449

Функции, которые берут функцию в качестве входа (названный функциональными функциями) ожидают, что функция, сопоставленная с указателем на функцию, имеет определенное число входных переменных. Например, если вы вызываете integral или fzero, функция, сопоставленная с указателем на функцию, должна иметь точно одну входную переменную. Если вы вызываете integral3, функция, сопоставленная с указателем на функцию, должна иметь три входных переменные. Для получения информации о вызове функциональных функций с большим количеством переменных смотрите Функции Параметризации.

Связанные примеры

Больше о