Cell arrays with a vector within a cell within a cell
    5 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
Catégories
				En savoir plus sur Loops and Conditional Statements dans Help Center et File Exchange
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!


