[讨论] fft(x,N)warning疑惑

楼主: bcpsowen (pigbull)   2018-11-09 15:24:33
小弟还是matlab新手
这边有个比较抽象的问题
想请问各位
刚刚在使用matlab的fft(x,N)指令时
把这个指令放在function中呼叫时(N取决于输入)
会有警告N这个变量必须是正整数
因此我在function中有先把N的直前面加上fix
可是
程式的执行时间却上升了(tic toc来测)
当我把N直接设定为常数时(直接用自己的输入来计算好代入N)
执行时间又快了不少
实在不太理解为何
另外
在function中的array的index使用变量(取决于输入)
是不是会有error的风险?
因为当我不是使用function时
array为变量就都没问题
这方面有什么可以改善吗?
小弟还是新手 还请各位多多指导 谢谢
作者: profyang (prof)   2018-11-09 20:46:00
第一个问题 fft在N是2的整数次方时是最快的 其实我没看懂你么意思 你本来可能有些因素造成你N不是正整数 但这样fft就不能跑了吧?这样你怎么知道后来fix(N)之后的fft速度比较快?本来根本不能跑啊?第二个问题 使用变量时完全没问题 但你要注意你这index一样要是正整数就是了

Links booklink

Contact Us: admin [ a t ] ucptt.com