Effacer les filtres
Effacer les filtres

How do you append to a matrix within a for loop?

297 vues (au cours des 30 derniers jours)
chels19
chels19 le 8 Juil 2016
Commenté : Mani le 8 Mai 2024
Hi, I am using a for loop to process data (this part works fine). What I need to do is take the matrix (A) and after each loop update A to create one matrix. For instance, in the image below A is produced on the first loop, during loop 2 A "grows" to include the data from loop 1 and the data from loop 2, and so on.
Loop 1 produces a matrix, on the next iteration I need to append to this matrix the results of that loop, and so on until all of the data is processed.
It should be noted that the number of rows on each loop is unknown. However, the number of columns is fixed to 7.
Any ideas would be greatly appreciated please.

Réponse acceptée

José-Luis
José-Luis le 8 Juil 2016
Modifié(e) : José-Luis le 8 Juil 2016
your_result = [];
for ii = whatever
some_vector = some_function(of_something);
your_result = [your_result; {some_vector}];
end
  8 commentaires
Ruijie Zhu
Ruijie Zhu le 4 Oct 2021
cheers mate
Mani
Mani le 8 Mai 2024
Nice one.

Connectez-vous pour commenter.

Plus de réponses (2)

Azzi Abdelmalek
Azzi Abdelmalek le 8 Juil 2016
A=[1 2;3 4]
B=[4 5;6 7]
A=[A;B]
  1 commentaire
chels19
chels19 le 8 Juil 2016
Thank you but this just replaces the data within the loop. I need to update A on every iteration so that it grows.

Connectez-vous pour commenter.


SRIAKILAN S A
SRIAKILAN S A le 21 Fév 2023
% make an empty array
% the main command is end+1
N=[];
for i=0:10
x=i*i;
N(end+1)=[x]
end
N = 0
N = 1×2
0 1
N = 1×3
0 1 4
N = 1×4
0 1 4 9
N = 1×5
0 1 4 9 16
N = 1×6
0 1 4 9 16 25
N = 1×7
0 1 4 9 16 25 36
N = 1×8
0 1 4 9 16 25 36 49
N = 1×9
0 1 4 9 16 25 36 49 64
N = 1×10
0 1 4 9 16 25 36 49 64 81
N = 1×11
0 1 4 9 16 25 36 49 64 81 100

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by