Making matrices of different dimensions and clubbing them together

3 vues (au cours des 30 derniers jours)
shahzer rahman
shahzer rahman le 6 Mar 2020
Commenté : Stephen23 le 7 Mar 2020
I am running a for loop which gives row matrices as the output.
for (i=1), output matrix is a [1*1114] matrix.
for (i=2), output matrix is a [1*1213] matrix
the dimensions of the matrices keep increasing.
my desired final matrix is a matrix that contains all the stored values of all iterations.
Please help.
Error says : Unable to perform assignment because the size of the left side is 1-by-1114 and the size of the right side is 1-by-1213.
I am new to matlab.

Réponse acceptée

Stephen23
Stephen23 le 6 Mar 2020
Modifié(e) : Stephen23 le 6 Mar 2020
A simple and efficient approach using a cell array:
N = number of loop iterations
C = cell(1,N);
for k = 1:N
... your code
C{k} = [...] % output vector
end
V = [C{:}] % output vectors concatenated into one
See:
  5 commentaires
shahzer rahman
shahzer rahman le 7 Mar 2020
Hey Stephen. Need some more help, man. I am trying to plot each cell values. How do I do that?
Rememeber each cell has a row matrix.
Stephen23
Stephen23 le 7 Mar 2020
P = [cellfun(@(v)1:numel(v),C,'uni',0); C];
plot(P{:})

Connectez-vous pour commenter.

Plus de réponses (1)

Mario Malic
Mario Malic le 6 Mar 2020
You can use
A (i, 1:length(output_matrix)) = your data
  1 commentaire
shahzer rahman
shahzer rahman le 6 Mar 2020
Didn't work for my code. But thanks for the help. appreciate it.

Connectez-vous pour commenter.

Catégories

En savoir plus sur Matrix Indexing 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!

Translated by