Arrays and different dimensions while saving outputs
    1 visualizzazione (ultimi 30 giorni)
  
       Mostra commenti meno recenti
    
    Julio Maximiliano Ramirez Oyanarte
 il 6 Apr 2023
  
    
    
    
    
    Commentato: Julio Maximiliano Ramirez Oyanarte
 il 6 Apr 2023
            Hello to everyone,
Say we have two for loops in the following form:
for i = [1, 2..., N_i]
    for j = [1, 2..., N_j]
        [Some code that does stuff];
        output = some_vector;  % This vector is of size m*1
        Array{i}(:, j) = output;
    end
end
So at the end, we will arrive with:
- A cell array named Array with N_i elements.
- Each element of the Array will display a matrix of m rows and N_j columns.
Now, this works fine if and only if the output has always the same size, i.e., m*1. We can't save matrices of different row lengths. So my question is the following: is there any way to store the outputs when they are of different size (e.g., the first loop gives an output of 10*1, and the second one of 15*1, and so on...)?
Thanks in advance to everyone.
0 Commenti
Risposta accettata
  Dyuman Joshi
      
      
 il 6 Apr 2023
        
      Modificato: Dyuman Joshi
      
      
 il 6 Apr 2023
  
      "is there any way to store the outputs when they are of different size (e.g., the first loop gives an output of 10*1, and the second one of 15*1, and so on...)?"
Yes, Cell arrays -
m=5;
%pre-allocation
y=cell(m,1);
for p=1:m
    %Storing array of size dependent on the loop index
    y{p,1}=p*ones(p*m,1);
end
y
y{3}
Più risposte (0)
Vedere anche
Categorie
				Scopri di più su Matrix Indexing in Help Center e File Exchange
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!

