Labfans是一个针对大学生、工程师和科研工作者的技术社区。 | 论坛首页 | 联系我们(Contact Us) |
![]() |
![]() |
#1 |
高级会员
注册日期: 2019-11-21
帖子: 3,006
声望力: 66 ![]() |
![]()
我真的不认为这是一个精度问题,答案应该是0.226。这是确切的代码:
val = I(i,j) bucketSize pos = val / bucketSize I只是从中获取价值的矩阵。这是MATLAB的输出: val = 29 bucketSize = 128 pos = 0 我想念什么? 回答: 我的猜测是您的矩阵I是从图像文件加载的像素数据,其值通常为无符号8位整数 。如前所述,将两个整数值都转换为双精度值将确保MATLAB执行浮点除法而不是整数除法(这将舍入结果)。 将一个值转换为双精度是不够的: 对于所有二元运算,其中一个操作数是整数数据类型的数组(64位整数除外),另一个是标量双精度数,MATLAB使用逐元素双精度算术计算该运算,然后将结果转换回原始值整数数据类型。如果您想了解有关MATLAB中不同数值数据类型的更多信息,可以查阅本文档 。 更多&回答... |
![]() |
![]() |