我在 Matlab 中实现了一种数值方法。但是我的公式有问题,或者 Matlab 似乎很傻。我想在 Matlab 中得到 1920 但结果如下。python解释器给出
>>> x0_square = 3200
>>> x0 = 2560
>>> scale_factor = 2048
>>> x = 2048
>>> a = x0_square + ( ( (2 * x0) * (x - x0) ) / scale_factor)
>>> print a
1920
但是Matlab给出
% all variables here is int16. all value are the same as the above.
>> x_square_a = int16(x0_square + ( ( (2 .* x0) .* (x - x0) ) ./ scale_factor));
>> x_square_a
x_square_a =
3184
为什么他们给出不同的结果?如何从 Matlab 解释器中获取 1920?此外,我受到限制,除了 int16 之外,不能使用任何变量。