How do you create a composite function in matlab?
28 次查看(过去 30 天)
显示 更早的评论
If I have two functions, like
function a=func1(x)
and
function b=func2(q,p)
as examples. Is it possible to combine them to create a composite function like func1(func2(q)) = func1∘func2(q), and if so how do you do that?
3 个评论
Walter Roberson
2023-5-2
Note: MATLAB does not have any explicit function-composition operator . For example Maple would allow you to write func1@func2(q) but MATLAB does not have any support for such an operator.
MATLAB does allow you to define
func1_o_func2 = @(x) func1(func2(x))
fplot(func1_o_func2, [-5 5]) %for example
采纳的回答
Steven Lord
2021-2-28
f = @sin;
g = @cos;
% define it two different ways
fg = @(x) f(g(x));
h = @(x) sin(cos(x));
% Compare the two approaches
x = 0:0.1:2*pi;
max(abs(fg(x)-h(x)))
Or you could write a function file.
function y = myfun3(x)
y = func1(func2(x, 3)); % fixing p = 3
end
0 个评论
更多回答(0 个)
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!