2012-01-09 4 views
0

Cの配列の考え方をMATLAB に適用できますか?例えば、 のDouble array [10]; たとえば、値を割り当てる場合は、 Array [5] = 2とします。matlabのC配列の考え方

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

+0

を得るでしょうか? –

+0

@Andrey:私の推測は、質問はあまり明確ではないからです。 OPスタイルの索引付けはOPに興味がありますか? – Nzbuu

+0

私は、配列を初期化し、その配列の要素に特定の値を割り当てる方法を意味しています。私はchrisが私の意図を理解していると思います。すべての人におかげで彼の答えや彼の意見をくれた。 – Fatimah

答えて

2

"C言語の配列をMATLABに適用することは可能ですか?"配列は、数字(または他のデータ型)の1Dリストです。 MATLABは、主に行列を扱うように設計されています(MATLABはMatrixの研究室の略です)。配列またはベクトルは単に行列の特殊なケースです。だから私は正しく理解していれば、あなたの質問に対する答えは「はい」だと思います。

>> array = zeros(1,5) 

array = 

    0  0  0  0  0 

我々は、Cと同様に、アレイの、インデックス要素缶:

>> array(3) = 3 

array = 

    0  0  3  0  0 

ただし、我々はzeros又はonesを使用MATLABにおけるアレイまたはマトリックスを初期化する

そのMATLAB配列インデックスはCベースの配列がゼロに基づいていますが、

Thisの記事では、MATLABの行列/配列インデックスについて説明しています。

+0

彼は構文を意味すると思います。 –

2

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

コンストラクタに関して、私はあなたがそれを行うことができるかどうか疑います。

どうしても、あなたはそれをやりたいのですか?
あなたはすべてのMatlabユーザーを混乱させ、混乱を引き起こします。
ローマでは、ローマ人のようにしてください。

0

はいできます。配列はCおよびMATLABで使用され、同じ関数に使用できます。ただし、CとMATLABの配列インデクシングは異なることを覚えておいてください。

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

+4

'x [2]'は 'Error:Unbalanced or unexpected parenthesis or bracket.'を返します。 – Nzbuu

0

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

あなたは

x = 1:10; 
x[2] 

を書く場合は2 downvotersが自分自身を説明するかもしれない、あなたは、次のエラーに

x[2] 
| 
Error: Unbalanced or unexpected parenthesis or bracket.