精品欧美一区二区三区在线观看 _久久久久国色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技術棧公眾號

欧美精品卡一卡二| 亚洲一区二区在线| 谁有免费的黄色网址| 成人自拍视频网| 最新不卡av在线| 国产精品免费在线| 欧美超碰在线观看| 亚洲欧美色图| 亚洲国产日韩精品在线| 午夜激情在线观看视频| 在线中文免费视频| 久久久午夜精品| 亚洲淫片在线视频| 亚洲午夜18毛片在线看| 2023国产精品久久久精品双| 亚洲国产私拍精品国模在线观看| 国产精品久久久毛片| 欧洲中文在线| 国产精品毛片久久久久久| 成人资源av| 五月婷婷色丁香| 欧美黄色aaaa| 中文字幕精品—区二区| 四虎永久免费观看| 日韩国产大片| 日韩欧美精品网站| 800av在线免费观看| 国产youjizz在线| 成人激情综合网站| 成人久久久久久久| 午夜精品免费观看| av不卡免费看| 欧美激情精品久久久久久久变态| 国产又黄又粗的视频| 麻豆成人入口| 日韩欧美国产午夜精品| 91高清国产视频| 快播电影网址老女人久久| 亚洲成人高清在线| avove在线观看| 在线观看黄av| 国产午夜一区二区三区| 久久av二区| 人妻一区二区三区四区| 国产成人综合在线观看| 91免费人成网站在线观看18| 中文字幕一区二区免费| 日日夜夜精品免费视频| 久久精品国产成人一区二区三区 | 亚洲精品国产a| 亚洲精品视频一二三| 欧洲一区av| 91欧美一区二区| 国产综合第一页| 亚洲精品久久久久久无码色欲四季 | 欧美大胆a视频| 日韩精品一区二区亚洲av性色| av一区二区在线播放| 亚洲欧美一区二区三区在线| 亚洲观看黄色网| 欧美精品国产白浆久久久久| 亚洲精品在线一区二区| www国产视频| 六月丁香久久丫| 日韩精品高清在线| 在线观看福利片| 韩日一区二区三区| 中文在线资源观看视频网站免费不卡| 中文字幕第20页| 精品美女久久久| 日韩中文字幕精品| 国产av无码专区亚洲av毛网站| 亚洲精彩视频| 高清欧美性猛交| 午夜精品久久久久久久久久久久久蜜桃| 亚洲美女91| 日韩美女免费线视频| 中文字幕人妻一区二区三区视频| 久久成人免费网| 亚洲一区免费网站| 色网站免费观看| 国产亚洲污的网站| 超碰97免费观看| 激情在线视频播放| 激情成人在线视频| 熟女性饥渴一区二区三区| 88xx成人永久免费观看| 欧美女孩性生活视频| 992kp免费看片| 极品束缚调教一区二区网站| 亚洲欧洲在线观看| 三上悠亚在线观看视频| 狠狠色丁香久久综合频道| 77777少妇光屁股久久一区| 国内av在线播放| 国产传媒一区在线| 欧美一区国产一区| 高h视频在线观看| 狠狠综合久久av一区二区小说| 国产九九在线视频| 超碰成人在线观看| 中文字幕九色91在线| 久草视频在线免费看| 视频一区二区中文字幕| 国产日韩av在线播放| 欧美一级视频免费| 国产精品福利在线播放| 久久久性生活视频| 亚洲欧美一级| 亚洲男人的天堂网站| 日本福利片在线观看| 亚洲免费网址| av免费观看久久| yw在线观看| 激情懂色av一区av二区av| 亚洲18在线看污www麻豆| 欧美一区二区三区红桃小说| 久久九九精品99国产精品| 好看的av在线| 成人一区二区三区视频在线观看 | 香蕉视频污视频| 日韩欧美一区二区三区在线视频| 韩国美女主播一区| 国产aⅴ爽av久久久久成人| 亚洲国产成人私人影院tom| 人妻久久久一区二区三区| 成人日韩视频| 一本色道久久综合亚洲精品小说| 国产午夜视频在线播放| 国产精品自在在线| 在线观看福利一区| 在线成人视屏| 亚洲片国产一区一级在线观看| 国产精品第二十页| 国产精品2024| 亚洲第一精品区| 日韩成人在线一区| 中文字幕日韩综合av| 秋霞精品一区二区三区| 99re亚洲国产精品| 国产精彩视频一区二区| 一区二区三区在线资源| 久久亚洲影音av资源网| 国产精品一区二区三区在线免费观看| 国产日韩高清在线| 成人三级视频在线播放| 亚洲免费专区| 国产成人极品视频| 欧美孕妇性xxxⅹ精品hd| 午夜av一区二区| 久久久午夜精品福利内容| 国产精品v亚洲精品v日韩精品| 亚洲一区二区三区sesese| 九义人在线观看完整免费版电视剧| 欧美性猛交xxxx乱大交退制版| 91网站免费视频| 日韩中文字幕一区二区三区| 秋霞毛片久久久久久久久| 都市激情综合| 亚洲少妇激情视频| 无码人妻av一区二区三区波多野| 久久人人爽爽爽人久久久| av片中文字幕| 不卡在线一区二区| 91精品综合视频| av在线免费播放| 精品久久一区二区三区| 日韩av电影网| 久久久久久久久伊人| 一级特黄性色生活片| 久久国产亚洲| 91精品国产99久久久久久红楼| 色www永久免费视频首页在线| 精品剧情在线观看| 国偷自拍第113页| 国产日韩精品一区| 99精品视频免费版的特色功能| 欧美高清日韩| 精品综合在线| 国产91在线播放精品| 久久99国产精品久久久久久久久| 欧美在线 | 亚洲| 色天天综合久久久久综合片| av最新在线观看| 成人免费黄色在线| 黄色高清无遮挡| 亚洲国产精品久久久天堂| 国产伦精品一区二区三区免费视频 | 亚洲精品欧美二区三区中文字幕| 做a视频在线观看| 黄色在线一区| 欧美激情论坛| 99精品视频在线免费播放| 亚洲91精品在线观看| 国产高清一区在线观看| 日韩欧美黄色影院| 波多野结衣一本一道| 亚洲精品日日夜夜| 中国毛片在线观看| 国产高清精品网站| 欧美黄色一级片视频| 欧美日本不卡| 日韩av电影免费在线| 日韩国产在线不卡视频| 日本一区二区不卡| 污污视频在线| 日韩中文在线视频| 少妇性bbb搡bbb爽爽爽欧美| 欧美一区二区三区男人的天堂| 日本视频在线观看免费| 亚洲毛片av在线| 欧美特级黄色录像| 成人精品一区二区三区中文字幕| 香港日本韩国三级网站| 国产欧美日本| 日本久久久网站| 久久国产影院| 日韩精品一区二区三区色偷偷| 97视频一区| 成人激情视频小说免费下载| 涩涩在线视频| 久久久久久久久久久91| 男人的天堂在线视频免费观看 | 野外性满足hd| 国产成人av一区二区| 色噜噜狠狠一区二区| 久久久夜精品| 久久久999免费视频| 红桃视频国产一区| 国产a级片免费看| 日韩理论电影| 日韩在线第一区| 亚洲福利网站| 精品中文字幕人| 日韩影视高清在线观看| 国产精品久久精品视| 日韩精品久久久久久久软件91| 国产视频999| 欧美大陆国产| 国产精品久久久久久久久久免费| 亚洲十八**毛片| 91精品国产高清久久久久久久久| 日本动漫同人动漫在线观看| 久久综合伊人77777| 国产在线观看91| 久热精品视频在线观看一区| 黄色在线免费网站| 久久精品成人动漫| 二区三区四区高清视频在线观看| 久久久成人精品视频| 麻豆tv在线| 美女性感视频久久久| 18视频在线观看网站| 欧美激情亚洲国产| 国产深夜视频在线观看| 久久久中精品2020中文| 国产ktv在线视频| 欧美一区深夜视频| 丝袜美腿一区| 国产精品亚洲一区二区三区| 久久精品xxxxx| 亚洲aa在线观看| 一区三区自拍| 精品国产综合区久久久久久| 亚洲综合日韩在线| 盗摄系列偷拍视频精品tp| 国内成+人亚洲| 综合色就爱涩涩涩综合婷婷| 日韩欧美精品久久| 欧美a级成人淫片免费看| 日韩第一页在线观看| 欧美激情91| 男女高潮又爽又黄又无遮挡| 日韩黄色一级片| 欧洲美女亚洲激情| 成人福利电影精品一区二区在线观看| 在线免费观看a级片| 国产欧美日韩卡一| 欧美做爰啪啪xxxⅹ性| 亚洲一区在线观看免费观看电影高清| 久草视频精品在线| 色视频欧美一区二区三区| 国产原创中文av| 亚洲高清一二三区| av在线之家电影网站| 超碰日本道色综合久久综合 | 国产精品偷伦免费视频观看的| 91国产一区| 国内精品一区二区| 国产欧美日韩一区二区三区四区| 在线视频不卡一区二区三区| 欧美日韩国产探花| 国产女女做受ⅹxx高潮| 国产一区二区精品久久91| 超碰男人的天堂| 国产精品丝袜一区| 国产在线精品观看| 欧美日本精品一区二区三区| 天堂av2024| www国产亚洲精品久久网站| 2021天堂中文幕一二区在线观| 国产精品福利在线观看| 国产成人澳门| 中文字幕一区二区三区最新| 亚洲欧美日韩国产综合精品二区| 在线免费看污网站| 久久久久国色av免费看影院| 久久久香蕉视频| 欧美日本一道本在线视频| 青青草免费在线| 欧美精品免费看| 欧美成人三级| 欧美综合77777色婷婷| 黑丝一区二区三区| 手机在线视频一区| 国产精品婷婷午夜在线观看| 国产又爽又黄的视频| 日韩精品在线一区| 欧美jizzhd欧美| 国产成人久久精品| 欧美大奶一区二区| 真实国产乱子伦对白视频| 久久精品国产**网站演员| 免费看黄色的视频| 天天色 色综合| 亚洲精品无amm毛片| 久久影视免费观看 | 91福利入口| 欧美oldwomenvideos| 成人在线观看黄| 99精品视频免费在线观看| 国产福利久久久| 亚洲成色www8888| 男人添女人下部高潮视频在线观看 | 福利在线小视频| 精品一区二区在线播放| 日韩不卡av在线| 欧美体内she精视频| 国产在线观看免费| 欧美一级黄色网| 全国精品免费看| 国产男女在线观看| 99re成人在线| 国产成人免费观看视频| 亚洲国产毛片完整版| av漫画网站在线观看| 国产乱码精品一区二区三区日韩精品| 欧美日本一区| 亚洲v在线观看| 亚洲成在线观看| 欧美一区二区公司| 91chinesevideo永久地址| 婷婷综合福利| 不要播放器的av网站| 国产日韩视频一区二区三区| 欧美特级黄色片| 最新91在线视频| 国产aa精品| 免费特级黄色片| 91视频国产观看| 无码一区二区三区| 日日噜噜噜夜夜爽亚洲精品| 未满十八勿进黄网站一区不卡| 自拍偷拍一区二区三区| 国产一区 二区 三区一级| 久久99久久久| 亚洲精品电影网在线观看| 婷婷激情一区| 宅男一区二区三区| 国产成人精品免费在线| 日韩乱码在线观看| 国产亚洲xxx| 成人国产精品久久| 97超碰在线人人| 国产亚洲1区2区3区| 国产乱人乱偷精品视频a人人澡| 欧美人与物videos| 欧洲亚洲成人| 色免费在线视频| 亚洲国产日韩在线一区模特| 欧美女优在线| 91美女高潮出水| 99精品国产一区二区青青牛奶 | 一区二区三区欧美| av女名字大全列表| 国产日韩精品在线观看| 国产精品videosex极品| 永久免费看mv网站入口78| 欧美欧美欧美欧美| 日韩理论视频| 一区二区三区日韩视频| 99久久99精品久久久久久| 中文区中文字幕免费看| 欧美大片免费看| 精品日本12videosex| 成人做爰69片免费| 欧美中文字幕久久| av在线不卡免费| 国产高清免费在线| 久久这里只有精品视频网|