User Tools

Site Tools


Sidebar






Old

courses:computational_mathematics:prac4

This is an old revision of the document!


Практическая работа №4: Аппроксимация функций

Цель работы

Сформировать навыки и умения решения задачи аппроксимации функции с помощью метода наименьших квадратов (МНК) и дискретного преобразования Фурье (ДПФ); освоить реализацию МНК и ДПФ с помощью математического пакета GNU Octave.

Постановка задачи

Построить набор случайных данных для функции $ f(x) $ на промежутке $ [0, b] $ разбив его на $ n $ участков при параметре зашумления $ fluc $. Аппроксимировать полученные данные с помощью МНК по трём моделям: полиномиальной, экспоненциальной и ДПФ.

Порядок выполнения работы

  1. Реализовать функцию f(x) для вычисления значений функции $ f(x) $.
  2. Реализовать функцию mnk() для построения модели с помощью МНК.
  3. Разбить отрезок $ [0, b] $ на $ n $ участков и вычислить значения функции $ f(x) $ для каждого $ x $.
  4. Аппроксимировать полученные данные с помощью функции mnk() по двум моделям: полиномиальной и экспоненциальной. Построить графики аппроксимационных функций вместе с облаком значений. Вычислить среднеквадратические отклонения для каждой модели. Сделать выводы.
  5. Построить набор случайных данных с параметром зашумления $ fluc $. Рекомендуется использовать следующую функцию (здесь stud_num – номер студенческого билета, e.g.: stud_num = 130301):
    rand ("state", stud_num)
    x = 0:b/n:b;
    y = f (x) + (2 * rand (1, n) - 1) * fluc;
  6. Аппроксимировать полученные данные с помощью функции mnk() по трём моделям: полиномиальной, экспоненциальной и ДПФ. Построить графики аппроксимационных функций вместе с облаком значений. Вычислить среднеквадратические отклонения для каждой модели. Сделать выводы.
  7. Изменить коэффициент при $ x $ так, чтобы функция $ f(x) $ стала периодической, т.е. $ f(0) = f(b) $. Реализовать периодическую функцию f_T(x).
  8. Построить набор случайных данных по подвергнутой периодизации функции $ f_T(x) $.
  9. Аппроксимировать полученные данные с помощью функции mnk() с помощью ДПФ. Построить графики аппроксимационных функций вместе с облаком значений. Вычислить среднеквадратические отклонения для каждой модели. Сравнить результаты аппроксимации с непериодической функцией $ f(x) $, сделать выводы.

Варианты заданий

Выполнение работ осуществляется по индивидуальным вариантам заданий (функции и параметры). Номер варианта для каждого студента определяется преподавателем.

task4_vars

courses/computational_mathematics/prac4.1656913193.txt.gz · Last modified: 2022/12/10 09:08 (external edit)