関数型プログラミング言語Haskell Part12
■ このスレッドは過去ログ倉庫に格納されています
0736デフォルトの名無しさん
2010/08/14(土) 23:28:22integral :: (VectorSpace v, Scalar v ~ TimeT) =>
Event () -> Behavior v -> Behavior v
そもそも、ライブラリのドキュメントには Euler integral とだけ書かれており、
引数の説明は全く書かれていないので、結果の値から想像するしかない。
おそらく、第2引数のビヘイビアに対して定積分した結果を
戻り値のビヘイビアとして返しているのだと思うが、
第1引数のイベントの役割が分からない。
例えば time ビヘイビアの TimeT による a から b までの定積分は、
(a^2)/2 - (b^2)/2 だと思う(下記の挙動を見ると自信が無くなる)。
そこで次のようにプログラムすると、v の 4 秒目以降の値は 16 だ。
v = atTimes [0, 4] `integral` time
イベントのタイミングが積分範囲になっていると予想していたが、
違っていたようだ(それなら 16 ではなく 8 になっているはず)。
次のだと、2 秒目から 4 秒目までが 4、4 秒目以降が 12 だ。
v = atTimes [0, 2, 4] `integral` time
意味が分からない。
この第1引数のイベントはどのように働いているのだろうか。
■ このスレッドは過去ログ倉庫に格納されています