精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

傅里葉變換算法和Python代碼實現

開發
傅立葉變換是物理學家、數學家、工程師和計算機科學家常用的最有用的工具之一。本篇文章我們將使用Python來實現一個連續函數的傅立葉變換。

傅立葉變換是物理學家、數學家、工程師和計算機科學家常用的最有用的工具之一。本篇文章我們將使用Python來實現一個連續函數的傅立葉變換。

我們使用以下定義來表示傅立葉變換及其逆變換。

設 f: ? → ? 是一個既可積又可平方積分的復值函數。那么它的傅立葉變換,記為 f?,是由以下復值函數給出:

同樣地,對于一個復值函數 g?,我們定義其逆傅立葉變換(記為 g)為

這些積分進行數值計算是可行的,但通常是棘手的——特別是在更高維度上。所以必須采用某種離散化的方法。

在Numpy文檔中關于傅立葉變換如下,實現這一點的關鍵是離散傅立葉變換(DFT):

當函數及其傅立葉變換都被離散化的對應物所取代時,這被稱為離散傅立葉變換(DFT)。離散傅立葉變換由于計算它的一種非常快速的算法而成為數值計算的重要工具,這個算法被稱為快速傅立葉變換(FFT),這個算法最早由高斯(1805年)發現,我們現在使用的形式是由Cooley和Tukey公開的

根據Numpy文檔,一個具有 n 個元素的序列 a?, …, a??? 的 DFT 計算如下:

我們將積分分解為黎曼和。在 n 個不同且均勻間隔的點 x? = x? + m Δx 處對 x 進行采樣,其中 m 的范圍從 0 到 n-1,x? 是任意選擇的最左側點。然后就可以近似表示積分為

現在對變量 k 進行離散化,在 n 個均勻間隔的點 k? = l Δk 處對其進行采樣。然后積分變為:

這使得我們可以用類似于 DFT 的形式來計算函數的傅立葉變換。這與DFT的計算形式非常相似,這讓我們可以使用FFT算法來高效計算傅立葉變換的近似值。

最后一點是將Δx和Δk聯系起來,以便指數項變為-2π I ml/n,這是Numpy的實現方法;

這就是不確定性原理,所以我們得到了最終的方程

我們可以對逆變換做同樣的處理。在Numpy中,它被定義為

1/n是歸一化因子:

概念和公式我們已經通過Numpy的文檔進行了解了,下面開始我們自己的Python實現

import numpy as np
 import matplotlib.pyplot as plt
 
 
 def fourier_transform_1d(func, x, sort_results=False):
 
     """
    Computes the continuous Fourier transform of function `func`, following the physicist's convention
    Grid x must be evenly spaced.
 
    Parameters
    ----------
 
    - func (callable): function of one argument to be Fourier transformed
    - x (numpy array) evenly spaced points to sample the function
    - sort_results (bool): reorders the final results so that the x-axis vector is sorted in a natural order.
        Warning: setting it to True makes the output not transformable back via Inverse Fourier transform
 
    Returns
    --------
    - k (numpy array): evenly spaced x-axis on Fourier domain. Not sorted from low to high, unless `sort_results` is set to True
    - g (numpy array): Fourier transform values calculated at coordinate k
    """
     x0, dx = x[0], x[1] - x[0]
     f = func(x)
     
     g = np.fft.fft(f) # DFT calculation
 
     # frequency normalization factor is 2*np.pi/dt
     w = np.fft.fftfreq(f.size)*2*np.pi/dx
 
     # Multiply by external factor
     g *= dx*np.exp(-complex(0,1)*w*x0) 
     
     if sort_results:    
         zipped_lists = zip(w, g)
         sorted_pairs = sorted(zipped_lists)
         sorted_list1, sorted_list2 = zip(*sorted_pairs)
         w = np.array(list(sorted_list1))
         g = np.array(list(sorted_list2))
         
     return w, g
 
 
 def inverse_fourier_transform_1d(func, k, sort_results=False):
     """
    Computes the inverse Fourier transform of function `func`, following the physicist's convention
    Grid x must be evenly spaced.
 
    Parameters
    ----------
 
    - func (callable): function of one argument to be inverse Fourier transformed
    - k (numpy array) evenly spaced points in Fourier space to sample the function
    - sort_results (bool): reorders the final results so that the x-axis vector is sorted in a natural order.
        Warning: setting it to True makes the output not transformable back via Fourier transform
 
    Returns
    --------
    - y (numpy array): evenly spaced x-axis. Not sorted from low to high, unless `sort_results` is set to True
    - h (numpy array): inverse Fourier transform values calculated at coordinate x
    """
     dk = k[1] - k[0]
     
     f = np.fft.ifft(func) * len(k) * dk /(2*np.pi)
     x = np.fft.fftfreq(f.size)*2*np.pi/dk
 
     if sort_results:    
         zipped_lists = zip(x, f)
         sorted_pairs = sorted(zipped_lists)
         sorted_list1, sorted_list2 = zip(*sorted_pairs)
         x = np.array(list(sorted_list1))
         f = np.array(list(sorted_list2))
     return x, f

我們來通過一些例子看看我們自己實現是否正確。

第一個例子:階躍函數

函數在-1/2和1/2之間是1,在其他地方是0。它的傅里葉變換是

N = 2048
 
 # Define the function f(x)
 f = lambda x: np.where((x >= -0.5) & (x <= 0.5), 1, 0)
 x = np.linspace(-1, 1, N) 
 plt.plot(x, f(x));

畫出傅里葉變換,以及在k的采樣值和整個連續體上計算的解析解:

k, g = fourier_transform_1d(f, x, sort_results=True) # make it easier to plot
 kk = np.linspace(-30,30, 100)
 
 plt.plot(k, np.real(g), label='Numerical'); 
 plt.plot(k, np.sin(k/2)/(k/2), linestyle='-.', label='Analytic (samples)')
 plt.plot(kk, np.sin(kk/2)/(kk/2), linestyle='--', label='Analytic (full)')
 plt.xlim(-30, 30)
 plt.legend();

看起來是沒問題的,然后我們把它轉換回來:

k, g = fourier_transform_1d(f, x)
 y, h = inverse_fourier_transform_1d(g, k, sort_results=True)
 
 plt.plot(y, np.real(h), label='Numerical transform')
 plt.plot(x, f(x), linestyle='--', label='Analytical')
 plt.legend();

我們可以清楚地看到不連續邊緣處的 Gibbs 現象——這是傅里葉變換的一個預期特征。

第二個例子:高斯PDF

傅里葉變換

下面,我們繪制數值傅里葉變換和解析值:

以及傅里葉逆變換與原函數的對比

可以看到,我們的實現沒有任何問題

最后,如果你對機器學習的基礎計算和算法比較感興趣,可以多多關注Numpy和SK-learn的文檔(還有scipy但是這個更復雜),這兩個庫不僅有很多方法的實現,還有這些方法的詳細解釋,這對于我們學習是非常有幫助的。

例如本文的一些數學的公式和概念就是來自于Numpy的文檔,有興趣的可以直接看看

https://numpy.org/doc/stable/reference/routines.fft.html

責任編輯:華軒 來源: DeepHub IMBA
相關推薦

2022-03-10 08:59:59

傅里葉變換算法系統

2023-08-14 16:51:51

傅里葉變換時間序列去趨勢化

2021-05-10 11:53:13

頁面替換算法

2025-06-30 04:23:00

2021-06-02 10:06:52

神經網絡數據圖形

2023-03-26 12:41:46

2023-03-30 15:12:47

2025-02-12 10:28:57

SARIMA可視化分析Python

2017-04-10 13:01:06

javascripthtml5算法

2019-05-29 17:45:32

JavaScript算法思路代碼實現

2019-05-21 14:28:35

代碼算法編程

2017-04-18 16:09:28

Apriori算法Python

2017-02-09 16:16:24

Java負載均衡算法

2022-04-15 08:07:21

ReactDiff算法

2011-02-17 10:54:59

CSS3變換 簡單快捷

2025-04-07 04:20:00

Linux操作系統內存管理

2022-03-07 09:42:21

Go快速排序

2018-07-27 08:39:44

負載均衡算法實現

2009-05-26 16:33:48

PythonC#Run As

2011-01-04 11:02:08

程序員
點贊
收藏

51CTO技術棧公眾號

欧美三级在线看| 成人免费毛片片v| 日韩亚洲一区二区| 最新国产精品自拍| 国产精欧美一区二区三区蓝颜男同| 91丨porny丨国产入口| 国产精品影院在线观看| 久久免费在线观看视频| 欧美男同视频网| 欧美一级一区二区| 久久久久久久久久久免费视频| 日本美女在线中文版| 成人精品鲁一区一区二区| 国产精品久久久久9999| 久久久久无码国产精品不卡| 国产成人精品免费视| 日韩一区二区三区电影在线观看| 97国产在线播放| 国产色在线观看| 久久一二三国产| 99re视频在线播放| 特级西西444www大胆免费看| 亚洲国产激情| 久久久久www| 五月天精品在线| 日韩av午夜| 日韩欧美久久一区| 岛国av在线免费| 依依综合在线| 亚洲国产精品麻豆| 国产又粗又大又爽的视频| 国产在线超碰| 91麻豆免费在线观看| 国产二区不卡| a天堂视频在线| 激情小说亚洲一区| 国产欧美精品xxxx另类| 国产成人无码专区| 国产欧美日韩一区二区三区在线| 欧美成人一二三| 天天操夜夜操av| 久久93精品国产91久久综合| 亚洲精品久久久久久久久久久久| 好吊操视频这里只有精品| 亚洲欧美在线综合| 欧美日韩精品一二三区| 爱情岛论坛成人| 亚洲wwww| 色偷偷成人一区二区三区91| 久久免费视频3| 97人人在线视频| 亚洲午夜在线电影| 国产 日韩 亚洲 欧美| 动漫一区二区| 亚洲成人av中文| 99久久国产综合精品五月天喷水| 电影k8一区二区三区久久 | 影视一区二区| xvideos国产精品| 午夜爽爽爽男女免费观看| 99精品国产一区二区三区| 日韩亚洲国产中文字幕| 日韩av手机在线免费观看| 婷婷久久一区| 欧美成人精品一区| 久久精品视频8| 亚洲三级影院| 国产97在线播放| 一级黄色片在线看| 国产麻豆精品久久一二三| julia一区二区中文久久94| 六月婷婷中文字幕| 久久婷婷久久一区二区三区| 日韩av一级大片| 91在线高清| 一区二区视频在线| 免费黄色福利视频| 日本久久久久| 日韩欧美一级二级三级| 久久人妻少妇嫩草av无码专区| 欧美日韩一区二区三区四区不卡| 亚洲图片欧美午夜| 欧美日韩色视频| 国产精品大片免费观看| 欧美在线亚洲在线| 国产尤物在线观看| 成人av影院在线| 日韩一区不卡| 宅男网站在线免费观看| 亚洲成人免费视频| 日本特黄a级片| 国产成人福利av| 一区二区三区美女xx视频| 麻豆天美蜜桃91| 亚洲一区亚洲| 亚洲在线视频福利| 日韩精品系列| 亚洲精品视频观看| 日韩有码免费视频| 久久亚洲精精品中文字幕| 日韩精品亚洲精品| 一级片一级片一级片| 午夜亚洲性色福利视频| 91精品啪aⅴ在线观看国产| 天堂av在线资源| 亚洲女子a中天字幕| 日本成年人网址| 久久天堂久久| 中文欧美日本在线资源| 日韩xxxxxxxxx| 国产真实乱对白精彩久久| 免费在线成人av电影| 在线看福利影| 欧美日韩大陆一区二区| 丝袜美腿中文字幕| 亚洲视频观看| 亚洲va国产va天堂va久久| yw在线观看| 天天操天天色综合| 国产伦理在线观看| 99久久.com| 国产精品激情av在线播放| 日韩一级中文字幕| 亚洲欧美视频一区| av中文字幕网址| 国产尤物久久久| 91福利视频网| 色一情一乱一区二区三区| 综合久久久久久| 五月婷婷六月合| 亚洲老女人视频免费| 国内免费精品永久在线视频| 国产黄色片网站| 日韩毛片在线免费观看| 三级一区二区三区| 日本一区二区三区视频| 国产成人精品在线视频| 天堂影院在线| 精品久久久一区二区| 国产在线不卡av| 欧美日本三区| 91久久精品一区二区别| 黄色在线免费看| 3d成人动漫网站| 日本爱爱小视频| 老司机午夜精品| 亚欧精品在线| 欧美成人毛片| 久久精品99久久久久久久久| 伊人22222| 国产精品对白交换视频| 不卡的av中文字幕| 亚洲国产精品91| 91视频-88av| 伊人电影在线观看| 精品国产a毛片| 国产成人在线免费观看视频| 91丨九色丨蝌蚪丨老版| 波多野结衣家庭教师视频| 国内精品久久久久久久影视简单| 国产精品第2页| youjizz在线播放| 欧美精品 日韩| 中文字幕手机在线观看| 成人精品视频一区二区三区尤物| 久久久久免费看黄a片app| 日韩精品导航| 国产v综合ⅴ日韩v欧美大片| 高清中文字幕一区二区三区| 欧美日韩精品一区二区三区蜜桃 | 成人在线免费观看91| 国产精品丝袜一区二区三区| 超碰电影在线播放| 精品粉嫩超白一线天av| 一级成人黄色片| 综合久久久久久| v天堂中文在线| 日本在线播放一区二区三区| 一区二区三区视频| 一本一道久久a久久| 欧洲成人午夜免费大片| 一广人看www在线观看免费视频| 日韩三级在线观看| 少妇高潮av久久久久久| **性色生活片久久毛片| 女同性恋一区二区三区| 日韩av一级电影| 中文精品无码中文字幕无码专区| 五月国产精品| 91啪国产在线| 成人影院大全| 欧美成在线视频| 日韩电影免费| 欧美一区二区三区影视| av图片在线观看| 亚洲日本在线a| 人妻体内射精一区二区| 国产精品456| 激情网站五月天| 欧美精品观看| 亚洲v日韩v欧美v综合| xxxx日韩| 91视频-88av| 日韩三级影视| 久久久久久一区二区三区 | 极品国产人妖chinesets亚洲人妖 激情亚洲另类图片区小说区 | 成人欧美亚洲| 亚洲高清在线观看| 一级爱爱免费视频| 欧美性色视频在线| 毛片aaaaa| 亚洲特级片在线| 欧美大波大乳巨大乳| 成人爱爱电影网址| 黄色片子免费看| 免费在线观看精品| 91av在线免费播放| 在线成人亚洲| 日本黄网站色大片免费观看| 日韩av二区| 欧美亚洲国产免费| 老汉色老汉首页av亚洲| 666精品在线| 国产精品日本一区二区三区在线| 国产成人精品视| 欧美少妇精品| 久久免费视频这里只有精品| bt在线麻豆视频| 久色乳综合思思在线视频| 91在线看黄| 在线播放亚洲激情| 国产永久免费高清在线观看视频| 日韩成人网免费视频| 色婷婷av一区二区三| 欧美成人a视频| 亚洲国产成人一区二区| 欧美一级艳片视频免费观看| 亚洲一区二区人妻| 欧美群妇大交群的观看方式| 中文人妻熟女乱又乱精品| 欧美综合一区二区三区| 无码人妻精品一区二区三区不卡| 欧美日韩裸体免费视频| 亚洲欧美日韩在线一区| 2022亚洲天堂| 岛国av免费在线观看| xx视频.9999.com| 日韩精品黄色| 成人444kkkk在线观看| 九七久久人人| 久久在线观看视频| 亚洲色图美国十次| 久久久亚洲精品视频| eeuss鲁一区二区三区| 国模吧一区二区| 国产三级电影在线播放| 91精品国产高清| sis001欧美| 国产精品美女主播| 9999精品免费视频| 91精品网站| 久久夜色电影| 欧美一区二区福利| 我不卡神马影院| 亚洲精品少妇一区二区| 精品91在线| 日韩av一二三四区| 男女男精品视频网| 久久久九九九热| 成人性视频免费网站| 日韩少妇一区二区| 久久久蜜臀国产一区二区| 国产伦理片在线观看| 中文字幕日韩一区二区| 强行糟蹋人妻hd中文| 五月婷婷色综合| 国产精品露脸视频| 日韩区在线观看| 亚洲欧美日韩成人在线| 色婷婷综合久久久久| 污污的视频在线观看| 欧美制服第一页| 四虎在线精品| 国产一区二区免费在线观看| 国产欧美日韩精品一区二区免费| 伊人av成人| 亚洲小说欧美另类婷婷| 不卡av免费在线| 国产经典欧美精品| 波多野结衣办公室33分钟| 中文字幕人成不卡一区| 日韩 欧美 亚洲| 欧美日韩另类国产亚洲欧美一级| 亚洲国产精品久久久久久6q| 亚洲色图第三页| 色呦呦在线资源| 国产精品久久久一区| jazzjazz国产精品久久| 亚洲 国产 日韩 综合一区| 亚洲一级黄色| 激情五月婷婷基地| 久久久亚洲精品一区二区三区 | 中文字幕一区二区三区不卡 | 在线 亚洲欧美在线综合一区| 少妇黄色一级片| av激情综合网| 国产免费久久久久| 91激情在线视频| 免费激情视频网站| 久久久电影免费观看完整版| 亚洲三级欧美| 成人免费在线看片| 999视频精品| 日日摸天天爽天天爽视频| 国产成人午夜片在线观看高清观看| 中文字幕免费视频| 亚洲高清在线精品| 国产高清在线免费| 少妇激情综合网| 日韩欧美一区二区三区免费观看| 电影午夜精品一区二区三区| 欧美成人激情| 亚洲视频在线观看一区二区三区| 成人av电影在线观看| 日日骚一区二区三区| 欧美精品v日韩精品v韩国精品v| 黄网站在线观看| 欧美性受xxx| 国内精品国产成人国产三级粉色| 手机在线视频你懂的| 麻豆精品在线看| 91视频免费在观看| 在线影视一区二区三区| 亚洲欧洲综合在线| 午夜伦理精品一区| 伊人久久影院| 91视频 - 88av| 国产成人亚洲综合a∨婷婷| 综合五月激情网| 91精品国产乱| 国产黄网站在线观看| 91香蕉亚洲精品| 欧美 日韩 国产精品免费观看| 国产精品自在自线| 中文字幕人成不卡一区| 国产免费的av| 欧美成人精品xxx| 玖玖玖视频精品| 成人免费a级片| 99在线视频精品| 日本高清不卡码| 亚洲人成欧美中文字幕| 欧美性理论片在线观看片免费| 日本婷婷久久久久久久久一区二区| 视频一区中文字幕| 波多野结衣一二三四区| 欧美日韩高清在线| 成人在线观看亚洲| 91精品国产一区二区三区动漫| 狠狠干成人综合网| 国产chinese中国hdxxxx| 精品久久久久久久久中文字幕| 日韩欧美电影在线观看| 国产精品狼人色视频一区| 日韩三级在线| 亚洲成a人无码| 丰满岳妇乱一区二区三区| 精品福利视频导航大全| 国产免费亚洲高清| 欧美激情性爽国产精品17p| v天堂中文在线| 91成人看片片| 黄在线免费观看| 国产免费高清一区| 免费久久99精品国产自在现线| 免费看黄色三级| 日韩一区二区三区在线视频| a√中文在线观看| 亚洲国产高清国产精品| 国产米奇在线777精品观看| 久久久国产高清| 在线观看国产欧美| 国产精品亚洲欧美一级在线 | 日韩精品一区二区三区色偷偷| 精品一区二区成人精品| 国产精品美女毛片真酒店| 亚洲天天在线日亚洲洲精| 亚洲男女网站| 91猫先生在线| 亚洲色图清纯唯美| 日本私人网站在线观看| 成人乱色短篇合集| 亚洲黄色高清| 中国美女黄色一级片| 亚洲成色777777在线观看影院| 怡红院成人在线| 国产玉足脚交久久欧美| 国产精品嫩草影院av蜜臀| 欧美一区二区公司| 成人精品久久av网站|