matlab或mathematica怎样实现对离散点的傅立叶变换和逆变换
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了matlab或mathematica怎样实现对离散点的傅立叶变换和逆变换相关的知识,希望对你有一定的参考价值。
例如:y=exp(-2x),其中x为时间离散点,范围为0-3,取等步长0.02,即(0.01,0.03,0.05……2.99)对应出一系列y值,以此做傅立叶变换
我知道如果是连续函数
y=exp(-at)—FFT—>[a*sqrt(2/pi)]/(a^2+w^2)
在origin里做傅立叶变换,但不知道我的变换是否正确?
请问用matlab中的fft,ifft命令是不是可以验证,怎么做呢?
PS:怎么输入x,y两组数据,矩阵?
Here is some sample data.
In[1]:=data = 1.3, 2.4, 1.7, 4.1, 2.9, 1.7, 5.1, 2.7;
This computes the discrete Fourier transform of the data. In general, the result is a list of complex numbers.
In[2]:=Fourier[data]
Out[2]=7.74282\[InvisibleSpace] + 0. \[ImaginaryI], -0.740685 -
0.677082 \[ImaginaryI], -0.919239 - 0.954594 \[ImaginaryI], -0.390685 +
1.72708 \[ImaginaryI],
0.0353553\[InvisibleSpace] + 0. \[ImaginaryI], -0.390685 -
1.72708 \[ImaginaryI], -0.919239 + 0.954594 \[ImaginaryI], -0.740685 +
0.677082 \[ImaginaryI]
具体的东西你可以在Help Browser里面搜索到
matlab中是不是有离散化方法可用?
【中文标题】matlab中是不是有离散化方法可用?【英文标题】:is there a discretized method available in matlab?matlab中是否有离散化方法可用? 【发布时间】:2011-12-08 03:42:05 【问题描述】:我的数据文件中有一组属性,如下所示:
所选属性由离散和连续属性类型组成。属性 Protocol Type 和 Service 是离散类型,属性 Src Bytes、Dst Bytes、Count 是连续类型。
我想尝试实现 k-means/fcm 算法来对神经网络的训练数据进行聚类,但我必须以迭代次数处理数据集,连续类型属性会增加算法的负载,从而减少的表现。因此它们被转换为离散值,但我怎样才能在 matlab 中实现呢?
我还需要帮助来理解离散和连续以及提到的算法为何或如何使用它们?
【问题讨论】:
请注意,k-means 算法(好吧,K-means 问题的 Lloyd 算法)几乎已经在 matlab 的一个工具箱和许多免费软件包中实现。 这是重复的吗? ***.com/questions/7013913/… 您的编辑 - 在理解离散与连续方面寻求帮助,作为一个单独的问题确实更好。这也可能对statistics.SE更好,尽管这取决于您是否想知道离散化的统计原因或离散化的算法含义。算法影响通常不是驱动因素。 为什么你认为连续类型会“增加算法的负载”? k-means 对连续属性很有效。 【参考方案1】:Matlab 默认使用双精度浮点数。我认为使用 Matlab 的解释器执行整数算术并没有显着的改进(使用整数数据类型实际上可能会更慢,因为 Matlab 的函数针对双精度进行了优化)。
编写您的算法而不用担心优化,然后如果它太慢,请使用分析器来查找您的算法的哪些部分是慢的。
【讨论】:
以上是关于matlab或mathematica怎样实现对离散点的傅立叶变换和逆变换的主要内容,如果未能解决你的问题,请参考以下文章