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