如何用matlab绘制浮点系统

时间:2015-10-09 21:03:52

标签: matlab math floating-point computer-science

考虑基数为3的归一化浮点系统,precision = 3且-1< = e< = 1。 由于手动绘制的点太多,如何在基本10实轴上绘制系统中的所有数字,并且数字可以用MATLAB精确表示?谢谢。

1 个答案:

答案 0 :(得分:0)

此解决方案还包括次正常值。我不确定你是否想要包括那些。

close all
figure
hold on

base = 3;
prec = 3;

maxval = base ^ prec - 1;
mantissas = (-maxval: maxval) / (maxval + 1)

for expo = -prec: prec
    nums = mantissas * base ^ expo;
    plot(nums, 0, 'b.')
end

此外,这可能不符合完全的条件。 MATLAB最终将所有浮点值转换为二进制系统。然后,它在具有离散像素位置的屏幕上绘图。我认为没有什么能克服这些限制。

修改

在使用基数10测试后,我发现了一个错误的错误。 mantissas应除以(maxval + 1)而不是maxval