When you type m(1) or m(10) in the command window, what is happening?

1 回表示 (過去 30 日間)
ssmith
ssmith 2021 年 11 月 16 日
コメント済み: John D'Errico 2021 年 11 月 16 日
m(1)
ans =
-3
m(10)
ans =
0.6000
m(0)
Array indices must be positive integers or logical
values.
m(0) does not work because it needs to have a positive integer or logical value but what is happening when you do use a correct number?

回答 (1 件)

Awais Saeed
Awais Saeed 2021 年 11 月 16 日
Let's say you have an array of 10 elements
arr = [1 2 5 4 7 0 3 6 1 9];
To access first element, you use
arr(1)
ans = 1
to access 5th element, you use
arr(5)
ans = 7
So your m(1) and m(10) means to access first and 10th element of array m. Same goes for a matrix.
  2 件のコメント
ssmith
ssmith 2021 年 11 月 16 日
@Awais Saeed and m(0) does not work because there is no 0 element in a matrix?
John D'Errico
John D'Errico 2021 年 11 月 16 日
@ssmith: It is not that the matrix does not contain a zero in it, if that is what you are asking.
MATLAB uses a 1-based index origin. The first element is element number 1. Yes, other languages use a zero origin. But that is just an arbitrary choice. Regardless, m(0) fails, because the zero'th element does not exist.

サインインしてコメントする。

カテゴリ

Help Center および File ExchangeMatrix Indexing についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by