内的find
函数matlab
返回给定本地参数计算结果为 true 的索引。
因此我想知道,为什么返回值(对于索引)是类型的double
,而不是矩阵中的最大索引uint32
。
可能与这里有关的另一个奇怪的事情是,运行uint64
[~,max_num_of_elem]=computer
返回变量中矩阵允许的最大元素数,该变量max_num_of_elem
也是类型double
。
内的find
函数matlab
返回给定本地参数计算结果为 true 的索引。
因此我想知道,为什么返回值(对于索引)是类型的double
,而不是矩阵中的最大索引uint32
。
可能与这里有关的另一个奇怪的事情是,运行uint64
[~,max_num_of_elem]=computer
返回变量中矩阵允许的最大元素数,该变量max_num_of_elem
也是类型double
。
我只能猜测,但可能是因为广泛的功能只支持double
. 跑
setdiff(methods('double'), methods('uint32'))
查看在您的 MATLAB 版本上double
为哪些函数定义了哪些函数。uint32
此外,MATLAB 中的整数数据类型存在溢出问题,可能会引入一些难以检测的错误。