Can I get multiple outputs using an anonymous function as an argument for another function?
古いコメントを表示
So I've got a function FuseArrays that takes in a 2D cell array, applies a function to each cell, and then combines corresponding rows of the resulting array using a second function. So when I call it it looks like this:
rateVector = FuseArrays(burstInfoArray, @GetBurstMetrics, @(x) mean(x, 'omitnan'));
I'm running into a problem where I want to get the second output from GetBurstMetrics and apply the "fusing" function (the second one, the anonymous one) to the resulting array from the second output of GetBurstMetrics. Is there anyway that I can edit this line to replace @GetBurstMetrics with some kind of anonymous function syntax that will return only it's second output? Thank in advance!
EDIT: I have already tried simply [output1, output2] = FuseArrays....
This doesn't seem to have the desired effect, it seems to expect FuseArrays itself to have multiple outputs, as opposed to the argument functions.
2 件のコメント
Rik
2018 年 8 月 30 日
This is blurring the line a bit between what a function is and what an input is. If you want the second output of that function, can't you use some intermediary function?
function out=get_second_output(in_handle)
[~,out]=in_handle();
end
John Jacoby
2018 年 8 月 30 日
採用された回答
その他の回答 (0 件)
カテゴリ
ヘルプ センター および File Exchange で Logical についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!