Reshape and Modify a cell array
    10 views (last 30 days)
  
       Show older comments
    
    Marcelo Boldt
 on 3 Oct 2020
  
    
    
    
    
    Commented: Marcelo Boldt
 on 3 Oct 2020
            Dear Community,
I have a 294x1 cell array, where each variable is a number and from this cell I need to create 2 cell arrays each of 49x1, where each variable of this new cell arrays contains 3 variables of the first array. How would you do that?
This is what I got so far:
Last_vektor =  num2cell(Ubertragungsmatrix(:,end));
Load_vector = reshape(Last_vektor,[98,1]);
Pu_tr = cell(49,1);
Pn_tr = cell(49,1);
0 Comments
Accepted Answer
  madhan ravi
      
      
 on 3 Oct 2020
        
      Edited: madhan ravi
      
      
 on 3 Oct 2020
  
      Vielleicht?
C = num2cell(reshape(Ubertragungsmatrix(:, end), 294/2, []), 1);
C1 = num2cell(cellfun(@(x) {reshape(x, [], 3)}, C));
[Pu_tr, Pn_tr] = deal(C1{ : })
2 Comments
More Answers (1)
  madhan ravi
      
      
 on 3 Oct 2020
        Bessere Version:
V = reshape(Ubertragungsmatrix(:, end), [], 3, 2);
V1 = squeeze(num2cell(V, [1, 2]));
[Pu_tr, Pn_tr] = deal(V1)
3 Comments
  madhan ravi
      
      
 on 3 Oct 2020
				
      Edited: madhan ravi
      
      
 on 3 Oct 2020
  
			It’s assumed that Ubertragungsmatrix(:, end) is a vector with 294 elements. size(Pu_tr) size(Pn_tr) % paste the output here
See Also
Categories
				Find more on Matrix Indexing in Help Center and File Exchange
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!
