В этом примере показано, как расширение ряда Фурье для квадратной волны состоит из суммы нечетных гармоник.
Начните с формирования вектора времени от 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
