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

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

Запустите путем формирования временного вектора, запускающегося от 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