Прямоугольная волна от синусоид

В этом примере показано, как последовательное расширение Фурье для прямоугольной волны составлено из суммы нечетных гармоник.

Запустите путем формирования временного вектора, запускающегося от 0 до 10 с шагом 0,1, и возьмите синус всех точек. Постройте эту основную частоту.

t = 0:.1:10;
y = sin(t);
plot(t,y);

Figure contains an axes. The axes contains an object of type line.

Затем добавьте третью гармонику в основной принцип и постройте его.

y = sin(t) + sin(3*t)/3;
plot(t,y);

Figure contains an axes. The axes contains an object of type line.

Теперь используйте первые, третьи, пятые, седьмые, и девятые гармоники.

y = sin(t) + sin(3*t)/3 + sin(5*t)/5 + sin(7*t)/7 + sin(9*t)/9;
plot(t,y);

Figure contains an axes. The axes contains an object of type line.

Для финала пойдите от основного принципа полностью 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')

Figure contains an axes. The axes with title The building of a square wave: Gibbs' effect contains 5 objects of type line.

Вот 3-D поверхность, представляющая постепенное преобразование синусоиды в прямоугольную волну.

surf(y);
shading interp
axis off ij