I have written a code to assign each co-ordinate of matrix A(5 x 5) as A(1,1) = 1; A(1,2) = 2; and so on till A(5,5) = 25. But the code is giving errors.

1 view (last 30 days)
I need to store it in an array using loops like [1 2 ....25]. The below code is giving me, "Expression is incorrect--possibly unbalanced (, {, or [." k = 1; for i = 1:r; for j = 1:c; A(k,:) = (i,j); k = k + 1; end end

Accepted Answer

John D'Errico
John D'Errico on 15 Mar 2016
The line:
A(k,:) = (i,j);
is not valid MATLAB syntax. Perhaps you wanted to write
A(k,:) = [i,j];
I cannot know if that is what you really want.
Of course, you can replace the loops completely using tools like meshgrid of ndgrid.
  2 Comments
John D'Errico
John D'Errico on 15 Mar 2016
Something like this would be a start:
[rr,cc] = meshgrid(1:r,1:c);
A = [rr(:),cc(:)];
I'd need to check to see if it generates them in the sequence you asked for, but it will be close.

Sign in to comment.

More Answers (0)

Categories

Find more on Loops and Conditional Statements in Help Center and File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!