How can I create a heterogenous array using 'arrayfun' in MATLAB R2024b?

1 visualizzazione (ultimi 30 giorni)

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?

Risposta accettata

MathWorks Support Team
MathWorks Support Team il 23 Apr 2025
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.

Più risposte (0)

Categorie

Scopri di più su Matrices and Arrays in Help Center e File Exchange

Prodotti


Release

R2024b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by