Студопедия Главная Случайная страница Обратная связь

Разделы: Автомобили Астрономия Биология География Дом и сад Другие языки Другое Информатика История Культура Литература Логика Математика Медицина Металлургия Механика Образование Охрана труда Педагогика Политика Право Психология Религия Риторика Социология Спорт Строительство Технология Туризм Физика Философия Финансы Химия Черчение Экология Экономика Электроника

Разложение в ряд Тейлора с помощью функции taylor




clear all

clc

 

% Создаем символьную переменную x.

syms x

 

% Находим разложения в ряд Тейлора при различном количестве слагаемых.

g1=taylor(sin(x), 1.5, 1);

g2=taylor(sin(x), 1.5, 2);

g3=taylor(sin(x), 1.5, 3);

g4=taylor(sin(x), 1.5, 4);

 

% Преобразуем полученные полиномы в векторную форму.

p1=sym2poly(g1);

p2=sym2poly(g2);

p3=sym2poly(g3);

p4=sym2poly(g4);

 

% Определяем интервал.

x1=-1:0.01:4;

N=numel(x1);

 

% Cчитаем значения разложений.

v1=polyval(p1, x1);

v2=polyval(p2, x1);

v3=polyval(p3, x1);

v4=polyval(p4, x1);

 

% Задаем функцию

f=sin(x1);

 

% Строим графики функции и ее разложений в ряд Тейлора.

plot(x1, f, '-r', x1, v1, '-g', x1, v2, ':g', x1, v3, '-.k', x1, v4, '--k')

grid on

title('Разложение sin(x) в ряд Тейлора')

xlabel('Ось x')

ylabel('Ось y')

legend('sin(x)', 'g(x,1)', 'g(x,2)', 'g(x,3)', 'g(x,4)')

 

% Находим дополнительные разложения в ряд Тейлора для большего числа

% слагаемых

g5=taylor(sin(x), 1.5, 5);

g6=taylor(sin(x), 1.5, 6);

g7=taylor(sin(x), 1.5, 7);

g8=taylor(sin(x), 1.5, 8);

p5=sym2poly(g5);

p6=sym2poly(g6);

p7=sym2poly(g7);

p8=sym2poly(g8);

v5=polyval(p5, x1);

v6=polyval(p6, x1);

v7=polyval(p7, x1);

v8=polyval(p8, x1);

 

% Вычисляем ошибки аппроксимации

e1=f-v1;

e2=f-v2;

e3=f-v3;

e4=f-v4;

e5=f-v5;

e6=f-v6;

e7=f-v7;

e8=f-v8;

 

 

% Вычисляем абсолютные значения ошибок апроксимации

ee1=abs(e1);

ee2=abs(e2);

ee3=abs(e3);

ee4=abs(e4);

ee5=abs(e5);

ee6=abs(e6);

ee7=abs(e7);

ee8=abs(e8);

 

% Вычисляем целевые функции

 

ef1=sum(ee1)/N

ef2=sum(ee2)/N

ef3=sum(ee3)/N

ef4=sum(ee4)/N

ef5=sum(ee5)/N

ef6=sum(ee6)/N

ef7=sum(ee7)/N

ef8=sum(ee8)/N

 

eh1=dot(ee1, ee1)/N

eh2=dot(ee2, ee2)/N

eh3=dot(ee3, ee3)/N

eh4=dot(ee4, ee4)/N

eh5=dot(ee5, ee5)/N

eh6=dot(ee6, ee6)/N

eh7=dot(ee7, ee7)/N

eh8=dot(ee8, ee8)/N

Таблица 1.

0.7609 0.9283
0.7608 0.9283
0.2824 0.2153
0.2824 0.2125
0.0449 0.0077
0.0449 0.0074
0.0040 8.0821e-005
0.0040 7.6526e-005

 

Из полученных результатов можно сделать вывод об увеличении точности аппроксимации при увеличении числа членов разложения.







Дата добавления: 2015-06-15; просмотров: 174. Нарушение авторских прав


Рекомендуемые страницы:


Studopedia.info - Студопедия - 2014-2020 год . (0.002 сек.) русская версия | украинская версия