How do you create a composite function in matlab?
23 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Buttercup12
am 28 Feb. 2021
Kommentiert: Walter Roberson
am 2 Mai 2023
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 Kommentare
Torsten
am 2 Mai 2023
syms x
f(x) = ...;
g(x) = ...;
h1(x) = f(g(x))
h2(x) = g(f(x))
Walter Roberson
am 2 Mai 2023
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
Akzeptierte Antwort
Steven Lord
am 28 Feb. 2021
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 Kommentare
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu Number Theory finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!