y(t)=, y(t+2π)=y(t) のフーリエ級数展開。(周期T=2π)
固有周波数f0=1/T=1/2π。
clear; close all; clc; T=2*pi; f0=1/T; dt=0.01; t=-T/2:dt:T/2; f=@(t) exp(cos(t)).*cos(sin(t)); y=f(t); plot(t,y,'DisplayName','original'); hold on; syms x; x2 = cos(x)*cos(sin(x)); % c = @(n) 1/T*int(x2*exp((-1j*2*pi*f0*n)*x),-T/2,T/2); c = @(n) 1/(2*factorial(abs(n))); c0 = c(0)+1/2; nmaxs=[1,2,3,4]; for idx=1:length(nmaxs) nmax = nmaxs(idx); ft=fourier_series_complex(t,f0,c0,c,nmax); plot(t,ft,'DisplayName',sprintf('N=%d',nmax)); end legend(); big; function ft=fourier_series_complex(t,f0,c0,c,nmax) ft = 0; for n=-nmax:nmax if n==0 cn = c0; else cn = c(n); end ft = ft + cn*exp(1j*(2*pi*f0*n)*t); end end