- •Практикум по курсу «численные методы»
- •Введение
- •Знакомство с системой Maple.
- •Объекты, типы переменных
- •Команды Maple
- •Выражения
- •Список пакетов и библиотек
- •Пакет для студентов student
- •Список имен математических функций
- •Вычисления и операции в maple.
- •Лабораторная работа №1 Tема: Решение уравнения c одной переменной
- •Задание 1
- •Расчетная формула для метода хорд:
- •Примерный вариант выполнения лабораторной работы на Maple
- •Численное решение уравнений
- •Лабораторная работа № 2 Тема: Решение систем линейных уравнений
- •Примерный вариант выполнения лабораторной работы на maple
- •Контрольные вопросы
- •Лабораторная работа №3 Тема: Интерполирование функций
- •Задание 1
- •Задание 2
- •Задание 3.
- •Примерный фрагмент выполнения работы на maple.
- •Лабораторная работа №4 Тема: Численное интегрирование
- •Задание 1
- •Задание 2
- •Примерный фрагмент выполнения лабораторной работы на Maple
- •Лабораторная работа №5 Тема: Численное решение дифференциальных уравнений
- •Задание 1
- •Задание 2
- •Примерный фрагмент выполнения лабораторной работы на Maple
- •Лабораторная работа №6 Тема: Статистическая обработка опытных данных
- •Задание 1
- •Задание 2
- •Примерный фрагмент выполнения лабораторной работы
- •Лабораторная работа №7 Тема: Численное решение уравнений в частных производных
- •Задание 1
- •Решение уравнения теплопроводности в Maple
- •Литература
- •Содержание
- •(Лабораторная работа 4)….…………………………...…………….…… 30
- •Численное решение уравнений в частных производных
Примерный фрагмент выполнения работы на 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)
Для формулы Симпсона имеем следующую оценку погрешности:
где
,
.
