find
中的 matlab
函数返回指定的locigal参数计算为true的索引。
因此,我想知道为什么返回值(对于索引)的类型为 double
而不是uint32
或uint64
,就像矩阵的最大索引一样可能是。
可能与此相关的另一个奇怪的事情是,正在运行
[~,max_num_of_elem]=computer
返回变量max_num_of_elem
中矩阵允许的最大元素数,该变量也是double
类型。
答案 0 :(得分:6)
我只能猜测,但可能是因为各种各样的功能只支持double
。运行
setdiff(methods('double'), methods('uint32'))
查看在您的MATLAB版本中为double
而不是uint32
定义了哪些函数。
还有overflow issue with integer data types in MATLAB可以引入一些难以检测的错误。