Unclear array operation in matlab
1 visualización (últimos 30 días)
Mostrar comentarios más antiguos
Dear all, I have created a 5 * 3 array, named as 'conn' and another array as lm which is 1*2 as underneath:
conn= [1 5 6; 2 5 7; 3 4 5 ; 4 5 7; 5 6 8];
lm = [4 ,3];
conn(lm)
while running the code, it gives me the following output.
ans =
4 3
this operation with "conn(lm)" is totally unclear to me when I operate on 5*3 array. I will be grateful if anyone please help me to understand this code.
0 comentarios
Respuestas (2)
Chunru
el 1 de Sept. de 2022
conn= [1 5 6; 2 5 7; 3 4 5 ; 4 5 7; 5 6 8]
lm = [4 ,3];
% The following use lm as "linear" index to reference to conn
% The "linear" index count column by column
% so the 4th element of conn is (4,1)
conn(lm)
conn(10) % (5,2)th element of conn
1 comentario
weikang zhao
el 1 de Sept. de 2022
Hello, this is matlab's unique indexing mechanism. For a 5*3 matrix, you can use 1-15 to index all elements.
Matlab uses column-major order, so your code is the same as the result below.
coon=[1 2 3 4 5 5 5 4 5 6 6 7 5 7 8];
lm=[4 3];
The output results are organized as follows
conn(lm)=[coon(4) coon(3)]=[4 3]
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!