How do I repeat a column vector with a for loop?

1 visualización (últimos 30 días)
Janell Lopez
Janell Lopez el 20 de Feb. de 2016
Comentada: Star Strider el 20 de Feb. de 2016
Hi, I'm making a synthetic image for my class, and we have to use a for loop to do so. I have a column vector with the color values in it for one layer, but I need to make it into an mxn matrix so that I can stack them all together at the end for my image. How do I repeat this column vector left to right to make the matrix? I tried something like this:
bottomlayer=linspace(0,1,255);
greenlayer=bottomlayer;
bluelayer=fliplr(greenlayer);
redlayer=flipud(reshape(bottomlayer, [255,1]));
redfinal=zeros(256,256);
for i=1:256
redfinal(:,i)=redlayer;
end
but that gives me an error: "Assignment has more non-singleton rhs dimensions than non-singleton subscripts".
What am I doing wrong? Thanks.

Respuesta aceptada

Star Strider
Star Strider el 20 de Feb. de 2016
Your ‘redlayer’ vector is (255x1) and your ‘redfinal’ matrix is (256x256). That causes a dimension mismatch. One of them has to change dimension by 1, and you should be good to go.
  2 comentarios
Janell Lopez
Janell Lopez el 20 de Feb. de 2016
Oh, wow. Thank you!
Star Strider
Star Strider el 20 de Feb. de 2016
My pleasure!

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

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

Community Treasure Hunt

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

Start Hunting!

Translated by