Indexing of a size() object

조회 수: 8 (최근 30일)
Adrian Valente
Adrian Valente 2020년 11월 27일
편집: Stephen23 2020년 11월 27일
Hello,
If I have an array named arr, and run the following:
size(arr)(1)
then I get an error: "Indexing with parentheses '()' must appear as the last operation of a valid indexing expression."
However when adding an intermediate step:
s = size(arr);
s(1)
then everything runs as expected. So I don't have a practical problem to solve here, but was curious to know more about the reasons for that behavior, and when indexing should not be used.
  댓글 수: 1
Stephen23
Stephen23 2020년 11월 27일
편집: Stephen23 2020년 11월 27일
Note that
size(arr,1)
would be the MATLAB way to measure the first dimension of an array.

댓글을 달려면 로그인하십시오.

채택된 답변

Ameer Hamza
Ameer Hamza 2020년 11월 27일
편집: Ameer Hamza 2020년 11월 27일
Unlink some other languages, such a chain of indexing is not supported in MATLAB. You can find the discussion on this issue on the following links
I guess one of the main reasons it is still not supported is because of the ambiguity between the function call and indexing. Both use pranthesis (). If Mathworks make the decision to support this now, it can make the program slow and make it difficult for the JIT compiler to improve the speed.

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Matrix Indexing에 대해 자세히 알아보기

태그

제품


릴리스

R2019b

Community Treasure Hunt

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

Start Hunting!

Translated by