国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

傅里葉級(jí)數(shù)和泰勒級(jí)數(shù)逼近已知函數(shù)的動(dòng)態(tài)過(guò)程

這篇具有很好參考價(jià)值的文章主要介紹了傅里葉級(jí)數(shù)和泰勒級(jí)數(shù)逼近已知函數(shù)的動(dòng)態(tài)過(guò)程。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。


本文代碼: Fourier級(jí)數(shù)和Taylor級(jí)數(shù)對(duì)原函數(shù)的逼近動(dòng)畫

Taylor級(jí)數(shù)

級(jí)數(shù)是對(duì)已知函數(shù)的一種逼近,比較容易理解的是Taylor級(jí)數(shù),通過(guò)多項(xiàng)式來(lái)逼近有限區(qū)間內(nèi)的函數(shù),其一般形式為

f ( x ) = ∑ n = 0 N a n x n f(x)=\sum_{n=0}^N a_nx^n f(x)=n=0N?an?xn

其中最著名的應(yīng)該是自然指數(shù),根據(jù)其導(dǎo)數(shù)不變的特點(diǎn),我們可以很容易得到其表達(dá)式

e x = ∑ n = 0 N x n n ! e^x=\sum_{n=0}^N \frac{x^n}{n!} ex=n=0N?n!xn?

隨著N的不斷增加,其逼近過(guò)程如圖所示

python畫傅里葉級(jí)數(shù),# Python可視化,線性代數(shù),算法,Fourier
其中,Taylor級(jí)數(shù)的實(shí)現(xiàn)方法如下,除了exp函數(shù)之外,還包括sincos函數(shù)的Taylor級(jí)數(shù)。

def Taylor(x,funcType='exp',n=0):
    func = {
        'exp' : lambda x,n : x**n/fac(n),
        'sin' : lambda x,n : (-1)**n*x**(2*n+1)/fac(2*n+1),
        'cos' : lambda x,n : (-1)**n*x**(2*n)/fac(2*n)
    }
    return func[funcType](x,n)

繪圖代碼如下

def approxGif(num=30, funcType='exp'):
    funcType = func if type(func)==str else 'auto'
    if type(func)==str:
        func = funcDict[func]
    
    x = np.linspace(0,10,1000)
    Y =func if type(func)==type(x) else func(x)
    
    if method in ['Taylor','taylor']:
        y = Taylor(x,funcType,0)
    elif method in ['Fourier','fourier']:
        y = Fourier(x,funcType,0)
    num = range(num)

    #畫圖初始化
    fig = plt.figure()
    ax = fig.add_subplot(111,autoscale_on=False,
        xlim=(0,10),ylim=(min(Y)-0.5,max(Y)+0.5))
    ax.plot(x,Y,color='g',lw=0.2)
    ax.grid()

    line, = ax.plot([],[],lw=0.5)
    time_text = ax.text(0.1,0.9,'',transform=ax.transAxes)

    # 動(dòng)畫初始化
    def init():
        line.set_data([],[])
        time_text.set_text('level:'+str(0))
        return line, time_text

    # 動(dòng)畫迭代
    def animate(n):
        nonlocal y
        y = Taylor(x,funcType,n) if n==0 else y+Taylor(x,funcType,n)
        line.set_data(x,y)
        time_text.set_text('level:'+str(n))
        print(n)
        return line, time_text
    
    ani = animation.FuncAnimation(fig,animate,
        num,interval=200,blit=False,init_func=init)
    #ani.save(funcType+'.gif',writer='pillow')
    plt.show()

Fourier級(jí)數(shù)

Fourier級(jí)數(shù)也是本著相同的思維,只不過(guò)采用了不同頻率的三角函數(shù)作為其空間中的基底。

對(duì)于以 2 π 2\pi 2π為周期的方波信號(hào)

f ( x ) = { 1 x ∈ [ 0 , π ) ? 1 x ∈ [ ? π , 0 ) f(x)=\left\{\begin{aligned} 1\quad &x \in[0,\pi)\\ -1\quad &x\in[-\pi,0) \end{aligned}\right. f(x)={1?1?x[0,π)x[?π,0)?

其Fourier級(jí)數(shù)為

f ( x ) = 4 π ∑ n = 0 N sin ? x 2 n + 1 f(x)=\frac{4}{\pi}\sum_{n=0}^N\frac{\sin x}{2n+1} f(x)=π4?n=0N?2n+1sinx?

實(shí)現(xiàn)為

def Fourier(x,funcType='square',n=0):
    func = {
        'square' : lambda x,n : 4/np.pi*np.sin((2*n+1)*x)/(2*n+1),
        'tri' : lambda x,n: np.pi/2 if n == 0 \
            else -4/np.pi*np.cos((2*n-1)*x)/(2*n-1)**2,
        'oblique': lambda x,n : 2*np.sin((n+1)*x)/(n+1)*(-1)**n
    }
    return func[funcType](x,n)

繪圖代碼為

def square(x):
    x = np.mod(x,np.pi*2)
    x[x>np.pi] = -1
    x[x!=-1] = 1
    return x 

def tri(x):
    return np.pi-np.abs(np.mod(x,2*np.pi)-np.pi)

funcDict = {
    'exp':np.exp,
    'sin':np.sin,
    'cos':np.cos,
    'square':square,
    'tri':tri,
}

# func支持三種輸入模式,即字符串,函數(shù)以及numpy數(shù)組
def approxGif(func='square',method='fourier',num=30):
    funcType = func if type(func)==str else 'auto'
    if type(func)==str:
        func = funcDict[func]
    
    x = np.linspace(0,10,1000)
    Y =func if type(func)==type(x) else func(x)
    
    if method in ['Taylor','taylor']:
        y = Taylor(x,funcType,0)
    elif method in ['Fourier','fourier']:
        y = Fourier(x,funcType,0)
    num = range(num)

    #畫圖初始化
    fig = plt.figure()
    ax = fig.add_subplot(111,autoscale_on=False,
        xlim=(0,10),ylim=(min(Y)-0.5,max(Y)+0.5))
    ax.plot(x,Y,color='g',lw=0.2)
    ax.grid()

    line, = ax.plot([],[],lw=0.5)
    time_text = ax.text(0.1,0.9,'',transform=ax.transAxes)

    # 動(dòng)畫初始化
    def init():
        line.set_data([],[])
        time_text.set_text('level:'+str(0))
        return line, time_text

    # 動(dòng)畫迭代
    def animate(n):
        nonlocal y
        if method in ['taylor','Taylor']:
            y = Taylor(x,funcType,n) if n==0 \
                else y+Taylor(x,funcType,n)
        elif method in ['fourier','Fourier']:
            y = Fourier(x,funcType,n) if n==0 \
                else y+Fourier(x,funcType,n)
            pass
        line.set_data(x,y)
        time_text.set_text('level:'+str(n))
        print(n)
        return line, time_text
    
    ani = animation.FuncAnimation(fig,animate,
        num,interval=200,blit=False,init_func=init)
    #ani.save(funcType+'.gif',writer='pillow')
    plt.show()

如圖所示

python畫傅里葉級(jí)數(shù),# Python可視化,線性代數(shù),算法,Fourier

相應(yīng)地三角波為

python畫傅里葉級(jí)數(shù),# Python可視化,線性代數(shù),算法,Fourier
python畫傅里葉級(jí)數(shù),# Python可視化,線性代數(shù),算法,Fourier

上述只是給出了幾個(gè)直觀的例子,用以表明Taylor級(jí)數(shù)和Fourier級(jí)數(shù)的使用方法,從而讓我們具備這種通過(guò)多項(xiàng)式或者三角函數(shù)來(lái)逼近已知函數(shù)的意識(shí)。而對(duì)于已知表達(dá)形式的函數(shù) y = f ( x ) y=f(x) y=f(x),Taylor級(jí)數(shù)和Fourier級(jí)數(shù)都有導(dǎo)數(shù)或者積分的表示形式。文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-655332.html

到了這里,關(guān)于傅里葉級(jí)數(shù)和泰勒級(jí)數(shù)逼近已知函數(shù)的動(dòng)態(tài)過(guò)程的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 傅里葉級(jí)數(shù)系數(shù)的完整詳細(xì)算法

    傅里葉級(jí)數(shù)系數(shù)的完整詳細(xì)算法

    傅里葉級(jí)數(shù)系數(shù)的完整詳細(xì)算法 一、三角函數(shù)相關(guān)公式和定積分 在分析傅里葉級(jí)數(shù)之前,一定要先熟悉三角函數(shù)的相關(guān)公式,以及三角函數(shù)的積分。 1、兩角和公式: sin( α + β ) = sin( α ) * cos( β ) + cos( α ) * sin( β ) sin( α - β ) = sin( α ) * cos( β ) - cos( α ) * sin( β ) cos( α + β

    2024年02月04日
    瀏覽(23)
  • 占空比任意方波的傅里葉級(jí)數(shù)展開

    占空比任意方波的傅里葉級(jí)數(shù)展開

    常見的方波信號(hào)傅里葉級(jí)數(shù)展開都是占空比為50%,如方波信號(hào)傅里葉級(jí)數(shù)展開,但有的時(shí)候信號(hào)的占空比不一定是50%的信號(hào),這時(shí)我們要對(duì)其進(jìn)行傅里葉變換或者頻譜推導(dǎo)的時(shí)候,就不太適用了。因此本文將對(duì)占空比任意的方波信號(hào)的傅里葉級(jí)數(shù)展開進(jìn)行推導(dǎo)。搭配轉(zhuǎn)|周期矩

    2024年02月11日
    瀏覽(24)
  • 實(shí)數(shù)信號(hào)的傅里葉級(jí)數(shù)研究(Matlab代碼實(shí)現(xiàn))

    實(shí)數(shù)信號(hào)的傅里葉級(jí)數(shù)研究(Matlab代碼實(shí)現(xiàn))

    ????????? 歡迎來(lái)到本博客 ???????? ??博主優(yōu)勢(shì): ?????? 博客內(nèi)容盡量做到思維縝密,邏輯清晰,為了方便讀者。 ?? 座右銘: 行百里者,半于九十。 ?????? 本文目錄如下: ?????? 目錄 ??1 概述 ??2 運(yùn)行結(jié)果 ??3?參考文獻(xiàn) ??4 Matlab代碼實(shí)現(xiàn) 實(shí)數(shù)信

    2024年02月13日
    瀏覽(27)
  • 周期矩形波的傅里葉級(jí)數(shù)展開(Matlab代碼實(shí)現(xiàn))

    周期矩形波的傅里葉級(jí)數(shù)展開(Matlab代碼實(shí)現(xiàn))

    ???????? 歡迎來(lái)到本博客 ???????? ??博主優(yōu)勢(shì): ?????? 博客內(nèi)容盡量做到思維縝密,邏輯清晰,為了方便讀者。 ?? 座右銘: 行百里者,半于九十。 ?????? 本文目錄如下: ?????? 目錄 ??1 概述 ??2 運(yùn)行結(jié)果 ??3?參考文獻(xiàn) ??4 Matlab代碼實(shí)現(xiàn) 當(dāng)脈沖信

    2023年04月26日
    瀏覽(22)
  • 記錄我對(duì)傅里葉變換的理解和學(xué)習(xí)過(guò)程

    記錄我對(duì)傅里葉變換的理解和學(xué)習(xí)過(guò)程

    本人水平有限,文章僅作為自己的學(xué)習(xí)記錄,且多用不嚴(yán)謹(jǐn)?shù)?、通俗易懂的語(yǔ)言去介紹。如有錯(cuò)誤,希望大佬們多多批評(píng)指正。 系列文章01——記錄我對(duì)傅里葉級(jí)數(shù)的理解和學(xué)習(xí)過(guò)程 ?如上圖(左)所示,時(shí)域f(t)為一個(gè)周期信號(hào),在上一講中,我們學(xué)習(xí)了傅里葉級(jí)數(shù),可以對(duì)它

    2024年02月04日
    瀏覽(17)
  • 【高數(shù)+復(fù)變函數(shù)】傅里葉變換

    【高數(shù)+復(fù)變函數(shù)】傅里葉變換

    上一節(jié) 【高數(shù)+復(fù)變函數(shù)】傅里葉積分 回顧:上一節(jié)中主要講了Fourier積分公式的指數(shù)形式及其三角形式 f ( t ) = 1 2 π ∫ ? ∞ + ∞ [ ∫ ? ∞ + ∞ f ( τ ) e ? j ω τ d τ ] e j ω t d ω = 1 π ∫ 0 + ∞ [ ∫ ? ∞ + ∞ f ( τ ) cos ? ω ( t ? τ ) d τ ] d ω f(t)=frac{1}{2pi}int_{-infty}^{+inf

    2024年02月04日
    瀏覽(29)
  • geogebra觀察分析泰勒級(jí)數(shù)

    geogebra觀察分析泰勒級(jí)數(shù)

    泰勒級(jí)數(shù) 數(shù)學(xué)家們普遍偏愛多項(xiàng)式,如果評(píng)選一下高等數(shù)學(xué)里面最重要的公式,泰勒公式一定榜上有名,泰勒公式的核心思想就是把一個(gè)給定的任意函數(shù),展開成多項(xiàng)式的形式,如果是有限項(xiàng),就叫做泰勒多項(xiàng)式,如果是無(wú)限項(xiàng),就叫做泰勒級(jí)數(shù),統(tǒng)稱為泰勒展開。如果有一

    2024年02月01日
    瀏覽(29)
  • C++類:三角函數(shù)最小二乘擬合與離散傅里葉變換求解

    C++類:三角函數(shù)最小二乘擬合與離散傅里葉變換求解

    ? ? ? ? 作為一個(gè)天文愛好者,在之前全手工制作了一個(gè)天文望遠(yuǎn)鏡導(dǎo)星的系統(tǒng),但是由于自制的赤道儀使用的是諧波減速器,赤經(jīng)軸需要一直保持與地球運(yùn)動(dòng)同步,每隔一段時(shí)間就會(huì)有新的諧波齒輪參與嚙合,因此造成了在赤經(jīng)軸存在低頻的傳動(dòng)周期誤差,該系統(tǒng)利用圖像

    2023年04月19日
    瀏覽(22)
  • 傅里葉變換

    傅里葉變換

    在計(jì)算機(jī)視覺中,有一個(gè)經(jīng)典的變換被廣泛使用——傅里葉變換。傅里葉變換是將時(shí)間域上的信號(hào)轉(zhuǎn)變?yōu)轭l率域上的信號(hào),進(jìn)而進(jìn)行圖像去噪、圖像增強(qiáng)等處理。 什么是時(shí)域(Time domain)?從我們出生,我們看到的世界都以時(shí)間貫穿,股票的走勢(shì)、人的身高、汽車的軌跡都會(huì)

    2024年02月03日
    瀏覽(54)
  • 圖傅里葉變換

    圖傅里葉變換

    目錄 什么是圖信號(hào)? 如何理解圖信號(hào)的”譜“? 圖傅里葉變換是什么? 圖傅里葉變換中特征值和圖信號(hào)的總變差有什么關(guān)系? 讓我們先總結(jié)一下,我們想要把圖信號(hào) ?正交分解到一組基??上; 那么怎么得到?可以通過(guò)對(duì)圖的拉普拉斯矩陣?做特征分解得到,即. 于是? ?

    2024年02月06日
    瀏覽(38)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包