Я новичок в Haskell и пытаюсь реализовать синусоидальное приближение, используя ряды Маклаурина, используя foldl на Haskell. Я уже сгенерировал список, и теперь я пытаюсь получить суммирование с помощью Fold.
Это мой код. Я знаю, что делаю что-то не так с функцией греха, но я не уверен, что делать. Я также должен пройти х. Если sin получает x в качестве входных данных, list будет использовать то же значение x.
factorial n = product [1..n]
list x = [-1**n * ((x**(2*n+1))/factorial(2*n+1)) | n <- [0..29] ]
sin x = foldl (+) 0 list x
РЕШИТЬ:
Правильное решение:
factorial n = product [1..n]
list x = [(-1)**n * ((x**(2*n+1))/factorial(2*n+1)) | n <- [0..29] ]
sine x = foldl (+) 0 (list x)