inline function returning multiple output variables
조회 수: 5 (최근 30일)
이전 댓글 표시
tdata = table(["US";"US";"US";"UK";"UK";"TW";"TW";"TW";"TW"], [1;1;5;1.20000000000000;3;4;5;1;2],'VariableNames',{'name','Loss'});
tecdf = @(x) ecdf( x, 'Function', 'survivor');
tout = varfun( tecdf, tdata, 'GroupingVariables','name','Input','Loss')
tout only contains the first output from ecdf function. Is there a way to have it returns both output variables?
Thanks,
댓글 수: 0
채택된 답변
Matt J
2023년 8월 25일
편집: Matt J
2023년 8월 25일
A wrapper is needed.
tdata = table(["US";"US";"US";"UK";"UK";"TW";"TW";"TW";"TW"], [1;1;5;1.20000000000000;3;4;5;1;2],'VariableNames',{'name','Loss'});
tecdf = @(x) ecdfWrapper( x, 'Function', 'survivor');
tout = varfun( tecdf, tdata, 'GroupingVariables','name','Input','Loss')
function out=ecdfWrapper(x,varargin)
[o1,o2]=ecdf( x, varargin{:});
out=[o1,o2];
end
댓글 수: 3
Image Analyst
2023년 8월 25일
Rather than have to have an anonymous function use a wrapper function, why not just make the anonymous function into a regular function? Then there's no need for the anonymous function anymore.
추가 답변 (0개)
참고 항목
카테고리
Help Center 및 File Exchange에서 Function Creation에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!