0

Cの配列の概念をMATLABに適用することは可能ですか?たとえば、Doublearray[10]がある場合。値を割り当てたい場合は、たとえばArray [5]=2と記述します。

MATLABで同等のものを書く方法はありますか?

4

4 に答える 4

2

「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での行列/配列のインデックス付けについて説明します。

于 2012-01-09T14:17:28.327 に答える
2

[] 演算子をオーバーライドして、独自のクラスを定義できます。
メカニズムはここで
説明しまし たが、これはカスタム関数なので、1 から始まるインデックスを 0 から始まるインデックスに変更することもできます。

コンストラクタに関しては、あなたができるとは思えません。

とにかく、なぜそれをしたいのですか?
すべての Matlab ユーザーを混乱させ、大混乱を招くことになります。
ローマにいるときは、ローマ人がするようにしなさい。

于 2012-01-09T14:52:54.330 に答える
0

はい、できます。配列は C と MATLAB で使用され、同じ関数に使用できます。ただし、C と MATLAB の配列インデックスは異なることに注意してください。

C 配列の最初の要素のインデックスは 0 です。つまり、X = [10 20 30 40] では、x[0] は 10 を返します。しかし、MATLAB では、これはエラーになります。数値 10 にアクセスするには、MATLAB で式 x[1] を使用する必要があります。

于 2012-01-09T15:58:31.330 に答える
0

インデックス演算子はありません[]()インデックス配列に使用する必要があります。

あなたが書くなら

x = 1:10;
x[2]

次に、次のエラーが表示されます

 x[2]
 |
Error: Unbalanced or unexpected parenthesis or bracket.
于 2012-01-09T16:39:23.443 に答える