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 只是将矩阵和 n 维数据线性存储在一个数组中。每个维度的大小与数组一起保存,因此当您进行非线性索引时,Matlab 知道要返回哪个元素(例如A(3,5),对于 5x5 矩阵,Matlab 知道它应该返回的元素A(23)3+(5-1)*5)。

因此,在 java 中,如果数组具有 size N1xN2x...xNN,并且您正在寻找 element: (X1,X2,...,XN),则应该在数组中找到具有 position:的元素X1+(X2-1)*N1+(X3-1)*N1*N2+ ... +(XN-1)*NN-1*..*N1...

于 2013-03-15T15:59:42.283 回答
0

如果你只想要数组的大小(任何维度),你有一个属性Array.length

来自JLS

公共最终字段长度,其中包含数组的组件数。长度可以是正数或零。

例如:

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

Java 中的数组只有一维:元素的数量。您只需使用属性即可访问它Array.length。对于更复杂的容器(例如ArrayList),您通常可以使用成员函数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 回答