Передайте функцию другой функции

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

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

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

Точно так же, чтобы найти интеграл sin функции и exp function, передайте указатели на эти функции, чтобы 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функция, сопоставленная с указателем на функцию, должна иметь три входные переменные. Для получения информации о вызове функций функции с большим количеством переменных, смотрите Параметризация функций.

Похожие примеры

Подробнее о