python實現(xiàn)傅里葉級數(shù)展開的實現(xiàn)
傅立葉級數(shù)的介紹我就不說了,自己也是應用為主,之前一直覺得很難懂,但最近通過自己編程實現(xiàn)了一些函數(shù)的傅立葉級數(shù)展開之后對傅立葉 級數(shù)展開的概念比較清楚了
(1)函數(shù)如下
函數(shù)圖象如下:
代碼:
from pylab import * x = mgrid[-10:10:0.02] # 這里類似于MATLAB用冒號產生步長為0.02的序列,但是語法和MATLAB不同 n = arange(1,1000) def fourier_transform(): a0 = (1-exp(-pi))/pi+1 s=a0/2 for i in range(1,100,1): s0 = ( (1-(-1)**i*exp(-pi))/(pi*(1+i**2))*cos(i*x)+1/pi*( (-i*(1-(-1)**i*exp(-pi)))/(1+i**2) + (1-(-1)**i)/i ) * sin(i*x) ) s=s+s0 plot(x,s,'orange',linewidth=0.6) title('fourier_transform') show() fourier_transform()
結果如下:
(2)
轉換代碼:
from pylab import * def fourier1(): s=pi/2 for i in range(1,100,1): s0 = 2/pi*(1-(-1)**i)/i**2 * cos(i*x) s=s+s0 plot(x,s,'orange',linewidth=0.6) title('fourier1') show() fourier1()
結果如下:
關于傅里葉級數(shù)展開的還有一些例子在我的另一篇博客http://chabaoo.cn/article/144196.htm也有討論,通過以上的例子可以很好直觀感受傅立葉級數(shù)的作用,在電氣工程上對分析流經變壓器的諧波分量、整流裝置輸出諧波等分析具有重要作用。
還有一點就是python的強大功能,利用for循環(huán)語句可以方便地實現(xiàn)級數(shù)展開的求和運算,自己感覺編程起來比MATLAB/Octave跟快
相關文章:Python實現(xiàn)快速傅里葉變換(FFT)
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關文章
Python3.7在anaconda里面使用IDLE編譯器的步驟詳解
這篇文章主要介紹了Python3.7在anaconda里面使用IDLE編譯器的步驟,本文通過圖文并茂的形式給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友參考下吧2020-04-04OpenCV基礎HSV顏色空間*args與**kwargs滑動條傳參問題
這篇文章主要介紹了OpenCV基礎中HSV顏色空間*args與**kwargs滑動條傳參問題的詳細解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助2021-10-10