我知道length(x)返回max(size(x)),而numel(x)返回x的元素总数,但是对于1 x n数组哪个更好呢?是否重要,或者在这种情况下它们可以互换?

编辑:只是踢:

直到达到100k元素为止,它们看起来都是相同的性能。

最佳答案

在这种情况下,它们将返回相同值,并且没有差异。在性能方面,它取决于MATLAB中数组的内部工作。例如。如果存在关于数组中有多少个元素的元信息(无论形状如何),则numel尽可能快,而max(size(x))似乎需要更多的工作才能获得相同的东西(检索大小,并且然后在其中找到最大值)。在那种情况下,我习惯使用numel,但性能演说(假设的)分开了,我会说它们是可以互换的。

关于arrays - MATLAB的numel和length函数之间的区别,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3119739/

10-13 06:40