对该文发表评论已有8条评论,点击全部查看
我的态度:

    登录 | 注册 需要登陆才可发布评论
最新 最热
2021-12-05 19:03:51 njuxyc(njuxyc)
程序没问题,和mathematica的计算结果一致
回复 支持1
2019-10-12 09:35:16 sysslm(sysslm)
Spineless 于 2015-12-14 11:11:32发布
这个代码有误,用序列(1,2,3,4)计算,算出来的结果是[(10,0),(-2,-2),(-2,0),(-2,2)],但是正确答案应该是[(10,0),(-2,2),(-2,0),(-2,-2)]
第四行FFT_Forward和第五行FFT_Inverse的取值调换一下就对了
回复 支持1
2019-07-21 13:45:02 aoeo2jam(aoeo2jam)
乘除法次数太多,居然还有指数运算,计算速度不行,如果作为核心程序大量调用,效率是不行的。
回复 支持5
2019-01-07 09:25:23 hq1162377655(hq1162377655)
你好,请问有维度是奇数的FFT代码? 谢谢!
回复 支持7
2017-09-20 13:49:45 168371286(168371286)
糖盒love玲珑 于 2016-03-16 10:24:49发布
这段代码 没有错误!!! 变换的时候,数学公式上有个i(虚数单位), 其实也可以用-i,只要正向的变换和返回的时候一致就可以了. 要是想和Matlab中计算的一致, 你自己修改 x(itmp) = ctmp * exp( forback * cmplx( 0.0_DP , e*(j-1),kind=DP ) ) 为 x(itmp) = ctmp * exp( forback * cmplx( 0.0_DP , -e*(j-1),kind=DP ) ) 即可!
请问,二维数组(矩阵)离散傅里叶变换怎么实现?
回复 支持6
2016-03-16 10:24:49 糖盒(糖盒love玲珑)
这段代码 没有错误!!! 变换的时候,数学公式上有个i(虚数单位), 其实也可以用-i,只要正向的变换和返回的时候一致就可以了. 要是想和Matlab中计算的一致, 你自己修改 x(itmp) = ctmp * exp( forback * cmplx( 0.0_DP , e*(j-1),kind=DP ) ) 为 x(itmp) = ctmp * exp( forback * cmplx( 0.0_DP , -e*(j-1),kind=DP ) ) 即可!
回复 支持3
2015-12-17 08:35:09 vvt(vvt)
Spineless 于 2015-12-14 11:11:32发布
这个代码有误,用序列(1,2,3,4)计算,算出来的结果是[(10,0),(-2,-2),(-2,0),(-2,2)],但是正确答案应该是[(10,0),(-2,2),(-2,0),(-2,-2)]
经验证,此代码与matlab计算结果一致。为:(10,0),(-2,-2),(-2,0),(-2,2)
回复 支持4
2015-12-14 11:11:32 Spineless(Spineless)
这个代码有误,用序列(1,2,3,4)计算,算出来的结果是[(10,0),(-2,-2),(-2,0),(-2,2)],但是正确答案应该是[(10,0),(-2,2),(-2,0),(-2,-2)]
回复 支持4