Лабораторная работа 2.3 ИНТЕРПОЛИРОВАНИЕ И АППРОКСИМАЦИЯ ФУНКЦИЙ ЗАДАНИЯ 1. Проинтерполировать функцию Рунге f ( x) 1 (1 25x 2 ) на отрезке 1, 1 многочленом степени n по n 1 равностоящим узлам x i 1 ih ; i 0,1, , n ; h 2 n . Использовать многочлен Лагранжа. Вычислить среднюю квадратическую погрешность по 1000 точек. Провести расчеты для n 12,16, 20 . УКАЗАНИЕ: средней квадратической погрешностью называется корень квадратный из среднего квадрата отклонения приближенного значения функции в узлах x j ( j 0 , k ) от точного 1 k 2 f ( x j ) u( x j ) . k 1 j0 Средняя квадратическая погрешность характеризует степень приближения функции f (x) интерполирующей функцией u ( x ) на всем отрезке интерполирования. 2. Выполнить кусочную интерполяцию функции Рунге f ( x) 1 1 25x 2 на отрезке 1,1 . Для этого: - вычислить значения функции в точках x i 1 i 0.1, i 0,1,, 20 ; - для отрезков 1, 0.3, 0.3, 0.3, 0.3,1 построить свои интерполяционные полиномы. Использовать подпрограмму вычисления значений многочлена Лагранжа по узлам x , x 1,, x r . Вычислить среднюю квадратическую погрешность по 1000 точек. Повторить расчеты для отрезков 1, 0.2, 0.2, 0.2, 0.2,1 . Сравнить с интерполяционным полиномом степени 20 по всем узлам интерполяции. 3. Вычислить значения функции Рунге f ( x) 1 1 25x 2 в точках x i 1 ih, i 0,1,, n, h 2 n. Используя схему "движущегося" (по узлам x , x 1,, x m ) полинома Лагранжа проинтерполировать функцию Рунге на отрезке 1,1 полиномом степени m. Определить среднюю квадратическую погрешность по 1000 точек. Выполнить расчеты для m 2, 5 и n 20,10 . 4. Вычислить значения функции Рунге f ( x) 1 1 25x 2 в точках x i 1 ih, i 0,1,, n, h 2 n . Используя интерполяционные формулы Ньютона проинтегрировать функцию f (x) на отрезке 1,1 многочленами 2-й и 3-й степени. Определить среднюю квадратическую погрешность по 1000 точек. Выполнить расчеты для n 20,10 . 5. Вычислить значения функции Рунге f ( x) 1 1 25x 2 в точках x i 1 ih, i 0,1,, n, h 2 n . Проинтерполировать функцию f (x) на отрезке 1,1 кубическим сплайном. Вычислить среднюю квадратическую погрешность по 1000 точек. Выполнить расчеты для n 10,15, 20 . 2 6. Вычислить значения функции f ( x ) e 25 x в точках x i 1 ih, i 0,1,, n, h 2 n . По полученным узлам интерполяции проинтерполировать функцию f (x) на отрезке 1,1 кубическим сплайном и "движущимся" полиномом Ньютона 3-ей степени. Определить средние квадратические погрешности по 1000 точек. 2 Выполнить расчет для n 10, 20 . 7. Проинтерполировать функцию f ( x ) cos x на отрезке 0, кубическим сплайном по n 1 равностоящим узлам. Вычислить среднюю квадратическую погрешность по 1000 точек. Обратить внимание на значения сплайна вблизи концов отрезка. "Естественные" условия (19) заменить на реальные (для функции cos x ) условия и повторить расчет. Выполнить расчеты для n 10, 20 . 8. В ходе химического эксперимента получены следующие семь пар данных t -1.000 -0.960 -0.860 -0.790 0.220 0.500 0.930 y -1.000 -0.151 0.894 0.986 0.895 0.500 -0.306 Предполагается, что y( t ) - очень гладкая кривая. Для оценки значений y( t ) на отрезке 1,1 проинтерполировать функцию y( t ) по заданным точкам полиномом Лагранжа в шестой степени и кубическим сплайном. 9. По данным задачи 8 построить аппроксимирующие полиномы степеней 2, 3, 4, построить кубический сплайн. 10. Моделируем получение экспериментальных данных: - в точках x i 1 ih; i 0,, n; h 2 n вычисляем значения функции y f ( x) 1 0.5x 0.25x 2 ; - в полученные точные значения y i f ( x i ) вносим "погрешность измерения". Для этого с помощью датчика случайных чисел получаем последовательность 0 , , n случайных чисел, равномерно распределенных на отрезке 1,1 . Полагаем y i y i i , где максимальная величина погрешности. По полученным "экспериментальным данным" построить интерполяцию многочленами 2-й и 3-й степени по формулам Ньютона. Вычислить средние квадратические погрешности по 1000 точек. Выполнить расчеты для n=10 и =0.1, 0.05, 0.01. 11. То же, что в задаче 10. Расчеты выполнить для 0.1 и n 10, 20, 40 . 12. Смоделировать получение экспериментальных данных (см. 3 задачу 10). По полученным данным построить кубический сплайн. Определить средние квадратические погрешности по 1000 точек.. Выполнить расчеты для n 10 и 0.1, 0.05, 0.01. 13. То же, что в задаче 12. Расчеты выполнить для 0.1 и n 10, 20, 40 . 14. В узлах xi = -10 + i, i = 0, 1, , 20 заданы значения функции 1, если x i 0; yi 0, если x i 0. Проинтерполировать по заданным точкам функцию y( x ) кубическим сплайном, многочленами Ньютона 2-й и 3-й степени, многочленом Лагранжа степени 20. Проанализировать результаты. 15. В узлах xi = -10 + i, i = 0, 1, , 20 заданы значения функции 1, если x i 0; y i 0, если x i 0; 1, если x i 0. Проинтерполировать по заданным точкам функцию y( x ) кубическим сплайном, многочленами Ньютона 2-й и 3-й степени, многочленом Лагранжа степени 20. Проанализировать результаты. 16. Вычислить по методу Симпсона с точностью до интеграл 1 1 1 25x 2 dx. 1 Сравнить с точным значением. Указать шаг и число точек, при которых достигается заданная точность. Выполнить расчеты для =10-2, 10-3, 10-4, 10-5. 4 17. В точках x i 1 ih, i 0,1,, n, h 2 n вычислить значения функции y 1 (1 25x 2 ) . Вычислить (приближенно) по заданным точкам 1 1 1 25x 2 dx, 1 построив кубический сплайн и взяв интеграл от сплайна. Вычислить интеграл по формуле Симпсона. Указать погрешности вычислений. Выполнить расчеты для n 6,10, 20, 30 . ЛИТЕРАТУРА 1. Крячков А.В., Сухинина И.В., Томшин В.К. Программирование на С и С++, практикум. М.: Изд-во Радио и связь, 1997. 2. Касьянов В.Н., Сабельфельд В.К. Сборник заданий по практикуму на ЭВМ. М.: Наука, 1986. 3. Демидович Б.П., Марон И.А. Основы вычислительной математики, гл 4. М.: ФМЛ, 1970. 4. Калиткин . Численные методы. М., 1978. 5. Форсайт Дж., Малькольм М., Моулер К. Машинные методы математических вычислений. М.: Мир, 1980. 5