78 lines
3.3 KiB
Text
78 lines
3.3 KiB
Text
#import "../lab-template.typ"
|
||
#import lab-template: lab
|
||
#import "@preview/cetz:0.2.2": canvas, plot
|
||
|
||
#show: doc => lab(
|
||
num: 1,
|
||
name: [Ряды Фурье],
|
||
doc
|
||
)
|
||
|
||
= Вещественные функции
|
||
Придумайте числа $a, b, t_0, t_1, t_2$ такие, что $a, b > 0$ и $t_2 > t_1 > t_0$. Рассмотрите следующие функции $f : RR -> RR$ и для каждой из функции:
|
||
|
||
- Постройте график $f(t)$
|
||
|
||
- Рассмотрите частичные суммы Фурье $F_N$ и $G_N$ вида
|
||
$ F_N (t) = a_0/2 + sum^N_(n=1) (a_n cos(omega_n t) + b_n sin(omega_n t)) $
|
||
$ G_N (t) = sum^N_(n=-N) c_n e^(i omega_n t) $
|
||
где $omega_n = (2 pi n)/T$
|
||
|
||
- Приведите формулы для вычисления коэффициентов $(a_n, b_n)$ и $c_n$ для каждого случая. Если значения некоторых из них очевидны, укажите это. Для первой функции (квадратная волна) и $n=0, 1, 2$ вычислите значения указанных коэффициентов вручную.
|
||
|
||
- Напишите программу, которая ывчисляет коэффициениты Фурье $(a_n, b_n)$ и $c_n$ для произвольного $N$. Приведите в отчёте коэффициенты для случая $N = 3$.
|
||
|
||
- Постройте графики $F_N (t)$ и $G_N (t)$ для пяти различных значений $N$. Сравните их друг с другом и с графиком исходной функции $f(t)$.
|
||
|
||
- Проверьте выполнение оавенства Парсеваля для коэффициентов $(a_n, b_n)$ и $c_n$.
|
||
|
||
1. *Квадратная волна*. Периодическая функция с периодом $T = t_2 - t_0$ такая, что
|
||
$ f(t) = cases(
|
||
a\, & t in [t_0, t_1),
|
||
b\, & t in [t_1, t_2)
|
||
) $
|
||
|
||
Пусть $a = 1, b = 2$ и $t_0 = 0, t_1 = 1, t_2 = 2$. В таком случае конечная функция будет вида:
|
||
|
||
$ f(t) = cases(
|
||
1\, & t in [0, 1),
|
||
2\, & t in [1, 2)
|
||
) $
|
||
|
||
Построим график данной функции:
|
||
|
||
#figure(
|
||
canvas(length: 1.5cm, {
|
||
plot.plot(size: (3, 3),
|
||
x-tick-step: 1, y-tick-step: 1,
|
||
x-min: -3, x-max: 3,
|
||
y-min: -3, y-max: 3,
|
||
x-grid: true, y-grid: true,
|
||
{
|
||
plot.add(domain: (-3, 3), t => {
|
||
let (t0, t1, t2) = (0, 1, 2)
|
||
let T = t2 - t0
|
||
let abs_rem = calc.rem(calc.abs(t), T)
|
||
if abs_rem >= t0 and abs_rem <= t1 {
|
||
return 1
|
||
} else {
|
||
return 2
|
||
}
|
||
})
|
||
}
|
||
)
|
||
})
|
||
)
|
||
|
||
2. Любая *чётная* периодическая функция по вашему выбору.
|
||
|
||
#lorem(50)
|
||
|
||
3. Любая *нечётная* периодическая функция по вашему выбору.
|
||
|
||
#lorem(50)
|
||
|
||
4. Любая периодическая функция по вашему выбору, график которой состоит не только из прямых линий, и которая не является *ни чётной, ни нечётной*.
|
||
|
||
#lorem(50)
|
||
|