私はScheduledTask []を理解するのに少し苦労しています。私は、次のコードSchedule Mathematicaのタスク、使用する時間間隔に制限はありますか?
dt = 0.01;
c = 0;
Dynamic[c]
task = CreateScheduledTask[c += 1, {dt, 100}];
StartScheduledTask[task];
Iが得る値51で終わる 'C' を実行すると、これは、V 8.01を使用して、Windows 7は、64ビットのV 8
に加え、期待されない100として。
上記の 'dt'を大きい値、たとえば0.02、または0.02秒より大きい値に変更すると、毎回100回ずつ取得されます。
私が 'dt'を0.005にすると、私はc = 27になります。 'dt'を0.0025に、cを18に、等々とする。
したがって、 'dt'制限(CPU時間精度)は0.02と思われます。これは20ミリ秒です。
しかし、他のウェブサイトからは、Windows 7(ハードウェアの種類によって異なる)がこれよりはるかに小さいCPUクロック解像度を提供できることがわかります。 1〜10ミリ秒でよい。
ここに何かが見つからない、またはこの機能を誤解しましたか?この関数の
ヘルプは、私がこの使ってMathematica独自のマニュアルのより多くの情報を見つけることができませんでしたが、私はそれを見落としている可能性が
creates a task that will try evaluating expr once every time seconds up to count times total
を言います。この関数の
ドキュメントはhttp://reference.wolfram.com/mathematica/ref/CreateScheduledTask.html
おかげ psです。完了したら、タスクを削除するには、コマンドが
RemoveScheduledTask[task]
またはすべてをきれいにすることです:私が持っている
RemoveScheduledTask[ScheduledTasks[]]
ハードウェアは次のとおりです。インテルi7のCPUの930、2.8 GHzの4つのウィンドウが、コア
'CreateScheduledTask'のドキュメントの「More Information」の下に、「デフォルトでexprを評価するのに必要な時間が時間より大きい場合、次回の評価はスキップされます。多分それはここでの問題です(しかし、私はCに1を加えるのに0.01秒よりもはるかに時間がかかると思ったでしょう)。 – Heike
私は時計の時間が限界であり、数字に1を加えないと思う。私のシステムでは、タスククロックはスロットあたり約20ミリ秒より速いレートで実行することができません。これは0.02秒です。そして、これは私が見ていたものです。しかし、私はあなたに同意します。この機能に関する文書は、より詳細で明確にすることができます。 – Nasser