登录论坛

查看完整版本 : MATLAB的numel和length函数之间的区别


poster
2019-12-10, 20:42
我知道length(x)返回max(size(x))而numel(x)返回numel(x)的元素总数,但是对于1 x n数组哪个更好?有关系还是在这种情况下可以互换?

编辑:只是踢:

https://lh6.ggpht.com/_YGfy1PKat7Q/TCinwoF_0OI/AAAAAAAAAA0/dUMFBXQ-k6g/numelvslength.png

在达到100k元素之前,它们看起来都是相同的性能。



回答:

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



更多&回答... (https://stackoverflow.com/questions/3119739)