MATLAB Answers

How can I use a matrix to be a loop variable

1 view (last 30 days)
Ziyu Zhao
Ziyu Zhao on 1 Mar 2019
Commented: Ziyu Zhao on 2 Mar 2019
For example, in usual for loop, it looks like that
for i=1:1:10
disp(i)
end
if I want the variable to be a matrix,like:
for mat = set of matrices
imshow(mat);
end
the set of matrices is composed of {mat1,mat2,mat3,mat4}

  1 Comment

Bob Nbob
Bob Nbob on 1 Mar 2019
I don't believe it's possible for a for loop index to be larger than a 1x1 size. That doesn't mean though that it's not possible to use the matrices within your loop. How are your matrices related? What type of organization do you have for them?

Sign in to comment.

Accepted Answer

Honglei Chen
Honglei Chen on 1 Mar 2019
If you have somethign like
mat = {mat1,mat2,mat3,mat4}
You can do
for m = 1:numel(mat)
imshow(mat{m})
end
HTH

  3 Comments

Ziyu Zhao
Ziyu Zhao on 2 Mar 2019
Wow, thank you very much, this is just so convenient.
Also, I found another method, like
matlis=mat1;
matlis(:,:,2)=mat2;
matlis(:,:,3)=mat3;
for i=1:3
figure
imshow(malis(:,:,i))
end
but this is not as concise as your solutionm, thanks again!
Walter Roberson
Walter Roberson on 2 Mar 2019
You can also do
for m = {mat1, mat2, mat3, mat4}
figure()
imshow(m{1})
end
Ziyu Zhao
Ziyu Zhao on 2 Mar 2019
yes, thanks a lot, this kind of structure is interesting, and very useful.

Sign in to comment.

More Answers (0)

Products


Release

R2018b