Is there a way to start indexing with 0 in MATLAB?

164 ビュー (過去 30 日間)
IBM watson
IBM watson 2019 年 1 月 2 日
コメント済み: Rohit 2023 年 7 月 5 日
a=[4 2 5 2]
can I make this happen?
a(0)=4

採用された回答

madhan ravi
madhan ravi 2019 年 1 月 2 日
Nope not at all index of matlab starts from 1 always!
  10 件のコメント
Bruno Luong
Bruno Luong 2023 年 7 月 3 日
You confuse between uint8 arithmetics (that can never return anything beyond (0:255))
and indexing range.
Rohit
Rohit 2023 年 7 月 5 日
@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.

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

その他の回答 (2 件)

Bruno Luong
Bruno Luong 2019 年 1 月 2 日
編集済み: Bruno Luong 2019 年 1 月 2 日
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 件のコメント
IBM watson
IBM watson 2019 年 1 月 3 日
Many thanks!!
Utku Yilmaz
Utku Yilmaz 2020 年 4 月 19 日
編集済み: Utku Yilmaz 2020 年 4 月 19 日
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
Bruno Luong 2023 年 7 月 3 日
One way is to define your onw class with overloading subsref and subsasg

カテゴリ

Help Center および File ExchangeMatrices and Arrays についてさらに検索

タグ

Community Treasure Hunt

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

Start Hunting!

Translated by