Create a loop which fills numbers 1-7 into matrix until matrix length reached

11 visualizaciones (últimos 30 días)
This is gonna be an easy fix I'm sure. I have a matrix(21,4), and in colum 2 I would like to insert the numbers 1-7 so that they repeat until the end of the column (which is 21 rows long). So I probably need a loop of some sort I'm guessing.
Tried this, which obviously doesn't work:
for rowNumber = 1:21
for oneToSeven = 1:7
imageinformation(rowNumber, 2) = oneToSeven;
end
end

Respuesta aceptada

Andrei Bobrov
Andrei Bobrov el 17 de Nov. de 2012
A - your matrix with size <21 x 4 >
A(:,2) = rem((0:size(A,1)-1)',7)+1;

Más respuestas (1)

Matt Fig
Matt Fig el 18 de Nov. de 2012
Andrei has shown you a preferred method. However, in answer to your original question, here is one way to solve it with a double loop (as you were attempting to do):
A = zeros(21,4); % Starting matrix.
for ii = 1:3
for jj = 1:7
A((ii-1)*7 + jj,2) = jj;
end
end

Categorías

Más información sobre Creating and Concatenating Matrices en Help Center y File Exchange.

Productos

Community Treasure Hunt

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

Start Hunting!

Translated by