为什么matlab中的find会返回double值

时间:2013-09-04 11:28:10

标签: matlab indexing integer find return-type

find中的 matlab 函数返回指定的locigal参数计算为true的索引。
因此,我想知道为什么返回值(对于索引)的类型为 double 而不是uint32uint64,就像矩阵的最大索引一样可能是。
可能与此相关的另一个奇怪的事情是,正在运行

[~,max_num_of_elem]=computer

返回变量max_num_of_elem中矩阵允许的最大元素数,该变量也是double类型。

1 个答案:

答案 0 :(得分:6)

我只能猜测,但可能是因为各种各样的功能只支持double。运行

setdiff(methods('double'), methods('uint32'))

查看在您的MATLAB版本中为double而不是uint32定义了哪些函数。

还有overflow issue with integer data types in MATLAB可以引入一些难以检测的错误。