24小时热门版块排行榜    

北京石油化工学院2026年研究生招生接收调剂公告
查看: 1959  |  回复: 0

ssyyswjtu

金虫 (正式写手)

[求助] Fortran调用MKL进行FFT计算

我这里有一段程序代码,但计算结果是错误的,请帮我看一下错在哪个地方,谢谢!

program main
    Use MKL_DFTI

    real(8)::Xre_in(7)
    real(8)::Xim_in(7)
    real(8)::Xre_out(7)
    real(8)::Xim_out(7)
    Integer :: Dim = 1, Len = 7, Status
    Type(DFTI_DESCRIPTOR), POINTER :: My_Desc_Handle

    Xre_in(1)=0.34907D0
    Xre_in(2)=0.54890D0
    Xre_in(3)=0.74776D0
    Xre_in(4)=0.94459D0
    Xre_in(5)=1.13850D0
    Xre_in(6)=1.32850D0
    Xre_in(7)=1.51370D0

    Xim_in(1)=0.0D0
    Xim_in(2)=0.0D0
    Xim_in(3)=0.0D0
    Xim_in(4)=0.0D0
    Xim_in(5)=0.0D0
    Xim_in(6)=0.0D0
    Xim_in(7)=0.0D0
    Status = DftiCreateDescriptor (My_Desc_Handle, DFTI_DOUBLE , DFTI_REAL, Dim, Len)
    Status = DftiSetValue(My_Desc_Handle, DFTI_COMPLEX_STORAGE, DFTI_REAL_REAL);
    Status = DftiCommitDescriptor (My_Desc_Handle)
    Status = DftiComputeBackward (My_Desc_Handle, Xre_in, Xim_in)
    Status = DftiFreeDescriptor (My_Desc_Handle)
   
    do i=1,7
        print*,Xre_in(i),Xim_in(i)
    end do
   read(*,*)
end program main

也就是将复数的实部和虚部分开,调用的重载形式为status = DftiComputeBackward( desc_handle, xre_inout, xim_inout )

如果调用的重载形式为status = DftiComputeBackward( desc_handle, x_inout ),代码如下,结果是对的:
program main
    Use MKL_DFTI
    complex(8)::X_in(7)
    complex(8)::X_out(7)
    Integer :: Dim = 1, Len = 7, Status
    Type(DFTI_DESCRIPTOR), POINTER :: My_Desc_Handle
     X_in(1)=(0.34907D0,0D0)
     X_in(2)=(0.54890D0,0D0)
     X_in(3)=(0.74776D0,0D0)
     X_in(4)=(0.94459D0,0D0)
     X_in(5)=(1.13850D0,0D0)
     X_in(6)=(1.32850D0,0D0)
     X_in(7)=(1.51370D0,0D0)

    Status = DftiCreateDescriptor (My_Desc_Handle, DFTI_DOUBLE,  DFTI_COMPLEX, Dim, Len)
    Status = DftiSetValue(My_Desc_Handle, DFTI_PLACEMENT,DFTI_INPLACE);
    Status = DftiCommitDescriptor (My_Desc_Handle)
    Status = DftiComputeBackward(My_Desc_Handle, X_in)
    Status = DftiFreeDescriptor(My_Desc_Handle)
   do i=1,7
        print*,X_in(i)
    end do
   read(*,*)
end program main

[ Last edited by ssyyswjtu on 2012-4-17 at 08:36 ]
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

智能机器人

Robot (super robot)

我们都爱小木虫

找到一些相关的精华帖子,希望有用哦~

科研从小木虫开始,人人为我,我为人人
相关版块跳转 我要订阅楼主 ssyyswjtu 的主题更新
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考研] 265求调剂 +7 林深温澜 2026-04-01 9/450 2026-04-02 09:32 by kaiyanjie
[考研] 348环境工程调剂 +3 吴彦祖24k 2026-04-01 3/150 2026-04-02 09:14 by nanaliuyun
[考研] 一志愿北京科技,085601总分305求调剂 +9 半生瓜! 2026-04-01 11/550 2026-04-02 08:28 by Wang200018
[考研] 一志愿北京科技大学085601材料工程英一数二初试总分335求调剂 +7 双马尾痞老板2 2026-04-01 7/350 2026-04-02 06:08 by 286640313
[考研] 085602化学工程268分蹲调剂 +8 月照花林。 2026-04-01 8/400 2026-04-01 22:08 by 无际的草原
[考研] 270求调剂 +7 小杰pp 2026-03-31 8/400 2026-04-01 21:36 by 七度不信任
[考研] 266分求材料化工冶金矿业等专业的调剂 +7 哇呼哼呼哼 2026-03-26 7/350 2026-04-01 20:47 by cqupH
[考研] 0703一志愿南师大334求调剂 +4 seven7yu 2026-03-30 4/200 2026-04-01 16:10 by oooqiao
[论文投稿] chinese chemical letters英文版投稿求助 120+4 Yishengeryi 2026-03-30 5/250 2026-04-01 14:11 by 陆小果画大饼
[考研] 一志愿中农0710生物学,微生物方向总分338求调剂 +3 柒xxxx. 2026-03-26 3/150 2026-04-01 12:30 by 冰乌龙
[考研] 一志愿北交材料工程总分358 +5 cs0106 2026-04-01 7/350 2026-04-01 11:45 by wangjy2002
[考研] 一志愿华南师范361分,化学求调剂 +4 Nicole88888 2026-04-01 4/200 2026-04-01 10:08 by 唐沐儿
[考研] 考研生物与医药调剂 +7 铁憨憨123425 2026-03-31 7/350 2026-04-01 08:45 by JourneyLucky
[考研] 309分085801求调剂 +7 学员Gtwj7W 2026-03-31 7/350 2026-04-01 02:36 by BruceLiu320
[考研] 318求调剂 +3 笃行致远. 2026-03-31 3/150 2026-03-31 20:27 by 求调剂zz
[考研] 315求调剂 +6 akie... 2026-03-28 7/350 2026-03-31 16:48 by asdfzly
[考研] 323分 食品与营养调剂 +3 嘿ooo 2026-03-31 3/150 2026-03-31 09:38 by longlotian
[考研] 085601一志愿西北工业大学初试346 +4 085601初试346 2026-03-30 4/200 2026-03-31 07:47 by jp9609
[考研] 297 地理学070500 复试求调剂 +3 小圆圈圈ooo 2026-03-30 3/150 2026-03-30 21:05 by 余震yz
[考研] 一志愿中南大学化学0703总分337求调剂 +6 niko- 2026-03-27 6/300 2026-03-30 10:25 by herarysara
信息提示
请填处理意见