日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

[常微分方程的数值解法系列一] 常微分方程

發(fā)布時(shí)間:2023/12/9 编程问答 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 [常微分方程的数值解法系列一] 常微分方程 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

常微分方程

  • 簡(jiǎn)介
  • 解法介紹
  • 截?cái)嗾`差

在慣性導(dǎo)航以及VIO等實(shí)際問(wèn)題中利用IMU求解位姿需要對(duì)IMU測(cè)量值進(jìn)行積分得到需要的位置和姿態(tài),其中主要就是求解微分方程。但之前求解微分方程的解析方法主要是應(yīng)用于一些簡(jiǎn)單和特殊的微分方程求解中,對(duì)于一般形式的微分方程,一般很難用解析方法求出精確解,只能用數(shù)值方法求解。該系列主要介紹一些常用的常微分方程的數(shù)值解法,主要包括:

  • [常微分方程的數(shù)值解法系列一] 常微分方程
  • [常微分方程的數(shù)值解法系列二] 歐拉法
  • [常微分方程的數(shù)值解法系列三] 改進(jìn)歐拉法(預(yù)估校正法)
  • [常微分方程的數(shù)值解法系列四] 中值法
  • [常微分方程的數(shù)值解法系列五] 龍格-庫(kù)塔(RK4)法

這個(gè)系列后面文章會(huì)用到前面文章的理論和技術(shù),所以建議按照順序查看。

簡(jiǎn)介

而在具體求解微分方程中,一般來(lái)說(shuō)給定的條件是
{x′(t)=f(t,x(t)),a≤t≤bx(t0)=x0\begin{cases} \mathbf{x}^{\prime}(t)=f(t, \mathbf{x}(t)), \quad a \leq t \leq b \\ \mathbf{x}({t_0}) = x_0 \end{cases} {x(t)=f(t,x(t)),atbx(t0?)=x0??
即給定微分方程以及原方程在初始點(diǎn)的值,求原方程在某個(gè)ttt下的x(t)x(t)x(t)原方程的值,這類問(wèn)題就是(一階)常微分方程初值求解問(wèn)題。
(這里不對(duì)常微分方程或者偏微分方程等概念,以及求解微分方程的其他條件如邊界條件情況做詳細(xì)介紹,需要了解的話可以自己google,不影響本系列介紹。)

解法介紹

一般來(lái)說(shuō),(一階)常微分方程數(shù)值解法基本思想是:
在區(qū)間[a,b][a, b][a,b]中插入一系列間隔相同為Δt\Delta tΔt的離散點(diǎn)
a≤t0<t1<?<ti<?<tn?1<tn≤ba \leq t_0 < t_1< \cdots < t_i < \cdots < t_{n-1} < t_n \leq b at0?<t1?<?<ti?<?<tn?1?<tn?b
常微分方程的數(shù)值解法的目的就是在給定合適初始值前提下,建立求解x(t)x(t)x(t)的近似值xtx_txt?的遞推方式,這樣求得x(t)x(t)x(t)在各個(gè)離散點(diǎn)的近似值。
給定一個(gè)具體的時(shí)間間隔Δt\Delta_tΔt?,可以把該方程轉(zhuǎn)換成差分方程
x(t+Δt)=x(t)+∫τ∈[t,t+Δt]f(τ,x(τ))dτ,a≤t≤b,(1)\mathbf{x}(t+\Delta t)=\mathbf{x}(t)+\int_{\tau \in [t, t+\Delta t]} f(\tau, \mathbf{x}(\tau)) d \tau, \quad a \leq t \leq b, \tag{1} x(t+Δt)=x(t)+τ[t,t+Δt]?f(τ,x(τ))dτ,atb,(1)
這樣利用之前說(shuō)的離散點(diǎn)可以把ttt離散化,那么ti=a+iΔtt_{i}=a+i \Delta tti?=a+iΔt以及 xi≈x(ti)\mathbf{x}_{i} \approx \mathbf{x}(t_{i})xi?x(ti?),所以上面公式(2)(2)(2)也可以寫(xiě)成
x(ti+1)≈xi+1=xi+∫τ∈[a+iΔt,a+(i+1)Δt]f(τ,x(τ))dτ,(2)\mathbf{x}(t_{i+1}) \approx x_{i+1}=\mathbf{x}_{i}+\int_{\tau \in [a+i \Delta t, a+(i+1) \Delta t]} f(\tau, \mathbf{x}(\tau)) d \tau, \tag{2} x(ti+1?)xi+1?=xi?+τ[a+iΔt,a+(i+1)Δt]?f(τ,x(τ))dτ,(2)

截?cái)嗾`差

上節(jié)介紹常微分方程的數(shù)值解法就是利用初值和離散點(diǎn)獲得近似值xtx_txt?,但是和真實(shí)值x(t)x(t)x(t)之前還是存在誤差,即
ei=xi?x(ti),(3)\boldsymbol{e}_i = x_i - \mathbf{x}(t_i), \tag{3} ei?=xi??x(ti?),(3)
ei\boldsymbol{e}_iei?則表示該數(shù)值解法在離散點(diǎn)tit_iti?處的局部截?cái)嗾`差。局部截?cái)嗾`差在一定程度上反應(yīng)了該數(shù)值解法的精度。
一般來(lái)說(shuō)常用泰勒展開(kāi)式來(lái)計(jì)算討論局部截?cái)嗾`差,后面具體方法會(huì)給出具體的對(duì)應(yīng)的截?cái)嗾`差的討論。這里簡(jiǎn)單給出定義:
如果數(shù)值解法的局部截?cái)嗾`差為ei=O(ΔtP+1)\boldsymbol{e}_i = \boldsymbol{O}(\Delta t^{P+1})ei?=O(ΔtP+1),則稱該解法具有P階精度或P階解法

這里O(ΔtP+1)\boldsymbol{O}(\Delta t^{P+1})O(ΔtP+1)為泰勒展開(kāi)式的余項(xiàng)

總結(jié)

以上是生活随笔為你收集整理的[常微分方程的数值解法系列一] 常微分方程的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。