exponenta event banner

Квадратная волна от синусоидальных волн

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

Начните с формирования вектора времени от 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