matlab 中精度扩展

我有一个小数需要转换为二进制的表示方法,如果是不能正好转换结束那么要求转换位数大于一百位,而matlab中对于任意的小数只能转换到55位左右,之后就一直是0。这是因为matlab中的数据存储与2的幂级数为单位,如何才可以改变这一存储状态,或者说如何在程序中定义一种自己的存储格式.
10-03-23  wei379605423 发布
1个回答
时间
投票
  • 0

    xiemeifang1988

    事实上MATLAB的计算精度远不止你说的15位,只是结果一般以精简的形式表示。要提高结果得显示精度,有两个方法:
    1,用vpa函数,这个函数并不是简单地提高运算结果得显示精度,而是在整个计算过程中以你要求的精度进行计算。如以40位浮点数运算:
    >>1-vpa(1.234e-25,40)
    ans =

    实际精确结果不到40位小数,故以世界结果显示。

    2,用精确的符号计算
    >> 1-sym(1.234e-25)

    ans =

    10-03-25 | 添加评论 | 打赏

    评论读取中....

精华知识
更多  
意见反馈 帮助