查看单个帖子
旧 2019-12-10, 20:42   #1
poster
高级会员
 
注册日期: 2019-11-21
帖子: 3,006
声望力: 66
poster 正向着好的方向发展
帖子 MATLAB的numel和length函数之间的区别

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

编辑:只是踢:



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



回答:

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



更多&回答...
poster 当前离线   回复时引用此帖