- •Требования к выполнению лабораторних работ
- •Тема 1. Аппроксимация функций по методу наименьших квадратов (мнк)
- •Лабораторная работа № 1
- •Метод наименьших квадратов
- •В случае аппроксимации полиномами
- •Теоретические сведения
- •Лабораторная работа № 2
- •Определить невязки аппроксимации.
- •Проверить вычисления с помощью встроенных функций.
- •Варианты лабораторных работ
- •Тема 2. Численное интегрирование. Приближенное вычисление определенного интеграла Лабораторная работа № 3 Приближенное вычисление определенных интегралов»
- •Теоретические сведения.
- •1. Методы прямоугольников.
- •2. Метод трапеций.
- •3. Метод Симпсона.
- •4. Апостериорные оценки погрешностей по Рунге и Эйткену.
- •Вычисление определенного интеграла с помощью встроенной функции.
- •Программный блок, реализующий приближенное вычисление определенного интеграла.
- •Программный блок вычисления апостериорных погрешностей вычислений.
- •Варианты заданий
- •Лабораторная работа № 4 Приближенное вычисление определенных интегралов
- •Содержание отчета
- •Теоретические сведения
- •Тема 3. Численное решение интегральных уравнений Лабораторная работа № 5 Приближенное вычисление интегральных уравнений Фредгольма и Вольтерра
- •Теоретические сведения.
- •Лабораторная работа № 5 метод гаусса решения систем линейных алгебраических уравнений (слау)
- •Постановка задачи
- •Содержание отчета
- •Теоретические сведения
- •Примеры выполнения заданий
- •Пример вычислений в пакете mathcad.
- •Программная реализация метода Гаусса для решения слау в пакете matlab.
- •Варианты лабораторных работ
- •Лабораторная работа № 5 итерационные методы решения системы линейных алгебраических уравнений (слау)
- •Постановка задачи
- •Содержание отчета
- •Теоретические сведения
- •Пример выполнения заданий
- •Решение системы методом простой итерации.
- •Пример расчета в пакете mathcad.
- •Программная реализация метода простой итерации для решения слау в пакете matlab.
- •Встроенные функции пакетов mathcad и matlab
- •Для приближенного решения систем линейных
- •Алгебраических уравнений
- •Пакет mathcad
- •Пакет matlab
- •Тема 3. Интерполяция и приближение полиномами Лабораторная работа № 6 интерполяционный многочлен лагранжа
- •Постановка задачи
- •Изучить теоретические сведения.
- •Теоретические сведения
- •Пример выполнения заданий
- •Построение полинома Лагранжа для таблично заданной функции.
- •Построение полинома Лагранжа в пакете mathcad.
- •Пример построения полинома Лагранжа в пакете matlab.
- •Пример использования узлов Чебышева.
- •Пример вычисления погрешности интерполирования.
- •Варианты лабораторных работ
- •Лабораторная работа № 7 интерполирование для таблиц с постоянным шагом. Численное дифференцирование. Обратное интерполирование
- •Постановка задачи
- •Содержание отчета
- •Теоретические сведения
- •Пример выполнения заданий
- •Построение первой формулы Ньютона в пакете mathcad.
- •Пример программ для вычислений по первой формуле Ньютона в matlab.
- •Обратное интерполирование с помощью полинома Ньютона в пакете mathcad.
- •Решение задачи обратного интерполирования
- •Варианты заданий
- •Лабораторная работа № 8 интерполирование кубическими сплайнами
- •Постановка задачи
- •Содержание отчета
- •Теоретические сведения
- •Пример выполнения заданий
- •Построение кубического сплайна в пакете matlab.
- •Построение кубического сплайна в пакете mathcad.
- •Варианты лабораторных работ
- •Варианты лабораторных работ (окончание)
- •Встроенные функции интерполирования Пакет mathcad
- •Пакет matlab
- •Библиографический список
- •Содержание
- •Тема 1. Приближенное решение алгебраических
- •Тема 2. Приближенное решение систем линейных
- •Тема 3. Интерполяция и приближение полиномами……50
Лабораторная работа № 2
Метод наименьших квадратов
в случае аппроксимации полиномами
Цель
работы:
научиться аппроксимировать таблично
заданные функции методом наименьших
квадратов,
произвести подгонку экспоненциальной
кривой:
Постановка задачи:
Изучить теореточеские сведения.
Написать подпрограммы построения аппроксимирующей функции для таблично заданной функции.
Определить невязки аппроксимации.
Проверить вычисления с помощью встроенных функций.
Построить графики аппроксимирующих функций и заданной функции.
Теоретические сведения
Предположим,
что заданы точки
и требуется произвести подгонку
экспоненциальной кривой:
(1)
Для процедуры нелинейного метода наименьших квадратов требуется найти минимум:
(2)
Частные производные Е(А,С) по А и С равны
(3)
и
(4)
Если положить частные производные в эти формулы равными нулю и затем упростить эти выражения, то можно получить нормальные уравнения
(5)
Полученные уравнения- это нелинейные уравнения с неизвестными А и С, которые можно решить методом Ньютона. На это потребуется только время на вычисления и итерации, для которой нужны хорошие начальные значения для А и С. Во многих пакетах прикладных программ содержатся встроенные подпрограммы и минимизации функций от нескольких переменных, которые можно непосредственно использовать для минимизации функции Е(А,С). Например, симплекс-алгоритм Недлера-Мида можно непосредственно использовать для минимизации и обойтись без данных уравнений.
Пример: Используем МНК и найдем экспоненциальную подгонку y=CeAx по пяти точкам: (0;1,5), (1;2,5), (2;3,5), (3;5,0) и (4;7,5). Для этого минимизируем величину Е(А,С):
Е(А,С)=(C-1,5)2 +(СеА-2,5)2+(Се2А-3,5)2+(Се3А-5,0)2+(Се4А-7,5)2
Воспользуемся командой MATLAB fmins , чтобы найти приближения величин А и С, которые минимизируют Е(А,С) как М-файл в MATLAB.
function z=E(u)
A=u(1);
C=u(2);
z=(C-1,5).^2+(C.*exp(A)-2.5).^2+(C.*exp(2*A)-3.5).^2+… (C.*exp(3*A)-5.0).^2+(C.*exp(4*A)-7.5).^2;
Используя команду MATLAB Сommand Window fmins и начальные значения А=1,0 и С=1,0, найдем
>> fmins(‘E’,[1 1])
ans =
0.38357046980073 1.61089952247928
Такая экспоненциальная подгонка по пяти точкам имеет вид
у=1,6108995е0,3835705 (подгонка нелинейным МНК).
Степенная прогонка
В некоторых случаях функция имеет вид f(x)=AxM, где М- известная постоянная.
Теорема (степенная прогонка): предположим, что {(xk,yk)}Nk=1- N точек с различными абсциссами. Коэффициент А кривой, построенной методом наименьших квадратов, y=AxM, равен
(6)
Благодаря технике МНК видим, что минимум функции Е(А) равен
(7)
В данном случае достаточно решить уравнение E’(A)=0. Производная равна
(8)
Таким образом, коэффициент А является решением уравнения, которое приводит к равенству, приведенному выше.
Построение кривой по точкам
Метод линеаризации данных для y=CeAx
Предположим, что заданы точки (x1,y1),(x2,y2),…,(xN,yN) и требуется выполнить подгонку экспоненциальной кривой вида
(9) y=CeAx.
Первым будет шагом будет логарифмирование обеих частей:
Затем заменим переменные:
(11)
В результате получим линейное соотношение между новыми переменными X и Y:
(12)
Исходные точки (xk;yk) на плоскости ху преобразовались в точки (Xk;Y)=(xk;ln(yk)) на плоскости XY. Этот процесс называют линеаризация данных. Тогда построенная МНК линия является подгонкой к точкам {(Xk;Yk)}.Нормальными уравнениями для нахождения А и В будут уравнения
После того как А и В найдены, вычисляем параметр С уравнения (1):
(13)
Пример расчета в пакете MATHCAD
Разбиваем
и получаем точки Χ и Υ
Табулируем:
Решение
МНК с помощью встроенных функций:
Получаем
результат при помощи блока Given:
Практическая задача
Задание: необходимо написать программу для определения гравитационной постоянной g следующих совокупностей данных. Используем подгонку нелинейного МНК
Время, tk |
Расстояние, dk |
0.200 |
0.1960 |
0.400 |
0.7835 |
0.600 |
1.7630 |
0.800 |
3.1345 |
1.000 |
4.8975 |
Реализация метода в MATLAB
function z=E(u)
A=u(1);
C=u(2);
z=(C.*exp(0.2*A) -0.1960).^2+(C.*exp(0.4*A)-0.7835).^2+(C.*exp(0.6*A)-1.7630).^2+( C.*exp(0.8*A)-3.1345)+( C.*exp(1.0*A)-4.8975)
>> fmins(‘E’,[1 1])
ans =
0.1271 3.9115
Т.е. y=0.1271e3.9115
Реализация метода в MATHCAD:
Пояснения:
Представим, что время и расстояние х и у.
Решаем МНК с помощью встроенных функций.
Получаем результат при помощи блока Given. Результат- это и есть гравитационная постоянная. Которую мы представляем как
y=0.1271e3.9115
