Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
199
Добавлен:
16.02.2016
Размер:
1.28 Mб
Скачать

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 :

Гистограмма

Вывод:

  1. оптимальная степень m*=2;

  2. многочлен наилучшего среднеквадратичного приближения:

P2(x)=-1.102+1.598x+0.717.

Графики многочленов степени 0,1,2 и точечный график исходной функции: