Indexing in a matrix vs vector
8 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
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 comentarios
Respuesta aceptada
dpb
el 12 de Nov. de 2025
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 comentarios
Más respuestas (1)
Image Analyst
el 12 de Nov. de 2025
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.
Ver también
Categorías
Más información sobre Matrix Indexing en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!