Вычисление косинуса разложением в ряд Тейлора - Lisp
Формулировка задачи:
И еще - Из математического анализа известно, что функция cos(x) представляется в виде ря-да Тейлора:Вложение 776825
Решение задачи: «Вычисление косинуса разложением в ряд Тейлора»
textual
Листинг программы
(defun myCos (x eps a s n) (if (<= (abs a) eps) s (myCos x eps (- (/ (* a x x) (* (+ n n 1) (+ n n 2)))) (+ s a) (+ n 1)))) ==> MYCOS (myCos 3.1412926535 0.000001 1 0 0) ==> -0.999999819971174 (myCos 0.5 0.000001 1 0 0) ==> 0.877582465277778 (cos 0.5) ==> 0.877582561890373
Объяснение кода листинга программы
В коде представлена реализация функции myCos для вычисления косинуса числа x с помощью разложения в ряд Тейлора. Список элементов:
- (defun myCos (x eps a s n) — определение функции myCos
- (if (<= (abs a) eps) s (myCos x eps (- (/ ( a x x) ( (+ n n 1) (+ n n 2)))) (+ s a) (+ n 1)) — основная часть функции, где выполняется рекурсивный вызов и осуществляется выход из функции при достижении заданной точности
- (myCos 3.1412926535 0.000001 1 0 0) — вызов функции myCos с аргументами x=3.1412926535, eps=0.000001, a=1, s=0, n=0
- -0.999999819971174 - результат вычисления косинуса числа 3.1412926535 с точностью до пятого знака после запятой
- (myCos 0.5 0.000001 1 0 0) — вызов функции myCos с аргументами x=0.5, eps=0.000001, a=1, s=0, n=0
- 0.877582465277778 - результат вычисления косинуса числа 0.5 с точностью до пятого знака после запятой
- (cos 0.5) — вызов встроенной функции cos для вычисления косинуса числа 0.5
- 0.877582561890373 - результат вычисления косинуса числа 0.5 с точностью до пятого знака после запятой (в отличие от предыдущих результатов, где точность задавалась параметром eps)
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д