0

これは、ドキュメントに見られるようにMatlabで定義されたサイズ関数です:

m = size(X,dim) returns the size of the dimension of X specified by scalar dim.

1) X が Java の単一の配列であるとすると、Java を使用してこのメ​​ソッドをどのように複製しますか。

4

3 に答える 3

1

Matlab just stores matrix and n-dimensional data linearly in an array. Each dimension's size is saved along with the array, so Matlab knows which element to return when you index not linearly (e.g. A(3,5) for a 5x5 matrix, Matlab knows it should return element A(23) which is 3+(5-1)*5).

So in java if an array has size N1xN2x...xNN, and your looking for element: (X1,X2,...,XN), you should find element with position: X1+(X2-1)*N1+(X3-1)*N1*N2+ ... +(XN-1)*NN-1*..*N1 in the array...

于 2013-03-15T15:59:42.283 に答える
0

配列のサイズ(任意の次元)だけが必要な場合は、属性がありますArray.length

JLSから:

配列のコンポーネントの数を含む public final フィールドの長さ。長さは正またはゼロです。

例えば:

int[] arr = new int[10];
int length = arr.length; //would obtain 10
于 2013-03-15T14:31:49.237 に答える
0

Java の配列には、要素数という 1 つの次元しかありません。プロパティを使用するだけで、これにアクセスできますArray.length。より複雑なコンテナー ( などArrayList) の場合、多くの場合、 member-function を使用できますsize()

int[] array = new int[5];
int arrayLength = array.length; //arrayLength == 5

ArrayList<int> arrayList = new ArrayList();
arrayList.add(1);
arrayList.add(2);
int arrayListLength = arrayLis.size(); //arrayListLength == 2
于 2013-03-15T14:32:55.917 に答える