В этом примере показано, как последовательное расширение Фурье для прямоугольной волны составлено из суммы нечетных гармоник.
Запустите путем формирования временного вектора, запускающегося от 0 до 10 с шагом 0,1, и возьмите синус всех точек. Постройте эту основную частоту.
t = 0:.1:10; y = sin(t); plot(t,y);
Затем добавьте третью гармонику в основной принцип и постройте его.
y = sin(t) + sin(3*t)/3; plot(t,y);
Теперь используйте первые, третьи, пятые, седьмые, и девятые гармоники.
y = sin(t) + sin(3*t)/3 + sin(5*t)/5 + sin(7*t)/7 + sin(9*t)/9; plot(t,y);
Для финала пойдите от основного принципа полностью 19-й гармоники, создав векторы из последовательно большего количества гармоник, и сохранив все промежуточные шаги как строки матрицы.
Постройте векторы на той же фигуре, чтобы показать эволюцию прямоугольной волны. Обратите внимание на то, что эффект Гиббса говорит, что это никогда не будет вполне добираться там.
t = 0:.02:3.14; y = zeros(10,length(t)); x = zeros(size(t)); for k = 1:2:19 x = x + sin(k*t)/k; y((k+1)/2,:) = x; end plot(y(1:2:9,:)') title('The building of a square wave: Gibbs'' effect')
Вот 3-D поверхность, представляющая постепенное преобразование синусоиды в прямоугольную волну.
surf(y); shading interp axis off ij