24小时热门版块排行榜    

查看: 1977  |  回复: 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 的主题更新
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[基金申请] 今年也是没消息就是没中么 +5 vito刘 2026-06-13 9/450 2026-06-14 11:31 by newfuzzy1
[论文投稿] 买卖文章的刷屏了! +3 能丫 2026-06-13 3/150 2026-06-14 09:20 by bobvan
[找工作] *囍 +4 m584r2z4j3 2026-06-12 4/200 2026-06-14 09:06 by 8bmv3h4hvh
[论文投稿] ⊙▽⊙ +3 m584r2z4j3 2026-06-11 3/150 2026-06-14 08:46 by 8bmv3h4hvh
[硕博家园] T^T +7 m584r2z4j3 2026-06-11 8/400 2026-06-14 08:34 by 8bmv3h4hvh
[考博] →_→ +4 q1zg6x4lf3 2026-06-12 4/200 2026-06-14 08:28 by 8bmv3h4hvh
[考博] T^T +4 q1zg6x4lf3 2026-06-12 4/200 2026-06-14 08:26 by 8bmv3h4hvh
[考研] O(∩_∩)O +4 q1zg6x4lf3 2026-06-12 5/250 2026-06-14 08:23 by 8bmv3h4hvh
[考博] T^T +4 m584r2z4j3 2026-06-11 4/200 2026-06-14 08:08 by 8bmv3h4hvh
[考研] ╭(╯ε╰)╮ +5 m584r2z4j3 2026-06-11 5/250 2026-06-14 08:03 by 8bmv3h4hvh
[基金申请] 函评 +3 布布和一二 2026-06-13 3/150 2026-06-13 23:35 by 芋圆香飘飘
[找工作] 售SCI文章,我:8.O.5.51O.5.4,科目齐全,可十急 +3 q1zg6x4lf3 2026-06-12 3/150 2026-06-13 19:07 by 1js5n6upxm
[公派出国] +4 q1zg6x4lf3 2026-06-12 4/200 2026-06-13 19:05 by 1js5n6upxm
[文学芳草园] 咸菜 +3 myrtle 2026-06-10 3/150 2026-06-13 18:29 by ahsoarli
[考博] π_π +4 m584r2z4j3 2026-06-11 4/200 2026-06-13 18:25 by lkmi35jdzt
[考研] o>_<o +5 m584r2z4j3 2026-06-11 5/250 2026-06-13 18:22 by lkmi35jdzt
[找工作] 售SCI文章,我:8.O.5.51O.5.4,科目齐全,可十急 +4 q1zg6x4lf3 2026-06-12 4/200 2026-06-13 08:53 by t4hz8376wy
[考博] [急招]吉林大学招收26年9月入学考核制博士生1名,截止今晚24点前 +3 hehejin 2026-06-10 4/200 2026-06-12 18:24 by 冻雨天
[基金申请] 前几天时间戳更新了 +8 vito刘 2026-06-11 13/650 2026-06-12 14:17 by BlakeReary
[考博] 还有课题组有博士名额吗 +5 冻雨天 2026-06-07 6/300 2026-06-08 20:59 by RCS_tyro
信息提示
请填处理意见