操纵不适用于大数

发布于 2024-09-30 00:52:13 字数 241 浏览 1 评论 0原文

为什么 Manipulate[] 不能处理大数? 例如,这可行

Manipulate[k, {k, 0, 1000000000, 1}]

,而这不可行,

Manipulate[k, {k, 0, 10000000000, 1}]

我相信应该有一些 Mathematica 变量会影响这一点,但我找不到一个。

Why isn't Manipulate[] working with large numbers?
For instance this works

Manipulate[k, {k, 0, 1000000000, 1}]

and this doesn't

Manipulate[k, {k, 0, 10000000000, 1}]

I believe that there should be some Mathematica variable which affects this but I cannot find one.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

淡紫姑娘! 2024-10-07 00:52:13

这是 ManipulateSlider 的一个已知错误,特别是当滑块的离散“步骤”超过 2^31 时。

作为解决方法,您可以执行以下操作,例如:

Manipulate[Round[k], {k, 0, 10^100}]

通过不指定步长(第四个参数),您允许滑块为变量设置非整数值,但您可以通过使用 Round 来解决此问题(或IntegerPart)。

希望有帮助!

This is a known bug with Manipulate and Slider, specifically when there are more than 2^31 discrete "steps" for the slider.

As a workaround, you could do the following, for example:

Manipulate[Round[k], {k, 0, 10^100}]

By not specifying the step size (fourth argument), you allow the slider to set non-integer values for the variable, but you can get around this by using Round (or IntegerPart).

Hope that helps!

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文