Laplace數(shù)值反變換
分類:互聯(lián)網(wǎng)熱點(diǎn)
編輯:聊聊云計(jì)算
瀏覽量:1
2020-07-13 16:55:23
■ 問題提出在博文 逆Laplace數(shù)值逆變換 給出了數(shù)值計(jì)算Laplace逆變換的簡易程序。其中存在以下幾個(gè)問題需要討論:問題1: 程序?qū)崿F(xiàn)過程原理以及優(yōu)化;問題2: 運(yùn)算參數(shù):,,對于積分?jǐn)?shù)值的影響。從上篇博文中明顯看到有些計(jì)算出的結(jié)果大大偏離的實(shí)際值。比如其中的函數(shù)所計(jì)算出來的幅值超過了1.01程序?qū)崿F(xiàn)原理以及優(yōu)化1.Laplace逆運(yùn)算所以,算法的核心是對進(jìn)行傅里葉反變換,然后在乘以。由于確認(rèn)變換后的函數(shù)是實(shí)函數(shù),因此,為了節(jié)省計(jì)算時(shí)間,只對傅里葉反變換的積分,進(jìn)行正半軸的積分,同時(shí)積分的上限由參數(shù)決定。對積分的數(shù)值取齊實(shí)部,再乘以2便可以得到。2.Python積分程序?qū)崿F(xiàn)優(yōu)化使用梯形積分來實(shí)現(xiàn)函數(shù)的積分,可以獲得更精確的積分值。理論分析可知:其中 以及 。那么積分誤差上限為:其中,, 。▲ 圖2.1 梯形積分方法示意圖計(jì)算可以有兩種方式:方式1: 對左、右黎曼積分加權(quán)平均:方式2: 利用如下的公式計(jì)算:最后實(shí)現(xiàn)的代碼為:def trapz(f, a, b, N=50): x = linspace(a, b, N+1) y = f(x) y_right = y[1:] y_left = y[:-1] dx = (b-a) / N T = dx/2 * sum(y_right + y_left) return T利用上述公式,對進(jìn)行積分測試:printf(trapz(sin, 0, pi/2, 1000))所得到結(jié)果為:0.9999997943832332??梢钥吹绞褂胣=1000對應(yīng)的結(jié)果后面的積分精度達(dá)到了小數(shù)點(diǎn)后面6位9的小數(shù)點(diǎn)的位數(shù)。3.實(shí)現(xiàn)Laplace逆運(yùn)算通過上面梯形積分方法,實(shí)現(xiàn)Laplace數(shù)值逆變換,具體的子程序如下面所示。#------------------------------------------------------------def invlt(t, fs, sigma, omiga, nint): omigadim = linspace(0, omiga, nint+1, endpoint=True) y = [(exp(1j*o*t) * fs(sigma+1j*o)).real for o in omigadim] y_left = y[:-1] y_right = y[0:] T = sum(y_right + y_left) * omiga/nint return exp(sigma*t) * T/ pi / 2#------------------------------------------------------------def fs(s): return 1/(s*s+1)#------------------------------------------------------------sigma = 0.2omiga=200nint=omiga*50tdim = linspace(0, 2*pi* 3, 200)ft = [invlt(t, fs, sigma, omiga, nint) for t in tdim]02一些基本函數(shù)的實(shí)驗(yàn)下面通過對一些基本常見函數(shù)的laplace變換,來測試一下上述程序的性能。Ⅰ.sin(t)sigma=0.2, omiga=200, nint=omiga*50Ⅱ.exp(-t)sigam=-1+0.1, omiga=200, nint=omiga*50Ⅲ.u(t)Ⅳ.u(t-1)Ⅴ.周期化脈沖信號※ 結(jié)論通過原理分析,可以獲得建議的Laplace數(shù)值逆運(yùn)算的正確的PYTHON算法程序。這個(gè)程序是直接對Laplace反變換公式利用梯形積分方法獲得計(jì)算結(jié)果。通過對幾種常見的信號Laplace的反變換,驗(yàn)證了這個(gè)算法的正確性。通過在此過程,可以看到,對于參數(shù)sigma, omiga, nint對于計(jì)算結(jié)果還是有很大的影響。另外,對于時(shí)間t,只能在比較小的范圍內(nèi)有效,當(dāng)t超過一定長度,前面所計(jì)算的結(jié)果都會出現(xiàn)比較大的誤差?!?對于方波進(jìn)行Laplace數(shù)值反變換的結(jié)果參考資料逆Laplace數(shù)值逆變換: https://zhuoqing.blog.csdn.net/article/details/107241738公眾號留言
卓大大,請問AI電磁組不進(jìn)圓環(huán)會加時(shí)間嗎?規(guī)則上寫不要求進(jìn)圓環(huán),但圓環(huán)進(jìn)比不進(jìn)的時(shí)間更長一些,那這個(gè)賽道元素的意義是什么?之前記得您有過類似回答,但是找不到了謝謝您~
回復(fù):這主要是為了使得AI電磁組能夠在普通的賽道上完成比賽,而不必對賽道進(jìn)行改造。同時(shí),圓環(huán)的存在也會對AI電磁組在數(shù)據(jù)訓(xùn)練是產(chǎn)生影響。
卓老師好,關(guān)于AI電磁組的有個(gè)情況需要向您反映一下,規(guī)則中規(guī)定車模運(yùn)行方向不限,這里有個(gè)bug,如果車倒著跑,電感依然只距離后輪軸心往前5cm,這樣安裝是符合目前公布的規(guī)則的,但因?yàn)槎鏅C(jī)在后,也就是轉(zhuǎn)向機(jī)構(gòu)在后,相當(dāng)于獲得了25cm+的物理前瞻,這樣通過傳統(tǒng)電磁尋跡的方法也能輕松獲得不錯(cuò)的速度,我想這里應(yīng)該是一個(gè)BUG。
現(xiàn)在因?yàn)闀r(shí)間緊,不少同學(xué)都想用傳統(tǒng)方法來鉆空子,同時(shí)因?yàn)榻衲隂]有全國統(tǒng)一場地的國賽,還有云比賽的存在,對參賽車模具體采用了什么方法也不利于檢查,需要更多的人力,,所以我認(rèn)為應(yīng)該限制運(yùn)行方向,不能倒著跑,從一定程度上可以打消部分人鉆空子的念頭,此建議僅供卓老師參考。
回復(fù):謝謝你的建議。關(guān)于這方面,我們將會給出競賽規(guī)則補(bǔ)充說明,限制車模只能往前行。
聲明:免責(zé)聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶自發(fā)貢獻(xiàn)自行上傳,本網(wǎng)站不擁有所有權(quán),也不承認(rèn)相關(guān)法律責(zé)任。如果您發(fā)現(xiàn)本社區(qū)中有涉嫌抄襲的內(nèi)容,請發(fā)
送郵件至:operations@xinnet.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),本站將立刻刪除涉嫌侵權(quán)內(nèi)容。本站原創(chuàng)內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)
需注明出處:新網(wǎng)idc知識百科