《量化投资:以MATLAB为工具》

MATLAB技术论坛

 找回密码
 注册账号
查看: 32|回复: 0
收起左侧

[讨论] 再次发帖讨论MATLAB的傅里叶变换问题

[复制链接]

签到天数: 2 天

[LV.1]初来乍到

发表于 7 天前 | 显示全部楼层 |阅读模式
不管是从网上的资料还是MATLAB帮助文件中都提到了从时域到频域转换的时候得到真实的频率幅值要么除以N或者乘以2除以N,现在问题是与下列问题相矛盾,但不知道问题所在,欢迎大家讨论!!!
n1=1;
n2=0.5;
L=100;
nn=2^nextpow2(L);
ru0t=zeros(nn,1);
for p=1:1:nn
tt=(p-1).*0.01;
ru0t(p)=16*n1*((tt./n2).^3*heaviside(tt./n2)-(tt./n2-0.25).^3*4*heaviside...
    (tt./n2-0.25)+(tt./n2-0.5).^3*6*heaviside(tt./n2-0.5)-(tt./n2-0.75).^3....
    *4*heaviside(tt./n2-0.75)+(tt./n2-1.0).^3*heaviside(tt./n2-1.0));
end;
ru0w=fft(ru0t);
ru0ww=abs(ru0w/L);
plot(ru0ww);
本题的理论解是ru0w=0.375*n1*n2(频率w=0)和ru0w=1536.0*n1*n2*(sin(w*n2/8.0))^4*exp(-(0.0,1.0)*w*n2/2.0)/(w*n2)^4(w>0)
问题是n1和n2固定的话,那ru0w最大值是0.1875。那么ru0w=fft(ru0t);ru0ww=abs(ru0w/L)中L不是100的话就不对啊,比如说1000的时候就是0.01875,这不对啊,应该怎么办?
您需要登录后才可以回帖 登录 | 注册账号

本版积分规则

QQ|网站地图|MATLAB技术论坛|Simulink仿真论坛 ( 陕ICP备08102094号  

GMT+8, 2017-12-14 17:59 , Processed in 0.088420 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表