Indexing in a matrix vs vector
32 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
Why can we write A(1,2) for a nx2 matrix, with n>1, and we cannot write i=1; x(i,2) for a vector x = [x1 x2]?
It only accepts x(i+1), but I need to iterate the index i over the rows and not the columns, for any nx2 matrix with n>=1.
Thank you in advance.
0 Commenti
Risposta accettata
dpb
circa 18 ore fa
There's nothing preventing addressing a row vector by its row, column indices...
x=1:3;
for i1=1:height(x)
for j1=1:width(x)
disp([i1 j1 x(i1,j1)])
end
end
One only gets in trouble when trying to go outside array bounds...
x(2,1)
4 Commenti
Più risposte (1)
Image Analyst
circa 17 ore fa
i = 1;
x = [10, 20]
x(i, 2) % Display second column of first (and only) row of a row vector.
I'm not seeing the problem. It works. You must be describing something different than your actual code.
Contrary to what you said, it will not accept x(i+1, 2), which is x(2,2), because there is no second row of x. Remember row is the first index and column is the second index.
I encourage you to use descriptive names like row and col instead of i and j when using indexes in arrays. It will avoid a lot of mistakes.
Vedere anche
Categorie
Scopri di più su Matrix Indexing in Help Center e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!