
- •Министерство науки и образования украины
- •2.Аппроксимация в среде MathCad.
- •2.1. Аппроксимация линейной функцией с использованием встроенных функций системы MathCad .
- •2.2.Аппроксимация полиномами.
- •2.3. Аппроксимация линейной комбинацией функций.
- •2.4. Аппроксимация функцией произвольного вида.
- •3. Метод наименьших квадратов.
- •Пример решения в среде Mathcad .
- •4. Контрольные задачи.
2.3. Аппроксимация линейной комбинацией функций.
Mathcad предоставляет пользователям встроенную функцию linfit для аппроксимации данных по методу наименьших квадратов линейной комбинацией произвольных функций.
Функция linfit(x, y, F) имеет три аргумента:
вектор x – x–координаты заданных точек,
вектор y – y–координаты заданных точек,
функция F – содержит вектор столбец функций, который будет использоваться для построения их линейной комбинации.
Задаем
функцию F (аппроксимирующая функция
ищется в виде F(x)=:
Построим аппроксимирующую функцию:
Вычислим стандартное отклонение
:
Графики аппроксимирующего полинома функции и данных аппроксимации :
2.4. Аппроксимация функцией произвольного вида.
Теперь построим аппроксимирующую функцию дробно–рационального типа f(x)= - ax/(b+x3).
Для этого воспользуемся функцией genfit(x,y,v,F ) , с помощью которой вычисляем коэффициенты аппроксимирующей функции .
Функция имеет следующие параметры:
x, y – векторы, содержащие координаты заданных точек,
F(x,u) – функция, задающая искомую функциональную n–параметрическую зависимость и частные производные этой зависимости по параметрам.
u - вектор столбец искомых коэффициентов .
v – вектор, задающий начальные приближения для поиска козффициентов.
-
вектор столбец искомых коэффициентов.
Поскольку нулевой элемент функции F содержит искомую функцию, определяем функцию следующим образом:
Вычисляем среднее квадратичное отклонение
3. Метод наименьших квадратов.
Функция
y=f(x)
задана таблицей значений
в
точках
.
Используя
метод наименьших квадратов (МНК), найти
многочлен
наилучшего
среднеквадратичного приближения
оптимальной степениm=m*.
За
оптимальное значение m*
принять ту степень многочлена, начиная
с которой величина
стабилизируется
или начинает возрастать.
ПОРЯДОК(алгоритм) РЕШЕНИЯ :
1. Задать векторы x и y исходных данных.
2. Используя функцию mnk (см. ниже пример решения в среде Mathcad ), найти многочлены Pm, m=0,1,2,..., по методу наименьших квадратов.
Вычислить
соответствующие им значения
.
3.
Построить гистограмму зависимости
отm,
на
основании которой выбрать оптимальную
степень m*
многочлена наилучшего среднеквадратичного
приближения.
4. На одном чертеже построить графики многочленов Pm, m=0,1,2,..., m*, и точечный график исходной функции.
Пример решения в среде Mathcad .
Векторы исходных данных:
Функция mnk, строящая многочлен степени m по методу наименьших квадратов,
возвращает вектор a коэффициентов многочлена:
Входные данные :
x, y - векторы исходных данных;
n+1 - размерность x,y.
Вычисление коэффициентов многочленов степени 0,1,2,3 по методу наименьших квадратов:
Построение функции P , которая возвращает значение многочлена степени m в точке t (многочлен задается с помощью вектора коэффициентов a) :
Функция
возвращает
значение среднеквадратичного уклонения
многочлена P(a,m,t) :
Вычисление
значений
, где m=0,1,2,3 :
Гистограмма
Вывод:
оптимальная степень m*=2;
многочлен наилучшего среднеквадратичного приближения:
P2(x)=-1.102+1.598x+0.717.
Графики многочленов степени 0,1,2 и точечный график исходной функции: