我有个计数器。在N次之后,它加1。我用哪种算法来改变数字N,以应对一开始快速增加,最后变慢的情况。
谢谢。
更新:Java上的源代码:
currentProcent = 0;
deltaSecond = 3000f / (float) bigProcNumber; // 3000f - 3 second, is fixed
new Thread(new Runnable() {
public void run() {
try {
while (currentProc != (int) bigProcNumber) {
Thread.sleep((int) (deltaSecond));
// UI Change
}
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}).start();我需要更改deltatime,但所有deltatime的总和必须等于3000毫秒。
发布于 2012-11-15 18:21:22
如果我对你的问题的理解是正确的,你想找一个函数,它一开始增长很快,后来增长得更慢,可能是这样的形状?

我使用Log函数制作了该图形,该函数可能比较合适,但还有许多其他函数。
发布于 2012-11-15 21:31:47
Pause[],与CreateScheduledTask[]相关的函数或控制Dynamic中的更新间隔,例如)给我们更多关于你想要做什么的提示。示例代码很好。Pause-based定时器的示例。T= 0;操纵[t += dt;Pausedt;Graphics[{Circle[],Line[{{0.,0.},{Cost/(2 Pi),-Sint/(2 Pi)}}]}] {{dt,0.5},0.1,1,0.1,PopupMenu} ]
Dynamic周围使用计时器时要小心。下面是一个使用Dynamic控制时钟的示例。操作[ DynamicModule[{t = 0},图形[{ Circle[],线条[{{0.,0.},{Cos#/(2 Pi),-Sin#/(2 Pi)} &@ Dynamict += dt,UpdateInterval -> dt}] }] ],{{dt,0.5},0.1,1,外观-> "Labeled"} ]
https://stackoverflow.com/questions/13395146
复制相似问题