我有这个公式在matlab中找到傅立叶级数
f(n)=(f(t),exp(jnt))
并且内积是:=(1 \ 2 * pi)积分(在pi和。之间) -pi)(F1 * F2' * DT))
现在我想在matlab中为这个向量(f(t)=t)
找到傅立叶系数
其中t是一个长度为1000的向量。
当k = 2时,我需要通过近似量找到2k + 1个傅里叶系数,这意味着n=(-2,-1,0,1,2)
然后将其与分析计算进行比较。
这是我到目前为止所做的:
clc
t = linspace(-pi,pi,1000);
f=t;
plot(t,f); hold all;
dt=2*pi/1000;
cnPlusVal=0;
cnMinusVal=0;
FourierS1=0;
FourierS2=0;
k=2;
for l = 1:k
cnPlusVal=cnPlusVal+f.*exp(-i*l*t)*(dt/2*pi) ;
cnMinusVal=cnMinusVal+f.*exp(i*l*t)*(dt/2*pi);
FourierS1=FourierS1+cnPlusVal.*(exp(i*l*t));
FourierS2=FourierS2+cnMinusVal.*(exp(i*-l*t));
end
现在为了将它与分析计算进行比较我需要绘制forier系列..如何在f的同一图表中做任何帮助?
答案 0 :(得分:1)
这里有两个问题要处理:
以下是我建议你的解决方法:
{
test: /\.worker\.js$/,
use: {
loader: 'worker-loader',
options: {
inline: true
}
}
},
基本上:
figure();
plot(t,FourierS1);
x_lim = get(gca(),'XLim');
y_lim = get(gca(),'YLim');
hold on;
plot(t,f);
set(gca(),'XLim',x_lim,'YLim',y_lim);
hold off;
; 这是输出: