Combining cell arrays with empty doubles
2 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Michael Stollenwerk
el 8 de En. de 2021
Suppose I have two cell arrays, with
a = cell(1,2);
a{1} = 1;
b = cell(1,2);
b{2} = 2;
How can I quickly combine the two to give me
1×2 cell array
{[1]} {[2]}
?
In general, I want to combine several cell arrays of the same dimension, which at a given index either either all have {0×0 double} doubles or at most one of the cell arrays does not have a {0×0 double} double.
Thanks!
Michael
0 comentarios
Respuesta aceptada
Stephen23
el 8 de En. de 2021
Editada: Stephen23
el 8 de En. de 2021
% slightly more complex example data:
a = {[],1;[],[]};
b = {[],[];2,[]};
c = {[],[];[],NaN};
%
tmp = cat(3,a,b,c);
[~,idp] = sort(cellfun('isempty',tmp),3);
sz = size(tmp);
[idr,idc] = ndgrid(1:sz(1),1:sz(2));
idx = sub2ind(sz,idr,idc,idp(:,:,1));
out = tmp(idx)
0 comentarios
Ver también
Categorías
Más información sobre Matrices and Arrays en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!