Azzera filtri
Azzera filtri

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

2 visualizzazioni (ultimi 30 giorni)
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?

Risposte (1)

Awais Saeed
Awais Saeed il 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.
  2 Commenti
ssmith il 16 Nov 2021
@Awais Saeed and m(0) does not work because there is no 0 element in a matrix?
John D'Errico
John D'Errico il 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.

Accedi per commentare.


Scopri di più su Matrices and Arrays in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by