Fortran Coder

查看: 6152|回复: 4
打印 上一主题 下一主题

[通用算法] 求助检查傅里叶变换程序

[复制链接]

23

帖子

9

主题

0

精华

熟手

F 币
134 元
贡献
82 点
跳转到指定楼层
楼主
发表于 2017-12-12 19:56:36 | 显示全部楼层 |只看大图 回帖奖励 |倒序浏览 |阅读模式
我有1000个CT数据,每个CT间隔1.2飞秒,现在对其进行傅里叶变换,只考虑实部,W是角频率想从0-1000,T是时间从0到1200飞秒。傅里叶变换后想得到横轴W(频率),纵轴FCT的图。但是结果貌似不是预期的样子,和origin中自行FFT做的图不吻合,还请各位帮忙看一下程序。谢谢诸位!
[Fortran] 纯文本查看 复制代码
PROGRAM FOURIER 
      IMPLICIT NONE
      REAL(4)::DT,T,FCT
      CHARACTER::U
      INTEGER::I,W
      REAL(4),DIMENSION(1001)::CT
      OPEN(12,FILE='VACFHI.txt')
      OPEN(13,FILE='FT.txt')
      DO I=0,1000
        READ(12,*)U,CT(I)
      ENDDO
      DO W=0,1000 
         DT=0.012
         T=0
         FCT=0
        DO I=0,1000
    IF (T.LT.1001) THEN
        FCT=FCT+2*(CT(I)*COS(W*T)*DT)
        T=T+DT
        ENDIF
        ENDDO
        WRITE(13,*)W/(0.012/1000)*33,FCT        
      ENDDO
      CLOSE(12)
      CLOSE(13)
      END      


草图.png (70.06 KB, 下载次数: 239)

左上输入文件图,右上傅里叶变换图,左下origin做的FFT

左上输入文件图,右上傅里叶变换图,左下origin做的FFT

FT.txt

30.3 KB, 下载次数: 3

傅里叶变换后输出

VACFHI.txt

36.17 KB, 下载次数: 1

读取的文件

分享到:  微信微信
收藏收藏 点赞点赞 点踩点踩

23

帖子

9

主题

0

精华

熟手

F 币
134 元
贡献
82 点
沙发
 楼主| 发表于 2017-12-12 20:52:25 | 显示全部楼层
li913 发表于 2017-12-12 20:27
给出你的结果、期望结果、输入数据。

您好,相关文件已经显示在附件中

23

帖子

9

主题

0

精华

熟手

F 币
134 元
贡献
82 点
板凳
 楼主| 发表于 2017-12-13 11:45:03 | 显示全部楼层
fcode 发表于 2017-12-13 10:50
看起来,似乎有2个问题。
1. 数组越界。你的数组是从 1:1001,但是循环从 0 开始到 1000,会越界。你使用的 ...

多谢,多谢
您需要登录后才可以回帖 登录 | 极速注册

本版积分规则

捐赠本站|Archiver|关于我们 About Us|小黑屋|Fcode ( 京ICP备18005632-2号 )

GMT+8, 2024-5-16 04:16

Powered by Tencent X3.4

© 2013-2024 Tencent

快速回复 返回顶部 返回列表