作者dammmit (78$)
看板MATLAB
标题[问题] Fourier转换
时间Tue May 1 23:16:51 2012
题目是这样
┌cosx , 0 < x < π/2
f(x) ┤ ,f(x+π)=f(x)
└0 , π/2 < x < π
以下是我的程式码
--------------------------------------------------------
1 syms x;
2 T=pi;
3 w0=2*pi/T;
4 p=T/2;
5 t=[-p:0.01:p];
6 fx=cos(x)*(heaviside(x)-heaviside(x-pi/2));
7 ft=cos(t)*(heaviside(t)-heaviside(t-pi/2));
8 fn=0.;k=0;
9 for n=-10:10
10 k=k+1;
11 wn(k)=n*w0;
12 c=double(1./T*int(fx*exp(-i*wn(k)*x),x,-p,p));
13 d(k)=abs(c);
14 fn=fn+c*exp(i.*wn(k)*t);
15 end
16 subplot(3,1,1),plot(t,real(fn),t,ft,'r')
17 subplot(3,1,2),plot(wn,d,'o')
18 subplot(3,1,3),bar(wn,d)
--------------------------------------------------------
Run出来的结果一直出现
Error using *
Inner matrix dimensions must agree.
有没有眼尖的大大可以帮帮忙THX^^~~
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 111.249.230.135
1F:→ ejialan:ft=cos(t).*(heaviside(t)-heaviside(t-pi/2)); 05/01 23:48
2F:→ ejialan:是说他应该会告诉你第几行错 05/01 23:48
3F:→ dammmit:WOW~~~真的少了~~谢谢!!!!!! 05/02 01:08