金字塔决策交易系统

 找回密码
 

微信登录

微信扫一扫,快速登录

搜索
查看: 71|回复: 1

计算结果不同

[复制链接]

4458

主题

4536

帖子

4561

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
发表于 2025-4-7 09:15 | 显示全部楼层 |阅读模式
为什么MFFFT(x,y,n,0)的计算结果与标准FFT结果显著不同?

n:=16; //16点信号变换
VARIABLE : x[n]=(15, 32, 9, 222, 118, 151, 5, 7, 56, 233, 56, 121, 235, 89, 98, 111);
VARIABLE : y[n*2]=0;  //以复数方式返回结果,因此需要2倍容量
If IsLastbar Then
Begin
        MFFFT(x,y,n,0);
        for i = 1 to n*2 do
        msgout(1,numtostr(y,3));
End


以下为软件输出
截图202504070913363692.png


这是标准输出
截图202504070914533284.png

金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

20

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
FireScript
发表于 2025-4-7 09:46 | 显示全部楼层
不知道你的计算过程是怎样的,但是通过和使用py模块执行的计算结果对照:

(1558+0j)
(-83.16474885677513+182.1210324381293j)
(-423.4213562373095-138.7766952966369j)
(-146.6785066419351+326.1556062575687j)
(256-44j)
(-0.3753172272272991+362.1657075253354j)
(-140.5786437626905-214.7766952966369j)
(66.21857272593752-249.868866294104j)
(-374+0j)
(66.21857272593752+249.868866294104j)
(-140.5786437626905+214.7766952966369j)
(-0.3753172272272991-362.1657075253354j)
(256+44j)
(-146.6785066419351-326.1556062575687j)
(-423.4213562373095+138.7766952966369j)
(-83.16474885677513-182.1210324381293j)

至少是保持了一致性的。


相关py代码:
[Python] 复制代码
import numpy as np


data_list = [15, 32, 9, 222, 118, 151, 5, 7, 56, 233, 56, 121, 235, 89, 98, 111]  

# 对列表做快速傅里叶变换
fft_result = np.fft.fft(data_list)


for i in fft_result:
    print(i)
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 微信登录

本版积分规则

手机版|小黑屋|上海金之塔信息技术有限公司 ( 沪ICP备13035422号 )

GMT+8, 2025-4-16 10:53 , Processed in 0.243579 second(s), 24 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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