Cの配列の概念をMATLABに適用することは可能ですか?たとえば、Doublearray[10]がある場合。値を割り当てたい場合は、たとえばArray [5]=2と記述します。
MATLABで同等のものを書く方法はありますか?
Cの配列の概念をMATLABに適用することは可能ですか?たとえば、Doublearray[10]がある場合。値を割り当てたい場合は、たとえばArray [5]=2と記述します。
MATLABで同等のものを書く方法はありますか?
「Cの配列の考え方をMATLABに適用することは可能ですか」とはどういう意味かわかりません。配列は、数値(または他のデータ型)の単なる1Dリストです。MATLABは、主に行列を処理するように設計されており(MATLABはMatrix labartoryの略です)、配列またはベクトルは単に行列の特殊なケースです。ですから、私が正しく理解していれば、あなたの質問に対する答えはイエスだと思います。
MATLABで配列または行列を初期化するには、0または1を使用します。
>> array = zeros(1,5)
array =
0 0 0 0 0
次に、Cと同じ方法で配列の要素にインデックスを付けることができます。
>> array(3) = 3
array =
0 0 3 0 0
ただし、MATLAB配列のインデックス付けは1ベースであるのに対し、C配列はゼロベースであることに注意してください。
この記事では、MATLABでの行列/配列のインデックス付けについて説明します。
[] 演算子をオーバーライドして、独自のクラスを定義できます。
メカニズムはここで
説明しまし
たが、これはカスタム関数なので、1 から始まるインデックスを 0 から始まるインデックスに変更することもできます。
コンストラクタに関しては、あなたができるとは思えません。
とにかく、なぜそれをしたいのですか?
すべての Matlab ユーザーを混乱させ、大混乱を招くことになります。
ローマにいるときは、ローマ人がするようにしなさい。
はい、できます。配列は C と MATLAB で使用され、同じ関数に使用できます。ただし、C と MATLAB の配列インデックスは異なることに注意してください。
C 配列の最初の要素のインデックスは 0 です。つまり、X = [10 20 30 40] では、x[0] は 10 を返します。しかし、MATLAB では、これはエラーになります。数値 10 にアクセスするには、MATLAB で式 x[1] を使用する必要があります。
インデックス演算子はありません[]
。()
インデックス配列に使用する必要があります。
あなたが書くなら
x = 1:10;
x[2]
次に、次のエラーが表示されます
x[2]
|
Error: Unbalanced or unexpected parenthesis or bracket.