Задание 7. Интерполяционный полином
Пусть . 1). Сгенерируйте случайный вектор , равномерно распределенный на отрезке . 2). Упорядочите его по возрастанию. 3). Сгенерируйте случайный нормально распределенный вектор . 4). Вычислите интерполяционный полином по заданным узлам и значениям. 5). Постройте график интерполяционного полинома p на отрезке . Исходные точки отметьте звёздочками. 6). Вычислите и отметьте на графике кружками значения интерполяционного полинома в серединах между узлами.
Задание 8. Приближение функций интерполяционными полиномами
Задана функция на отрезке .
А) Для постройте полином степени , интерполирующий функцию на отрезке в равноотстоящих узлах.
Б) Постройте в одних осях графики исходной функции и всех интерполяционных полиномов на отрезке .
В) Составьте таблицу погрешностей для и , на отрезке
Г) Постройте в одних осях графики погрешностей и , .
2 | 4 | 8 | 16 | 32 | |
---|---|---|---|---|---|
7.9e+00 | 4.4e+00 | 1.5e+00 | 6.4e-01 | 3.8e-01 | |
3.7e-01 | 2.4e-01 | 1.3e-01 | 8.6e-02 | 7.8e-02 |
64 | 128 | 256 | 512 | 1024 | |
---|---|---|---|---|---|
1.6e+00 | 5.3e+00 | 8.4e+00 | inf | inf | |
8.8e-01 | 2.1e+00 | 5.0e+00 | inf | inf |
Бесконечные значения, возникающие в последних столбцах, связаны с проблемами деления на очень маленькие числа, если тестовая точка находится достаточно близко к узлам интерполяции.
Задание 9. Численное дифференцирование
А) Согласно варианту выберите отрезок и функцию на нем.
Б) Вычислите производные и функции точно (руками).
В) Задайте на отрезке равномерную сетку точек , где .
Г) Для шагов в каждой точке заданной сетки численно найдите приближенное значение производной по формулам (формула дифференцирования вперед) и (формула центральной производной).
Д) Для найденных приближ. значений производных составьте таблицу погрешностей и :
… | ||||
---|---|---|---|---|
... | ... | ... | ... | |
... | ... | ... | ... |
Д) Нарисуйте на одном рисунке графики и в зависимости от (в логарифмической шкале по обеим осям).
Е) Найдите значения приращений и , при которых дают минимальную погрешность формула дифференцирования вперед и, соответственно, формула центральной производной.
Ж) Для шагов в каждой точке заданной сетки численно найдите приближенное значение второй производной по формуле (формула центральной второй производной).
З) Для найденных приближ. значений производных составьте таблицу погрешностей :
… | ||||
---|---|---|---|---|
... | ... | ... | ... |
И) Нарисуйте график в зависимости от (в логарифмической шкале по обеим осям).
К) Найдите значение приращения , при котором формула центральной производной даёт минимальную погрешность.
Точные значения производных
Найдём аналитически значения производных для :
Первая производная
Вторая производная
Сгенерируем тестовую сетку и значения производных на ней:
Анализ аппроксимации первой производной
Сгенерируем шаги, на которых будет проверяться точность аппроксимации производной, и численные аппроксимации производных с использованием этих шагов:
Получаем следующую таблицу точности аппроксимации:
0.1 | 0.01 | 0.001 | 0.0001 | 1e-05 | |
---|---|---|---|---|---|
8.4e-02 | 8.5e-03 | 8.5e-04 | 8.5e-05 | 8.5e-06 | |
1.2e-02 | 1.2e-04 | 1.2e-06 | 1.2e-08 | 1.2e-10 |
1e-06 | 1e-07 | 1e-08 | 1e-09 | 1e-10 | |
---|---|---|---|---|---|
8.5e-07 | 8.5e-08 | 2.2e-08 | 1.4e-07 | 1.3e-06 | |
7.1e-11 | 7.7e-10 | 8.0e-09 | 7.8e-08 | 6.4e-07 |
1e-11 | 1e-12 | 1e-13 | 1e-14 | 1e-15 | |
---|---|---|---|---|---|
1.3e-05 | 1.5e-04 | 1.5e-03 | 1.3e-02 | 1.6e-01 | |
7.1e-06 | 8.4e-05 | 7.7e-04 | 6.0e-03 | 9.3e-02 |
1e-16 | 1e-17 | 1e-18 | 1e-19 | 1e-20 | |
---|---|---|---|---|---|
1.4e+00 | 9.5e-01 | 1.0e+00 | 1.0e+00 | 1.0e+00 | |
6.2e-01 | 9.5e-01 | 1.0e+00 | 1.0e+00 | 1.0e+00 |
и график:
Из графика видно, что , а .
Анализ аппроксимации второй производной
Для второй производной получаем следующую таблицу
0.1 | 0.01 | 0.001 | 0.0001 | 1e-05 | |
---|---|---|---|---|---|
1.9e-02 | 1.9e-04 | 1.9e-06 | 3.2e-08 | 2.9e-06 |
1e-06 | 1e-07 | 1e-08 | 1e-09 | 1e-10 | |
---|---|---|---|---|---|
2.2e-04 | 2.5e-02 | 2.4e+00 | 2.2e+02 | 2.2e+04 |
1e-11 | 1e-12 | 1e-13 | 1e-14 | 1e-15 | |
---|---|---|---|---|---|
2.8e+06 | 2.8e+08 | 2.2e+10 | 2.8e+12 | 2.8e+14 |
1e-16 | 1e-17 | 1e-18 | 1e-19 | 1e-20 | |
---|---|---|---|---|---|
2.8e+16 | 2.8e+17 | 1.7e+00 | 1.7e+00 | 1.7e+00 |
и график:
Из графика видно, что для второй производной
Задание 10. Численное интегрирование
А) Согласно варианту выберите функцию .
Б) Вычислите интеграл точно (руками).
В) Применяя формулы трапеций и Симпсона, вычислите тот же интеграл приближенно с погрешностью (пользуясь правилом Рунге ).
Г) В каждом случае (для формул трапеций и Симпсона) определите, какое число узлов понадобилось и каковы реальные абсолютные погрешности.
Д) Вычислите тот же интеграл с той же погрешностью с помощью квадратурной формулы Эрмита (она же - Мелера) , где и , .
Е) Определите, какое число узлов понадобилось и какова реальная абсолютная погрешность.
Точное значение интеграла
Сначала найдём неопределённый интеграл от :
Его значение равно
Интеграл тогда равен
или же, приближённо,
Метод трапеций
Аппроксимируем интеграл с помощью метода трапеций:
Вычислим интеграл с узлами:
Правило Рунге даёт следующую оценку абсолютной погрешности :
По правилу Рунге для метод трапеций с узлами даёт оценку погрешности меньше . Проверим, чему в действительности равна разность между и :
Абсолютная погрешность не меньше , но примерно того же порядка.
Метод Симпсона
Вычислим теперь тот же интеграл с использованием метода Симпсона:
а
Правило Рунге:
По правилу Рунге для метод Симпсона с узлами даёт оценку погрешности меньше . Проверим, чему в действительности равна разность между и :
Абсолютная погрешность не меньше , но примерно того же порядка.
Метод Эрмита
Вычислим интеграл с помощью метода Эрмита: , где и , .
Для узлов
Абсолютная погрешность равна