Using a function as an input to another
显示 更早的评论
I have a function with two output arguments. I'm trying to pass it as an input to another function where I will need both outputs of the first function.
This is just a minimal example. The two functions:
function [X y] = M(d)
X = d;
[~,Y] = d;
end
function [A B] = N(a)
A = 2*a;
B = 3*a;
end
Basically, I want the following two lines to produce the same output
[a b] =N(3)
M(N(3))
1 个评论
madhan ravi
2018-10-22
add comments to your code so that its easier to understand what you are trying to do
采纳的回答
更多回答(1 个)
madhan ravi
2018-10-22
编辑:madhan ravi
2018-10-22
function [X y] = M(d) %like this not sure what you want to do but a guess
X = d;
[~,Y] = d;
[A B] = @N
function [A B] = N(a)
A = 2*a;
B = 3*a;
end
end
7 个评论
kor vec
2018-10-22
madhan ravi
2018-10-22
give a short example with numbers
kor vec
2018-10-22
Walter Roberson
2018-10-22
You are not passing in a function: you are passing in a vector.
madhan ravi
2018-10-23
Thank you sir Walter
Walter Roberson
2018-10-23
[A B] = @N
would try to assign a handle to the function N to both A and B, but would fail because the operation of taking a handle to a function does not return multiple outputs.
madhan ravi
2018-10-23
Oh ok sir thank you for clarifying
类别
在 帮助中心 和 File Exchange 中查找有关 Startup and Shutdown 的更多信息
产品
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!