Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
МАТЕМАТИЧЕСКОЕ МОДЕЛИРОВАНИЕ В РАСЧЕТАХ НА ЭВМ2...doc
Скачиваний:
4
Добавлен:
01.03.2025
Размер:
4 Мб
Скачать
☆

Лабораторная работа №4. Математическая обработка результатов экспериментальных данных

 Изучая в лабораторной работе № 3 теорию интерполяции, вы познакомились с интерполяционными формулами, которые в точности воспроизводят значения данной функции в узлах интерполяции. Однако в ряде случаев выполнение этого условия затруднительно или даже нецелесообразно:

  1. Если заданные величины х и у являются экспериментальными данными, то могут содержать в себе существенные ошибки, т.к. получены в результате измерений или наблюдений. Поэтому построение аппроксимирующего многочлена, воспроизводящего в точности заданное значение функции, означало бы тщательное копирование допущенных при измерениях ошибок.

  2. Если имеются точные значения функции в некоторых точках, но число таких точек n весьма велико, то интерполяционный многочлен будет очень высокой степени (если только разности не будут становиться постоянными).

Поэтому возникает задача построения многочлена некоторой вполне определенной степени, но меньшей чем n - 1, который хотя и не дает точных значений функции в узлах интерполяции, но достаточно близко к ним подходит.

 

Метод наименьших квадратов

Метод наименьших квадратов (МНК) состоит в следующем: для данных значений x = х0, х1, . . ., хn и y = y0, y1, . . ., yn подобрать многочлен заданной степени m < n вида

(1)

принимающий в заданных точках хi значения как можно более близкие к табличным значениям yi. Коэффициенты ai многочлена (1) находят из решения системы

где .

 

(2)

Регрессионный анализ

Пусть имеются два ряда чисел x = х0, х1, . . ., хn и y = y0, y1, . . ., yn, при этом предполагается, что ряд у каким-либо образом зависит от ряда х. Задача регрессионного анализа состоит в восстановлении математической зависимости (регрессии) у(х) по результатам измерений (xi, yi), i = 0, 1, . . ., n.

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

Линейная регрессия

Встроенные функции intercept (to intercept – отложить отрезок на линии) и slope (наклон) решают самую простую и распространенную задачу линейной регрессии экспериментальных данных:

f(x) = slope(vx, vy) x + intercept(vx, vy)

slope(vx, vy)

Возвращает скаляр: наклон линии для данных из vx и vy.

intercept(vx, vy)

Возвращает скаляр: смещение по оси ординат линии регрессии для данных из vx и vy.

Полиномиальная регрессия

Используйте функцию regress, когда нужно получить единственный полином произвольной степени, чтобы приблизить все данные. Не рекомендуется делать степень аппроксимирующего полинома выше 4 - 6, поскольку погрешности реализации регрессии сильно возрастают.

regress(vx, vy, n)

Возвращает вектор vs, требуемый interp (см. лабораторную работу № 3), чтобы найти полином порядка n, который наилучшим образом приближает данные из vx и vy.

Пример 1 рис. 6 иллюстрирует использование функции regress. Так как regress приближает все точки данных, используя один полином, это не дает хороший результат, когда данные не связаны единой полиномиальной зависимостью.

Функция loess облегчает эти проблемы, выполняя локальное приближение. Вместо одного полинома loess создает различные полиномы второго порядка в зависимости от расположения на кривой (см. пример 2 на рис. 6).

loess(vx, vy, span)

Возвращает вектор vs, требуемый interp, чтобы найти набор полиномов второго порядка, которые наилучшим образом приближают определенные окрестности выборочных точек, определенных в векторах vx и vy. Аргумент span > 0 определяет, насколько большие окрестности loess будет использовать при выполнении локального приближения.

Рис. 6. Полиномиальная регрессия