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 02:01]
andrey.suchkov
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 $. Аппроксимировать полученные данные с помощью МНК ​по трём моделям: полиномиальнойэкспоненциальной и ДПФ. Повторить ДПФ, изменив коэффициент при $ x $ так, чтобы функция ​стала периодической.+
  
-===== Порядок выполнения работы ===== 
-  - Реализовать функцию ''​f (x)''​ для вычисления значений функции $ f(x) $. 
-  - Реализовать функцию ''​mnk ()''​ для построения модели с помощью МНК. 
-  - Разбить отрезок $ [0, b] $ на $ n $ участков и вычислить значения функции $ f(x) $ для каждого $ x $. 
-  - Аппроксимировать полученные данные с помощью функции ''​mnk ()''​ по двум моделям:​ полиномиальной и экспоненциальной. Построить графики аппроксимационных функций вместе с облаком значений. Вычислить среднеквадратические отклонения для каждой модели. Сделать выводы. 
-  - Построить набор случайных данных с параметром зашумления $ fluc $. Рекомендуется использовать следующий скрипт (здесь ''​std_num''​ -- номер студенческого билета,​ e.g.: ''​std_num = 130301''​):​ <code octave> 
-rand ("​state",​ std_num) 
-x = 0:​b/​(n-1):​b;​ 
-y = f (x) + (2 * rand (1, n+1) - 1) * fluc; 
-</​code>​ 
-  - Аппроксимировать полученные данные с помощью функции ''​mnk ()''​ по трём моделям:​ полиномиальной,​ экспоненциальной и ДПФ. Построить графики аппроксимационных функций вместе с облаком значений. Вычислить среднеквадратические отклонения для каждой модели. Сделать выводы. 
-  - Изменить коэффициент при $ x $ так, чтобы функция стала периодической,​ т.е. $ f_T(0) = f_T(b) $. Реализовать функцию ''​f_T (x)''​. 
-  - Построить набор случайных данных по подвергнутой периодизации функции $ f_T(x) $. 
-  - Аппроксимировать полученные данные с помощью функции ''​mnk ()''​ с помощью ДПФ. Построить графики аппроксимационных функций вместе с облаком значений. Вычислить среднеквадратические отклонения для каждой модели. Сравнить результаты аппроксимации с непериодической функцией $ f(x) $, сделать выводы.