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!