私は指数関数のテイラーシーケンスを実装しようとしましたが、私は完全には理解できません。誰かがエラーと回避策を説明してください:Haskellの指数関数のテイラーシーケンス
ありがとうございます!
私は指数関数のテイラーシーケンスを実装しようとしましたが、私は完全には理解できません。誰かがエラーと回避策を説明してください:Haskellの指数関数のテイラーシーケンス
ありがとうございます!
さて、私はそれを理解しました。問題は、bottom
が実際にすべての可能な階乗のリストではなかったということでした。この問題を解決するために
、私はfoldr
の代わりにscanl
を使用する必要がありました:
bottom = scanl (*) 1 [1..]
あなたはそれはあなたがする設計同じものであるかどうかを確認するためにGHCiの中で個別に各機能をテストすることができます。例えば
、bottom
Prelude> bottom = foldr (*) 1 [1..]
Prelude> :t bottom
bottom :: (Num b, Enum b) => b
のあなたの最初の定義は、リストを与えるものではありません。明らかにこれは正しくありませんつのリストを与える
Prelude> bottom = scanl (*) 1 [1..]
Prelude> :t bottom
bottom :: (Num b, Enum b) => [b]
と比べzipWith
Prelude> :t zipWith
zipWith :: (a -> b -> c) -> [a] -> [b] -> [c]
ための右入力。
私は今日疲れているかもしれませんが、今日は10時間働いていたので、本当にダムになるかもしれません。 – Fapprentice
あなたの質問は不完全なようですが、それはどのように 'Taylor series'に関係していますか?より完全な([MCVE](http://stackoverflow.com/help/mcve))コードを追加することもできます。 – wizzup
テイラーシーケンスは、私のコードが指数関数e^xのテイラーシーケンスに関係していたという質問に記載されているように、計算上の指数関数/ sin/cosなどのシーケンスです。私はこれが常識であると思ったが、そうでない場合は申し訳なく思う。あなたの時間をありがとう – Fapprentice