How can I create a heterogenous array using 'arrayfun' in MATLAB R2024b?
1 次查看(过去 30 天)
显示 更早的评论
MathWorks Support Team
2025-4-23
回答: MathWorks Support Team
2025-4-24
When I use 'arrayfun' to create a heterogenous array in MATLAB R2024b, it fails with an error:
Mismatch in type of outputs
Why does this error occur, and how can I create a heterogenous array without any issues?
采纳的回答
MathWorks Support Team
2025-4-23
In MATLAB R2024b, 'arrayfun' cannot directly create a heterogenous array. However, you can accomplish this using 'horzcat' or an equivalent function.
First, when using 'arrayfun', specify the 'UniformOutput' name-value argument as 'false'. This will return a cell array, which can then be concatenated into a heterogenous array.
For example:
A = arrayfun(@(x) foo(x), X, 'UniformOutput', false);
A = horzcat(A{:});
The functions 'cat', 'horzcat', and 'vertcat' support creating heterogenous arrays of classes which derive from 'matlab.mixin.Heterogenous'. The documentation section A Class Hierarchy for Heterogeneous Arrays describes this in further detail.
0 个评论
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Matrices and Arrays 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!