Main Content

사인파에서 구형파로

이 예제에서는 구형파의 푸리에 급수 전개가 어떻게 홀수 고조파의 합계로 이루어지는지 보여줍니다.

먼저 0부터 10까지(스텝 크기는 0.1) 이어지는 시간 벡터를 생성한 다음 모든 지점에서 사인 값을 구합니다. 이 기본주파수를 플로팅합니다.

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

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

다음으로, 기본파에 제3 고조파를 추가한 다음 플로팅합니다.

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

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

이제 제1 고조파, 제3 고조파, 제5 고조파, 제7 고조파, 제9 고조파를 사용합니다.

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 object. The axes object contains an object of type line.

마지막으로 기본파부터 제19 고조파까지 이동하면서 연속적으로 더 많은 고조파로 구성된 벡터를 만들고 모든 중간 스텝을 행렬의 행으로 저장합니다.

동일한 Figure에 이 벡터들을 플로팅하여 구형파가 구성되는 모습을 표시합니다. 참고로, 깁스 효과 때문에 유한한 개수의 고조파 합으로는 결코 완전한 구형파를 만들 수 없습니다.

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 object. The axes object with title The building of a square wave: Gibbs' effect contains 5 objects of type line.

아래에는 사인파가 점진적으로 구형파로 변환되는 모습을 나타내는 3차원 곡면이 나와 있습니다.

surf(y);
shading interp
axis off ij