Clear Filters
Clear Filters

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

2 views (last 30 days)
ans =
ans =
Array indices must be positive integers or logical
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?

Answers (1)

Awais Saeed
Awais Saeed on 16 Nov 2021
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
ans = 1
to access 5th element, you use
ans = 7
So your m(1) and m(10) means to access first and 10th element of array m. Same goes for a matrix.
John D'Errico
John D'Errico on 16 Nov 2021
@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.

Sign in to comment.


Find more on Matrices and Arrays in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!