Consider the following function
function f = fun1(x, a)
f = a * x;
end
here x is a scalar variable and a is a scalar parameter. Now consider this second function
function g = fun2(fun)
x = rand;
g = f(x, 1);
end
if we pass @fun1 to fun2, then fun2 evaluates fun1 over the variable x with the parameter a fixed to the value 1.
I'm wondering if it is possible to pass to fun2 the function fun1 with a given parameter a fixed, e.g. a=1.
In my main script I would like to write something like
g = fun2(@fun1(x, 1));
where I'm intending that the first input argument x will be defined inside fun2, while the parameter a is already fixed to the value 1, so that is not necessary to define a inside function fun2

 채택된 답변

Stephen23
Stephen23 2023년 12월 29일
편집: Stephen23 2023년 12월 29일

1 개 추천

The MATLAB documentation covers this here:
See also:
g = fun2(@(x)fun1(x,1))
g = 0.3941
function f = fun1(x, a)
f = a * x;
end
function g = fun2(fnh)
x = rand;
g = fnh(x);
end

추가 답변 (0개)

카테고리

도움말 센터File Exchange에서 Entering Commands에 대해 자세히 알아보기

질문:

2023년 12월 29일

편집:

2023년 12월 29일

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by