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 vue (au cours des 30 derniers jours)
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

Réponse acceptée

John D'Errico
John D'Errico le 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 commentaires
Neha W
Neha W le 15 Mar 2016
Thank you. I will definitely try to implement using meshgrid.
John D'Errico
John D'Errico le 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.

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Loops and Conditional Statements dans Help Center et File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by