Unclear array operation in matlab
조회 수: 1 (최근 30일)
이전 댓글 표시
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
답변 (2개)
Chunru
2022년 9월 1일
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
weikang zhao
2022년 9월 1일
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]
참고 항목
카테고리
Help Center 및 File Exchange에서 Matrix Indexing에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!