Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Практикум по курсу Численные методы в Maple.doc
Скачиваний:
1
Добавлен:
01.05.2025
Размер:
1.46 Mб
Скачать

Примерный фрагмент выполнения работы на maple.

> x0:=-1; x1:=0; x2:=1; y0:=-12; y1:=0; y2:=0;

>L(x):=(y0*(x-x1)*(x-x2))/((x0-x1)*(x0-x2))+(y1*(x-x0)*(x-x2))/((x1-x0)*(x1-x2))+(y2*(x-x0)*(x-x1))/((x2-x0)*(x2-x1));

> plot(L(x),x=-1..3);

Интерполяция методом Лагранжа

> lagr:=proc(Data::list(list))

> local L,s,s1,Lg,x;

> L:=0;

> for s1 in Date do

> Lg:=1;

> for s in Data do

> if s1[1]<>s[1] then

> Lg:=Lg*(x-s[1])/(s1[1]-s[1]);

> end if;

> end do;

> L:=L+s1[2]*Lg;

> end do;

> L:=collect(L,x);

> unapply(L,x);

> end proc:

Для проверки работы последней создаем список Date

> Date:=[[-1,-12],[0,0],[1,0]];

Если теперь по заданным точкам строить интерполяционную функцию, получим следующий полином второй степени

> lagr(Date)(x);

Интерполяция методом Ньютона

> RS:=proc(A,N)

> local i,j,S,P,x;

> i:=0;

> S:=0;

> while i<=N do

> P:=unapply(normal(product((x-A[j+1][1]),j=0..N)/(x-A[i+1,1])),x);

> S:=S+A[i+1,2]/P(A[i+1,1]);

> i:=i+1;

> end do;

> S;

> end proc:

> newton:=proc(A)

> local N,Nmax,L,x,i;

> L:=A[1][2];

> Nmax:=`linalg/vectdim`(A);

> for N from 1 to Nmax-1 do

> L:=L+RS(A,N)*product(x-A[i+1][1],i=0..N-1);

> end do;

> unapply(collect(L,x),x);

> end proc:

Создаем список A

> A:=[[-1,-12],[0,0],[1,0]];

> newton(A)(x);

>

Легко заметить, что этот полином полностью совпадает с построенным ранее.

Построение интерполяционного многочлена по таблице для переменой x.

> restart;

> interp([-1,0,1],[-12,0,0],x);

>

КОНТРОЛЬНЫЕ ВОПРОСЫ

1. В чем особенность приближения таблично заданной функции методом интерполирования?

2. Как обосновывается существование и единственность интерполяционного многочлена?

3. Как связана степень интерполяционного многочлена с количеством узлов интерполяции?

4. Как строятся интерполяционные многочлены Лагранжа и Ньютона?

5. В чем особенности этих двух способов интерполяции?

6. Как производится оценка погрешности метода интерполяции многочленом Лагранжа?

7. Как используется метод интерполирования для уточнения таблиц функций?

8. В чем отличие между первой и второй интерполяционными формулами Ньютона?

Лабораторная работа №4 Тема: Численное интегрирование

Формулы, используемые для приближенного вычисления однократных интегралов, называют квадратурными формулами.

Простой прием построения квадратурных формул состоит в том, что подынтегральная функция заменяется на отрезке интерполяционным многочленом, например, многочленом Лагранжа ; для интеграла имеем приближенное равенство

(4.1)

Предполагается, что отрезок разбит на частей точками (узлами) , наличие которых подразумевается при построении многочлена . Для равноотстоящих узлов

При определенных допущениях получаем из (4.1) формулу трапеций

(4.2)

где  значения функции в узлах интерполяции.

Имеем следующую оценку погрешности метода интегрирования по формуле трапеций (4.2):

где , . (4.3)

Во многих случаях более точной оказывается формула Симпсона (формула парабол):

(4.4)

Для формулы Симпсона имеем следующую оценку погрешности:

где , .