我机器上的 realmax 是:



我知道我必须以一种避免长整数计算的方式编写我的代码,但是有没有办法增加限制?
我的意思是像 C 中的 gmp 库

最佳答案

您可能会发现 vpa ( 可变精度算术 ) 很有帮助:



这是一个如何使用它的示例:

>> x = vpa('10^500/20')
ans =
5.0e498

注意:
  • 输出 x 符号 ( sym ) 类型。当然,您不应该将其转换为 double ,因为它会超过 realmax :
    >> double(x)
    ans =
       Inf
    
  • 使用 字符串输入 以避免将大输入值评估为 double 。例如,这不起作用
    >> vpa(10^500/20)
    ans =
    Inf
    

    因为 10^500 被评估为 double ,给出 inf ,然后用作 vpa 的输入。
  • 关于matlab - 有什么办法可以在 MATLAB 中增加 'realmax' 吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30383286/

    10-13 03:46