在Scilab sum(matrix1)给出了错误的答案

时间:2015-02-24 23:57:25

标签: sum scilab

使用Scilab控制台,我已经读入(通过imread)一个图像来创建一个256x256的整数矩阵,我将其命名为matrix1。我希望知道应该在3,000,000区域内的所有元素的总和,但它始终返回数字227.在另一个类似(虽然不同)的图像上,它返回189,所以它做了一些事情。我做错了什么?

sum(matrix1)

ans.
= 227

1 个答案:

答案 0 :(得分:1)

我最终找到了自己的答案。初始矩阵只有8位精度数字,我没有意识到在执行" sum"时会保留这种精度。功能。所有示例都是微不足道的,有小数组,如1,2,3,4,5等。执行sum(int32(matrix1))返回正确的值。 Int32将8位精度转换为32位精度,然后总和保留该精度。