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 visualizzazione (ultimi 30 giorni)
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

Risposta accettata

John D'Errico
John D'Errico il 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 Commenti
John D'Errico
John D'Errico il 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.

Accedi per commentare.

Più risposte (0)

Categorie

Scopri di più su Loops and Conditional Statements in Help Center e File Exchange

Tag

Community Treasure Hunt

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

Start Hunting!

Translated by