Введение.
Ряд Тейлора - разложение функции в бесконечную сумму степенных функций. Для подобной суммы легко задать реккурентую формулу[2], вычисляющую каждое следующее слагаемое суммы. Таким образом, упрощается задача вычисления значения этой функции на компьютере.[1]
Постановка задачи.
Требуется разработать программу вычисления функций Exp(x), sin(x), cos(x), Ln(x), заданных частичной суммой ряда Тейлора. Результаты представить при помощи стандартных средств языка Visual Basic for Application, функции, вычисленной при помощи ряда Тейлора, погрешности.
Описание алгоритмов
Для расчёта предложенных функций необходимо сначала выбрать лист с названием нужной функции, после чего ввести данные:
· Стартовая точка (Xmin)
· Конечная точка (Xmax)
· Шаг (dx)
· Точность (E)
После ввода данных нужно нажать на кнопку «Вычислить»
Функции вычисляются по приведённым ниже алгоритмам:
MyExp(x):
1) Функция принимает значение x точность вычисления E
2) Начальному значению функции присваиваем 1
3) С помощью цикла While рекуррентным методом вычисляются слагаемые
4) В этом же цикле суммируем слагаемые
5) Когда требуемая точность будет достигнута, выполнение цикла прекращается
6) Результатом вычисления данной функции будет сумма слагаемых.
MyCos(x):
1) Функция принимает значение x точность вычисления E
2) Начальному значению функции присваиваем 1
3) С помощью цикла While рекуррентным методом вычисляются слагаемые
4) В этом же цикле суммируем слагаемые
5) Результатом вычисления функции будет конечная сумма слагаемых.
MySin(x):
1) Функция принимает значение x точность вычисления E
2) Результатом вычисления данной функции будет значение функции MyCos с параметром X, смещенным на П/2
MyLn(x):
1) Функция принимает значение x точность вычисления E
2) Начальному значению функции присваиваем 0
3) С помощью цикла While рекуррентным методом вычисляются слагаемые
4) В этом же цикле суммируем слагаемые
5) Результатом вычисления функции будет конечная сумма слагаемых.
Результаты эксперимента
Таблицы и графики находятся в файле «Sin Cos Exp Ln через ряд Тейлора к отчету рек метод.xls»
Заключение
Разработана программа для вычисления функций Exp(x), sin(x), cos(x), ln(x) заданных частичной суммой ряда Тейлора.
Литература:
1) http://ru.wikipedia.org/
Исходный код
Пользовательские функции
Function MyExp(x, E) As Double
r = 1
a = 1
k = 0
While (Abs(a) > E)
k = k + 1
a = a * (x / k)
r = r + a
Wend
MyExp = r
End Function
Function MyLn(x, E) As Double
x = x - 1
p = x
r = x
k = 2
While (Abs(p) > E)
p = p * -x
r = r + p / k
k = k + 1
Wend
x = x + 1
MyLn = r
End Function
Function MyCos(x, E) As Double
r = 1
a = 1
k = 0
While (Abs(a) > E)
k = k + 1
a = a * -(x ^ 2) / ((2 * k - 1) * (2 * k))
r = r + a
Wend
MyCos = r
End Function