Разложение в ряды Тейлора
Министерство образования Российской Федерации
Нижегородский государственный университет
Имени Н.И. Лобачевского
Факультет ВМК
Разложение в ряды Тейлора
отчёт по дисциплине:
Информатика и программирование
Выполнила:
Студентка Репина Инна Сергеевна, (в/о)
Проверила:
Нижний Новгород
2006
Содержание
Введение……………………………………………………….. стр. 3
Постановка задачи стр. 5
Руководство пользователя стр. 6
Руководство программиста стр. 7
Заключение стр. 8
Список литературы стр. 10
Приложение стр. 11
Введение
Ряд Тейлора – степенной ряд вида:
, (1)
где f (x) - функция, имеющая при х = а производные всех порядков. Во многих практически важных случаях этот ряд сходится к f (x) на некотором интервале с центром в точке а:
(2)
(эта формула опубликована в 1715 Б. Тейлором). Разность Rn (x) = f (x) - Sn (x), где Sn (x) - сумма первых n + 1 членов ряда (1), называется остаточным членом Т. р. Формула (2) справедлива, если . Т. р. можно представить в виде
,
применимом и к функциям многих переменных.
При а = 0 разложение функции в Т. р. принимает вид:
,
в частности:
(3)
(4)
(5)
(6)
.(7)
Ряд (3), являющийся обобщением на случай дробных и отрицательных показателей формулы бинома Ньютона, сходится: при -1< х < 1, если m < -1; при -1< x £ 1, если -1< m < 0; при -1 £ x £ 1, если m > 0. Ряды (4), (5) и (6) сходятся при любых значениях х, ряд (7) сходится при -1< x £ 1.
Функция f (z) комплексного переменного z, регулярная в точке а, раскладывается в Т. р. по степеням z - а внутри круга с центром в точке я и с радиусом, равным расстоянию от а до ближайшей особой точки функции f (z). Вне этого круга Т. р. расходится, поведение же его на границе круга сходимости может быть весьма сложным. Радиус круга сходимости выражается через коэффициенты Т. р.
Т. р. является мощным аппаратом для исследования функций и для приближённых вычислений. Пэтому данная работа посвящена именно ему.
Постановка задачи
Задача заключается в том, чтобы посчитать через ряд Тейлора функцию и сравнить её значение с значением стандартной функции в паскале.
Предлагается рассмотреть три функции: sin, cos и exp.
Для каждой из них существует разложение в ряд Тейлора.
Разложения:
1.
2.
3.
Бесконечно малыми пренебрежем.
Руководство пользователя
Запускаем программу.
На экране появляется главное меню:
1 – sin x
2 – cos x
3 – exp x
4 – Выход
Выбираем функцию: синус, косинус или экспонент.
Вводим аргумент.
Вводим количество слагаемых.
Получаем результат и точность в вычислении.
Примечание
Под точностью понимается количество членов ряда.
Главное меню
Руководство программиста
В программе используются переменные процедурного типа.
Точнее, мы присваиваем переменной процедуру, проверяем корректность заданного параметра и потом с помощью переменной процедурного типа вычисляем пошагово в цикле очередной член ряда и прибавляем его к сумме.
В программе функциям передаются следующие параметры: аргумент, точность вычислений (число членов ряда) и переменная процедурного типа, указывающая на функцию, которая возвращает новый член ряда. Функции вычисляют новый член ряда на основе аргумента и номера члена.
В функции не передаётся предыдущий член ряда, поскольку результат выполнения этих функций домножается на предыдущий член ряда.
Заключение
При большом количестве членов ряда (начиная с 10-14 для разных рядов) погрешность в вычислениях становится настолько мала, что иногда округляется до нуля. При стремлении числа слагаемых в бесконечность погрешность стремится к нулю. В результате мы получаем корректный результат при большем количестве членов ряда.
В результате данной работы была написана программа и были проведены эксперементы, результатами которых явилось:
Sin x
Cos x
Exp X
Список литературы
Л.Д. Кудрявцев «Курс математического анализа»
В.Г. Абрамов, Н.П. Трифонов, Г.Н. Трифонова «Введение в язык Паскаль».
Приложение
program teylor;
uses
SysUtils;
var a,x,sum: real;
n,i,answ: integer;
begin
writeln ('Viberite funkciyu');
writeln ('1-sinx');
writeln ('2-cosx');
writeln ('3-expx');
writeln ('4-Vihod');
readln (answ);
writeln ('Vvedite argument i kolichestvo slagaemih');
readln (x,n);
case answ of
1: begin
a:=x;
sum:=a;
for i:=1 to n do
begin
a:=a*(-1)*x*x/(2*i*(2*i+1));
sum:=sum+a;
writeln (i, sum);
end;
writeln ('Pogreshnost', abs(sin(x)-sum));
end;
2: begin
a:=1;
sum:=1;
for i:=1 to n do
begin
a:=a*(-1)*x*x/((2*i)*(2*i-1));
sum:=sum+a;
writeln (i, sum);
end;
writeln ('Pogreshnost', abs(cos(x)-sum));
end;
3: begin
a:=1;
sum:=1;
for i:=1 to n do
begin
a:=a*x/i;
sum:=sum+a;
writeln (i, sum);
end;
writeln ('Pogreshnost', abs(exp(x)-sum));
end;
end{case};
readln;
end.
–
Нравится материал? Поддержи автора!
Ещё документы из категории информатика:
Чтобы скачать документ, порекомендуйте, пожалуйста, его своим друзьям в любой соц. сети.
После чего кнопка «СКАЧАТЬ» станет доступной!
Кнопочки находятся чуть ниже. Спасибо!
Кнопки:
Скачать документ