【问题标题】:Printing numbers without exponential notation in Maxima在 Maxima 中打印没有指数符号的数字
【发布时间】:2022-12-03 09:50:05
【问题描述】:

我在使用 Maxima 计算时遇到了 WordMat 问题,以前没有发生过,但最近开始出现了。当我计算结果为 x00000 或 0,0000x 时,我得到的结果作为其科学表达式返回,IE x*10^5x*10^-5。尽管这是正确的,但我宁愿将其作为完整数字返回。

这只有在 0 的数量超过某个数量时才会发生,在十进制数的情况下,它来自 xe-5 和更高的数字,它来自 xe9 及以后。据我所知,我无法在设置中将其关闭,但它似乎是最大简化中的设置,变量选项“expon”来自我在这里找到的:

file:///C:/Program%20Files%20(x86)/WordMat/Maxima-5.45.1/share/maxima/5.45.1/doc/html/maxima_46.html

有谁知道更改 wordmat 中的设置或编辑 maxima 中的简化规则的方法?

我试过了:

  • 打开和关闭 wordmat 中的大多数设置
  • 正在重新启动我的电脑
  • 正在重新安装 WordMat
  • 查看 maxima/wordmat 手册并寻找可更改的设置

【问题讨论】:

  • 不幸的是,在 Maxima 中,没有指数符号打印的最小和最大浮点数是固定的,不能更改。在当前版本(Maxima 5.46)中,最小为 0.001,最大为 10000000.0。这些限制在程序中被硬编码为输出数字的格式,我看不出有什么方法可以改变它们。我会在 Maxima 邮件列表中提出这个问题。

标签: maxima simplification


【解决方案1】:

当你想控制数字的打印格式时,我认为最好的通用答案是使用 printf 来指定如何打印数字。对于您想要的,printf(true, "~f", x) 将打印 x 的值,而无需引入指数格式。

(默认最大值输出基本上是“~g”,它基本上根据x 的值在“~f”和“~e”之间自动选择)。

也许 maxima 的未来版本将允许您更改默认输出范围,但通常 printf 是您想要对输出进行细粒度控制时使用的方法。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-04-02
    • 1970-01-01
    • 2023-03-03
    • 1970-01-01
    • 2021-04-27
    • 1970-01-01
    • 2021-11-09
    相关资源
    最近更新 更多