gpt4 book ai didi

wolfram-mathematica - Manipulate 表达式的触发和更新问题

转载 作者:行者123 更新时间:2023-12-04 08:18:42 25 4
gpt4 key购买 nike

专家,

我不明白为什么每次单击作为触发器控件一部分的“StepRightButton”时,Manipulate 表达式都会被评估 2 次。

当我点击“+”按钮时,我看到计数器按预期上升了一次,但表达式被评估了 2 次,而不是预期的一次。这是一个小例子

Manipulate[

Show[
Graphics@Text@Row[{currentTime," ",Date[]}],
Plot[Sin[x],{x,-Pi,Pi}]
],

Control[{{currentTime,0,Style["run",10]},0,100,0.1,
ControlType->Trigger,DisplayAllSteps->True,ImageSize->Tiny,
AnimationRate->Automatic,AnimationRepetitions->0,
AppearanceElements->{"PlayButton","PauseButton","StepRightButton","ResetButton"}}
],

ContinuousAction->False,
SynchronousUpdating->False

]

再次,单击“+”显示“currentTime”变量增加了正确的数量(在本例中为 0.1)。但我的问题是,为什么每次单击“+”按钮时,可以看到打印的 Date[] 都会增加 2 次,因此表达式被评估两次。

这给我带来了问题,因为我假设表达式将每个“滴答”评估一次。

这是确保每次单击“+”一次时对表达式求值一次的方法吗?

谢谢,

最佳答案

这可以通过添加选项 PerformanceGoal -> "Quality" 来解决。到 Plot功能。

在显示操作项目期间,可以根据 PerformanceGoal 显示对象的较低保真度样本。环境。如有必要,在操作结束时绘制更高保真度的版本。正是这种后来的重绘似乎导致了这里的问题。

关于wolfram-mathematica - Manipulate 表达式的触发和更新问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7283109/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com