How do I repeat a column vector with a for loop?
1 次查看(过去 30 天)
显示 更早的评论
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.
0 个评论
采纳的回答
Star Strider
2016-2-20
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.
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Creating and Concatenating Matrices 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!