0

しようとすると:

a = [ 1 1 ; 1 1 ];
size(a)(1)

私は得る

Error: ()-indexing must appear last in an index
expression

私の理解では、size(a) の結果はサイズ 1 2 の行列です。

質問: size(a)(1) が機能しないのはなぜですか?

タブクス。

4

1 に答える 1

3

一時的なものを作成しないと、MATLAB でそのような関数の結果にインデックスを付けることはできないためです。

temp = size(a);
temp(1)

動作します。ただし、多くの場合、必要なものを取得する方法は他にもあります。あなたの例でdimは、関数で引数を利用できますsize(X,dim)

size(a,1)

これにより、最初の次元のサイズが直接取得され、一時変数を作成する必要がなくなります。

于 2013-01-26T01:06:18.243 に答える