
- •Наближення функцій
- •2. Числове інтегрування
- •3. Нелінійні алгебричні рівняння
- •Список рекомендованої літератури
- •Додатки
- •Завдання для лабораторних робіт із застосуванням числових методів розв’язання задач
- •Структура лабораторної роботи та приклад її оформлення
- •Інтерполяція функції поліномом Ньютона
- •1. Інтерполяційний поліном Ньютона
- •2. Опис обчислювального алгоритму
- •В. Схема обчислювального алгоритму
1. Інтерполяційний поліном Ньютона
Для побудови ІПН вводять так звані поділені різниці (ПР)
, .
Оскільки ПР мають вимірність похідних, то інколи їх використовують як наближені значення останніх. Якщо побудувати ПР полінома n-го степеня, можна, скориставшись умовами збіжності полінома з заданою функцією та її ПР у вузлах інтерполяції, одержати такий вираз для ІПН:
y(x) y(x0)+ . (1.1)
Наведений тут ІПН використовують у випадку таблиць зі змінним кроком. Похибку інтерполяції в точці х оцінюють за формулою
|rn(x)| |y(x) – Pn(x)| = Mn+1 (x) / (n+1)! , (1.2)
де Mn+1 = max |y(n+1)(x)| на відрізку [a,b].
Для обчислення ПР складають таблицю ПР функції y(x), а потім її наближені значення знаходять за формулою (1.1).
2. Опис обчислювального алгоритму
Реалізуючи алгоритм знаходження ІПН за формулою (1.1) для зменшення необхідної пам'яті ЕОМ, розміщуємо значення ПР на місці попередньо знайдених значень вихідної функції y(x). Крім того, витрати машинного часу зменшаться, якщо ІПН знаходити за схемою Горнера. Оскільки значення ІПН обчислюють неодноразово, то цей процес оформлюємо у вигляді функції.
3. Обговорення результатів
Із порівняння наведених у лістингу точних і наближених значень функції y(x) видно, що вони відрізняються третіми значущими цифрами [y()-P2()= 0.014], а значення похибки наближення |r2()| визначаємо за формулою (1.2), вона дорівнює 0.027 .
=================================================================
(З нової стор.)
Висновки
Отже, ураховуючи п. 2 і 3, на практиці слід надавати перевагу ІПН, оскільки формула (1.1) дозволяє одержати прийнятні результати, а за збільшення кількості вузлів не потрібно перерахувати всі доданки у (1.1), до того ж порядок нумерації вузлів тут не має значення.
=================================================================
(З нової стор.)
Список посилань
1.Мусіяка, В.Г. Основи чисельних методів механіки[Текст]: підручник /В.Г. Мусіяка — К.: Вища освіта, 2004. — 240 с.
2.Мусіяка, В.Г. Практикум з обчислювальної механіки [Текст] /В.Г. Мусіяка. — Д.: РВВ ДНУ, 2006. — 64 с.
=================================================================
(З нової стор.)
Додатки
А. Опис вихідних даних і результатів розрахунку
Вихідні дані для побудови ІПН (вузли і значення в них заданої функції)
xx=[ 0.4 ,0.875, 1.35 ]; yy=[-4.4968,0.0137,2.6093];
та координати точок для побудови таблиці й графіків заданої функції й ІПН
xd=[0.4,0.6,0.6375,0.875,1.1125,1.35].
Результати виконання програми друкують в такому вигляді:
x = 0.4 0.6 0.6375 0.875 1.1125 1.35
y = - 4.4968 - 2.3496 - 1.9881 0.01371 1.5382 2.6093
p = - 4.4968 - 2.3643 - 2.0022 0.01371 1.5509 2.6093
(З нової стор.)
Б. Лістинг програми
// ipn
function [pln] = plnwt(n,xp,xx,yy);
y=yy(n+1);
for k=1:n
n1=n-k+1;
y=yy(n1)+y*(xp-xx(n1));
end;
pln=y
endfunction;
function [p,y,x] = ipn(n,M,xx,yy,xd);
deff('c = f(x)','c =5*sin(x)-10/exp(x*log(3))');
m=n+1;
for k=1:m nt=n-k+1;
for i=1:nt n1=n-i+1; n2=n1+1;
yy(n2)=(yy(n2)-yy(n1))/(xx(n2)-xx(n1-k+1));
end
end;
for k=1:M
xp=xd(k); p(k)=plnwt(n,xp,xx,yy);
x(k)=xp; y(k)=f(xp);
end;
x=x.'; y=y.'; p=p.';
endfunction;
// main program
xx=[ 0.4, 0.875, 1.35];
yy=[-4.4968484,0.0137085,2.6093461];
xd=[0.4,0.6,0.6375,0.875,1.1125,1.35];
//[p,y,x] = ipn(n,M,xx,yy,xd)
[p,y,x] = ipn(2,6,xx,yy,xd)
plot(x,p,'k*',x,y,'k-');
xgrid();
xtitle(' P=P(X) Y=Y(X)','X','P Y');
legend(' P=P(X) ',' Y=Y(X)', 4, %t);
Результати виконання ipn:
у табличному вигляді:
x = 0.4 0.6 0.6375 0.875 1.1125 1.35
y = - 4.4968 - 2.3496 - 1.9881 0.01371 1.5382 2.6093
p = - 4.4968 - 2.3643 - 2.0022 0.01371 1.5509 2.6093;
графічному вигляді: