Cell arrays with a vector within a cell within a cell
2 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
I have a cell array where each element consists of a 1 x 1 cell containing a vector of type double, i.e., C{1,1} contains a vector of length N.
How do I convert the inner cells from 1 x 1 cells into N x 1 cells where the entries correspond to each vector of length N? The N of each vector might be different.
I think the right way to do this is via cellfun but something like
C_out = cellfun(@(C_test) num2cell(C_test{1}), C_in, 'uniform',0);
does not quite get me there.
0 commentaires
Réponse acceptée
Matt J
le 9 Mai 2023
Maybe this is what you mean?
C_in={[1;2;3],[4;5],6}
n=max(cellfun('length',C_in));
C_out=num2cell(cell2mat( cellfun(@(x) cpad(x,n), C_in,'uni',0) ) )
function C=cpad(C,n)
C(end+1:n,1)=nan;
end
Plus de réponses (2)
Voir également
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!