Labfans是一个针对大学生、工程师和科研工作者的技术社区。 | 论坛首页 | 联系我们(Contact Us) |
![]() |
![]() |
#1 |
初级会员
注册日期: 2010-03-14
帖子: 1
声望力: 0 ![]() |
![]()
请问一个二维DTFT符号运算的问题
本人在做信号处理的实验中自已写了一个DTFT的运算Script,先用符号运算得到对应Omiga1 和 Omiga2的一个符号式,再 用meshgrid 得到坐标和用 eval计算各个点的值,最后再画图surf, 注明:如果直接用meshgrid 再用 surf 画图的话,只有一个Omiga有效,另一个总是不被计算,不知道为什么? 所以加了两重循环体来计算各个点,下策。 但是这样的话这个Script运行的时间非常长,大概两个小时左右,很郁闷。 本人的机子:1.83G 双核 1G内存 Matlab 2007a 运行时 CPU在50%左右 是否有什么优化的方法,请指教。非常感谢,下面是一些代码参考: syms omgxsym1 omgxsym2 dtft2Dspeget=dtft2DFliter(data,'pars',omgxsym1,omgxsym2) I=j; datadtft2Dspeget=zeros(51); for omgxsym1=0:0.01:0.5 for omgxsym2=0:0.01:0.5 datadtft2Dspeget(floor(omgxsym1/0.01)+1,floor(omgxsym2/0.01)+1)=eval(abs(dtft2Dspeget)); end end figure(9) [omgxsym1,omgxsym2]=meshgrid(0:0.01:0.5, 0:0.01:0.5); surf(omgxsym1,omgxsym2,datadtft2Dspeget),shading flat |
![]() |
![]() |