Is there a way to start indexing with 0 in MATLAB?
149 views (last 30 days)
Show older comments
a=[4 2 5 2]
can I make this happen?
a(0)=4
0 Comments
Accepted Answer
madhan ravi
on 2 Jan 2019
Nope not at all index of matlab starts from 1 always!
10 Comments
Bruno Luong
on 3 Jul 2023
You confuse between uint8 arithmetics (that can never return anything beyond (0:255))
and indexing range.
Rohit
on 5 Jul 2023
@Stephen23 @Bruno Luong Thank you for your inputs. I was under the assumption that typecasting the index would change the the data type of the output which is not the case.
More Answers (2)
Bruno Luong
on 2 Jan 2019
Edited: Bruno Luong
on 2 Jan 2019
Yes, but you won't get much support by built-in array stock function
>> M = containers.Map('KeyType','uint32','ValueType','double')
M =
Map with properties:
Count: 0
KeyType: uint32
ValueType: double
>> M(0)=3
M =
Map with properties:
Count: 1
KeyType: uint32
ValueType: double
>> M(0)
ans =
3
>>
6 Comments
Utku Yilmaz
on 19 Apr 2020
Edited: Utku Yilmaz
on 19 Apr 2020
ZeroBased function (link given above) is very useful. 1 based indexing creates problem when I share my code with software developers using C language. The indexes get messy and it becomes very hard to compare codes.
I always used index values starting from 0, as following. But I think, I will utilize ZeroBased function from now on.
for index_A = 0 : 10
for index_B = 0 : 10
value = a_matrix(index_A+1, index_B+1);
end
end
Bruno Luong
on 3 Jul 2023
One way is to define your onw class with overloading subsref and subsasg
0 Comments
See Also
Categories
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!