User Tools

Site Tools


courses:computational_mathematics:prac5

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Next revision Both sides next revision
courses:computational_mathematics:prac5 [2022/04/17 18:03]
andrey.suchkov [Практическая работа №5: Аппроксимация функций. Метод наименьших квадратов и дискретное преобразование Фурье]
courses:computational_mathematics:prac5 [2022/06/28 18:18]
andrey.suchkov ↷ Page name changed from courses:computational_mathematics:task5 to courses:computational_mathematics:prac5
Line 1: Line 1:
-====== Практическая работа №5: Аппроксимация функций ====== +====== Практическая работа №5: Численное ​интегрирование ======
 ===== Цель работы ===== ===== Цель работы =====
-Сформировать навыки и умения решения задачи аппроксимации функции с помощью метода наименьших квадратов (МНК) и дискретного преобразования Фурье (ДПФ); освоить ​реализацию МНК и ДПФ с помощью математического пакета GNU Octave. +Изучение и сравнение различных методов численного интегрирования на примере составных формул прямоугольников,​ трапеций, Симпсона и Гаусса.
- +
-===== Постановка задачи ===== +
-Построить набор случайных ​данных для функции $ f(x) $ на промежутке $ [0, b] $ разбив его на $ n $ участков при параметре зашумления $ fluc $. Аппроксимировать полученные ​данные с помощью МНК по трём моделям:​ полиномиальной,​ экспоненциальной и ДПФ. +
-===== Порядок ​выполнения работы ===== +
-  - Реализовать функцию ''​f(x)''​ для вычисления значений функции $ f(x) $. +
-  - Реализовать функцию ''​mnk()''​ для построения модели с помощью МНК. +
-  - Разбить отрезок $ [0, b] $ на $ n $ участков и вычислить значения функции $ f(x) $ для каждого $ x $. +
-  - Аппроксимировать полученные данные с помощью функции ''​mnk()''​ по двум моделям: полиномиальной и экспоненциальной. Построить графики аппроксимационных функций вместе с облаком значений. Вычислить среднеквадратические отклонения для каждой модели. Сделать ​выводы. +
-  - Построить набор случайных ​данных с параметром зашумления $ fluc $. Рекомендуется использовать следующую ​функцию (здесь ''​stud_num''​ -- номер студенческого билета, e.g.: ''​stud_num = 130301''​):​ <code octave>​ +
-rand ("​state",​ stud_num) +
-x = linspace (0, b, n); +
-y = f (x) + (2 * rand (1, n) - 1) * fluc; +
-</​code>​ +
-  - Аппроксимировать полученные данные с помощью функции ''​mnk()''​ по трём моделям:​ полиномиальной,​ экспоненциальной и ДПФ. Построить ​графики аппроксимационных функций вместе с облаком значений. Вычислить среднеквадратические отклонения для каждой модели. Сделать ​выводы. +
-  - Изменить коэффициент при $ x $ такчтобы функция $ f(x) $ стала периодической,​ т.е. $ f(0) = f(b) $. Реализовать ​периодическую функцию ''​f_T(x)''​. +
-  - Построить набор случайных данных по подвергнутой периодизации функции $ f_T(x) $. +
-  - Аппроксимировать ​полученные данные ​с помощью функции ''​mnk()''​ с помощью ДПФ. Построить графики аппроксимационных функций вместе с облаком значений. Вычислить среднеквадратические отклонения для каждой модели. Сравнить результаты аппроксимации с непериодической функцией $ f(x) $, сделать выводы.+
  
-===== Варианты заданий ===== 
-<note important>​ 
-Выполнение работ осуществляется по индивидуальным вариантам заданий (функции и параметры). Номер варианта для каждого студента определяется преподавателем. 
-</​note>​ 
-[[.task5:​task5_vars]]