
發布
注冊
/
登錄常微分方程的案例
CAE系列之2—用常微分方程來表達客觀規律
許多學科都在用數學方程表達其領域內部各個因素量之間的關系,這種關系最簡單的是代數方程。由于關系的復雜性,會存在由多個代數方程所組成的代數方程組。使用線性代數的方法,很容易求解代數方程組,從而得到我們所需要的量。
但是客觀世界的很多關系卻表現為微分方程。微分方程分為常微分方程和偏微分方程,本篇先說明常微分方程。
對于機械系的學生而言,材料力學中用積分法求解彎曲變形的整個過程非常具有啟發性,它對于理解CAE中的有限元法具有重要的意義,這里以它為例,讓我們一起來品味常微分方程的工程背景以及其解法。
如圖所示的懸臂梁,在自由端施加一個豎直向下的集中力,則梁會變彎曲,彎曲后的曲線在圖中用紅色曲線表示,該曲線稱為撓曲線。現在的問題是,如何根據受到的力來求出撓曲線的方程呢?
這樣的問題乍看上去無從下手。如果從整體上考慮問題,很難得到答案。我們知道,梁整體之所以發生彎曲,是因為受到了外力。每一微段之所以發生變形,也是因為該微段受到了力的作用。所以,我們可以從任一微段出發,得到該微段的受力與其變形的關系,然后看看是否可以通過積分得到整根梁的撓曲線方程。
任取一個dx程度的微段,在該段的左右兩邊施加彎矩而發生變形如下圖的右部
取ab這根短纖維,變形后為a’b’,對該纖維使用正應變的定義,有
根據胡克定律,應變與應力之間有關系。而應力與內力的關系也已經由彎曲應力的關系式給出,所以有
基于上述兩種應變的計算方法,消去應變,得到
這樣就知道了內力M與該微段的曲率半徑ρ的關系式。可見,彎矩的確決定了該微段的曲率。
而從高等數學知道曲率半徑與該點的撓度之間的關系
把該曲率代入前式,得到
此即梁的撓曲線微分方程。這是一個常微分方程。
展開 如何采用simulink求解常微分方程組
通常來說,求解一個系統的話采用常微分方程組去做。前面也有采用scipy進行了常微分方程組的求解簡單介紹,當然需要用到Python。其實完全可以不用任何代碼,只用一些simulink模塊以搭積木的形式完成這個過程,而且還會方便很多。下面就介紹一下相關的方法。
所用到的核心模塊其實就是integrate模塊,只需要啟動matlab打開simulink然后脫出一個該模塊就可以了。
首先以如下方程為例,假設初始值為0,求解區間為【0-10】
采用如下的方式搭建
simulink中的模塊求解的結果
當然這個有點簡單,來一個稍微復雜一點的
計算過程的模塊搭建如下
simulink中的模塊
計算結果如下
simulink中求解結果
當然完全完全可以求解更加復雜的問題,比如以下面的一個方程組為例
那么他的搭建模塊如下所示
方程組越大,則模塊會越復雜,一般可以把一部分單獨拿出來做一些封裝,然后把這個作為自己的模塊老使用,作為演示,我這里也有一個例子,就是pemfc燃料電池的例子,方程組的關系如下。
pemfc的系統所用到的方程
那么對應的模塊搭建如下,可見對于較大的模型搭建還是比較難得
展開 單位脈沖函數及卷積(杜哈梅積分)——從常微分方程的解出發理解
另一方面,在結構動力學中,單自由度系統的振動微分方程起著至關重要的作用,可以說是理解結構動力學的基石。在這門學科中,比較注重方程的解,相關理解也很具象和容易。本文擬從二階常系數微分方程的解出發,深入理解卷積的內涵。
-----LTI系統響應的分類-----
傳統來說,LTI系統常微分方程的解為齊次解和特解之和。除此之外,還可以將方程的解形式上分為零狀態解和零輸入解,它們的意義分別為(鄭君里P60):
鄭君里P63指出:
而疊加性和均勻性非常重要。
鄭君里P62給出了一個一階微分方程的解按齊次/非齊次、零狀態/零輸入分類的例子,為理解方便起見,我在其中略有備注:
-----二階方程的解:杜哈梅積分(卷積)-----
對于結構動力學中經典的彈簧振子系統,其具有二階微分方程:
直接求解該方程的完全解是很難的,只能寫出其齊次通解(王新敏P46式3-10),該通解的系數由初始條件決定:
杜哈梅解決了這個問題(我猜他這么解決的),并發展出了結構動力學中的杜哈梅積分,其實就是卷積。我們不妨以觀棋者的視角來理解下這個思路:由前所知,LTI系統的零狀態解是可疊加的,那么不妨認為該方程的解可以由無數個特定的零狀態解疊加而成。如果將F(t)當成成無數個單位脈沖激勵的疊加,那么只要求出方程在單位脈沖激勵下的零狀態解,就可以按照一定方式將它們加起來(積分)即可。單位脈沖激勵下的零狀態方程為(王新敏P206):
然而,要求出該方程的解仍然是困難的,其實難度沒變,只是現在激勵變成單位脈沖激勵了,性質上仍然是求二階非齊次常微分方程。好在現在有兩個有利條件:1)由前述可知,方程的零輸入解只需要將初始條件代入齊次通解即可得到;2)最為關鍵的是,單位脈沖的特性允許我們將該方程改造成零輸入(非零狀態)方程。
展開 常微分方程與振動基本理論
常微分方程與振動基本理論

scipy求解常微分方程組
Scipy求解常微分方程組有scipy.integrate.solve_ivp和scipy.integrate.odeint,后者是較老的版本主要是采用 FORTRAN 的odepack庫里面的lsoda 方法,而前者是后面更新的函數,支持的方法也更多,按照官方的文檔介紹大致有如下的方法。
用matlab解含分段函數的一階微分方程
已知一階常微分方程,
g+0.047*du/dt+ u/6.7=(13-u)/18
其中,當sin(10/pi*t)>=0時,g=1.18sin(10/pi*t)
當sin(10/pi*t)<0時, g=0
u的初值為u(0)=0,求t>=0時的解。畫出圖像,并求u的極大值。
曾經將g寫成,0.59 sin(10/pi*t)+abs(0.59*sin(10/pi*t)),用dsolve求解,可惜出錯了。
請大家幫忙,謝謝!(用其他函數解也可以。)
程序如下
fun=inline(['((13-u)/18-(sin(10*t/pi)>0)*',...
'1.18*sin(10*t/pi)-u/6.7)/0.047'],'t','u');
[t,u]=ode45(fun,[0,10],[0]);
plot(t,u)
說明g這樣表示的:
gt=(sin(10*t/pi)>0)*1.18*sin(10*t/pi);
感謝蘿卜網友
展開 邊界條件
狄利克雷邊界條件
在數學中,狄利克雷邊界條件(Dirichlet boundary condition)也被稱為常微分方程或偏微分方程的“第一類邊界條件”,指定微分方程的解在邊界處的值。求出這樣的方程的解的問題被稱為狄利克雷問題。
在常微分方程情況下,如
在區間[0,1], 狄利克雷邊界條件有如下形式:
y(0) = α1
y(1) = α2
其中α1和α2是給定的數值。
一個區域 上的偏微分方程,如
Δy + y = 0
(Δ表示拉普拉斯算子,狄利克雷邊界條件有如下的形式
這里,ν表示邊界 處(向外的)法向;f是給定的已知函數。
紐曼邊界條件
在數學中,紐曼邊界條件也被稱為常微分方程或偏微分方程的“第三類邊界條件”。紐曼邊界條件指定了微分方程的解在邊界處的微分。
在常微分方程情況下,如
在區間[0,1], 紐曼邊界條件有如下形式:
y'(0) = α1
y'(1) = α2
其中α1和α2是給定的數值。
一個區域 上的偏微分方程,如
Δy + y = 0
(Δ表示拉普拉斯算子,紐曼邊界條件有如下的形式
這里,ν表示邊界 處(向外的)法向;f是給定的函數。法向定義為
其中?是梯度,圓點表示內積。
展開 常微分方程習題解
作 者:
莊萬
出 版 社:
山東科學技術出版社
出版日期:
2003年9月
版次:
1
I S B N:
753313542
頁數:
開 本:
印張:
包 裝:
字數:
用戶評分:
3.0分(滿分5分) 查看詳情
原 價:
¥33.0
在 COMSOL 中存儲重要仿真結果的 2 種方法
您可以通過“全局常微分和微分代數方程”接口來定義全局方程,隨之創建作為簡單代數方程求解量的變量。這個接口以及類似定義域內或點上的常微分和微分代數方程的接口,都位于“添加物理場”窗口和“模型向導”中的“數學”>“常微分和微分代數方程接口”下。最后,在“全局方程”節點的設置窗口中定義希望仿真輸出的變量名和代數方程。
除此之外,標量耦合算子同樣也是 COMSOL Multiphysics 中用于實現這一目標的重要特征。借助這些極其強大的工具,您可以在模型中創建全局可用的標量。
應用案例:表示平均溫度的變量
假設您的研究重點是模型幾何中的平均溫度。為了獲取平均溫度值,您可以添加一個平均值耦合算子(例如 aveop1?),并對其進行設置,使之在整個幾何結構(所有域)或目標域內有效。隨后,您可以將該算子應用到全局代數方程中,并保證它作為標量存儲在仿真結果中。假如您想要存儲的是最高溫度,那么可以使用最大值耦合算子。
“全局常微分和微分代數方程”接口可用于求解
不過在這個案例中,我們只需要將方程的變量值設置為等于平均溫度值。因此,若您已經將代數方程的變量定義為 avtemp,便只需輸入 aveop1(T)-avtemp 即可。請記住,“全局常微分和微分代數方程”接口表示表達式等于零,因此求解的方程為 avtemp = aveop1(T)。在這里,T 表示幾何結構中的溫度場,我們要對該變量進行求解,但并不需要將它存儲在輸出中。下方屏幕截圖顯示了本案例中“全局常微分和微分代數方程”接口下“全局方程”節點的設置窗口。
全局方程節點設置用于創建一個存儲在輸出中的變量。
請注意上圖中設置窗口內的“單位”欄。為了避免單位不統一,并保證求解變量的單位正確無誤,您應當對因變量和源項的單位分別進行設置。
最后一步是對仿真進行設置,使其僅存儲剛剛定義的新標量變量。
展開 系統的復域分析:從增益角度理解傳遞函數
一、為什么要在復域對LTI系統進行分析:傳遞函數的定義
工程中遇到的大部分系統都是LTI系統,一個LTI系統對應著一個線性常系數微分方程。對于這樣一個系統,我們通常需要研究其在特定輸入作用下的輸出性質,其實就是研究常微分方程的解的特點。然而,盡管可以通過卷積計算求出一個LTI系統的零狀態解,即:系統的零狀態響應等于系統輸入與系統單位階躍響應的卷積,見:
數峰青,公眾號:數峰青
單位脈沖函數及卷積(杜哈梅積分)——從常微分方程的解出發理解
然而,要通過卷積公式計算系統響應仍然是比較費勁的事兒。另外,在這樣的方法中,我們也對如何改變、優化系統無從下手。
借助于拉普拉斯變換這個強有力的工具,對信號和系統的研究就變得容易起來。拉氏變換的特點是,可以將常微分方程中的微積分環節變為復數域的代數環節(分式的加減乘除),所以在復數域來理解、研究微分方程就簡單得多。更重要的是,時間域的卷積經過拉氏變換就變成了復域的乘積,這使得我們可以定義單純反映系統性質的傳遞函數,相當于將系統單獨拎出來評價、優化。這在設計系統的過程中無疑會大大降低難度、加快設計進程。
以一個彈簧振子系統代表的二階LTI系統為例。其方程可以寫為:
這是一個二階常系數非齊次線性微分方程。可以通過卷積積分(也叫作杜哈梅積分)來得到方程在零初始狀態下的解。然而當F的表達式比較復雜的時候,卷積積分可能會很困難甚至無法得到真正的解析結果。如果對方程兩邊進行拉氏變換,可以得到:
該式體現了拉氏變換到復域的好處:1、微分環節變成復變量與函數的拉氏變換之間的乘積——一種代數運算;2、可以進行多項式合并。系統的傳遞函數定義為:
將上上式表示的F(s)代入,并考慮多項式合并,即可得到系統的傳遞函數為:
依據傳遞函數,就可以在復數域單獨評價、研究系統了。
展開 淺析振動基本理論
比如,你覺得振動力學難,可能是振動課老師不行,也可能是前任微分方程課的老師不行。
振動微分方程:
這不就是一個二階線性常系數非齊次常微分方程(以下簡稱非齊次方程)嗎?有什么難?這能算難?真正難的,你可能還沒見過!
講清楚微分方程問題,也用不了幾個概念:通解,全解,特解,定解,所有解,自由項。
1.如果非其次方程的自由項f(x)為0,則稱為齊次方程。
2.齊次方程的解叫做齊次方程的通解(全解)。
3.齊次方程+特解條件(定解條件)的解叫做特解(定解)。
4.特解條件有兩類:邊界條件(邊值問題),初始條件(初值問題)。
5.求解非其次方程特解的待定系數法:根據自由項的特點,假設方程的特解,再帶入到方程,確定特解的待定系數。(沒提到特解條件)
6.注意,上文中,齊次方程特解的獲得和非齊次方程特解的獲得,是不一樣的。
7.非齊次方程的通解,由對應齊次方程的通解和非齊次方程的特解組成。
8.非齊次方程+特解條件的解,由對應齊次方程的特解和非齊次方程的特解組成。
9.所有解包含通解。比如:
綜上,在振動微分方程中。
1.非齊次方程的特解和初始條件無關,對應齊次方程的特解才和初始條件有關。
2.非齊次方程+初始條件的解,一般只考慮非次方程的特解,稱為穩態振動。因為在阻尼系統中,對應齊次方程的特解是衰減振動,隨著時間推移,趨于零,稱為瞬態振動。
3.振動理論中。如果是自由振動,那就是齊次方程的初值問題(初始條件重要)。如果是受迫振動,那就是非齊次方程的特解問題(初始條件不重要)。單自由度振動系統的核心就是這兩句話。如果你扎實掌握了,后面的多自由度問題,無非就是求解常微分方程組,也就是常微分方程的線性代數。如果線性代數也學得不錯,那多自由度問題也很簡單。
展開 
動力學分析基礎 雅可比矩陣
<動力學仿真計算歸結為對典型的常微分方程組的初值問題。在解上述的初值問題時,除了應用常微分方程初值問題的數值積分外,還將用到求解線性代數方程組的數值方法,所以首先我們必須先研究這兩個常用的計算機算法,已便于后面的計算,詳細內容見附件
附件地址http://download.caenet.cn/ShowInfoDetail.aspx?ID=8636<;
偏微分方程的起源 附偏微分方程陳祖墀下載
偏微分方程的解法還可以用分離系數法,也叫做傅里葉級數;還可以用分離變數法,也叫做傅里葉變換或傅里葉積分。分離系數法可以求解有界空間中的定解問題;分離變數法可以求解無界空間的定解問題。還可以用拉普拉斯變換法去求解一維空間的數學物理方程的定解,對方程實行拉普拉斯變換可以轉化成常微分方程,而且初始條件也一并考慮到,解出常微分方程后進行反演就可以了。
應該指出,偏微分方程的定解雖然有以上各種解法,但是我們不能忽視由于某些原因有許多定解問題是不能嚴格解出的,只可以用近似方法求出滿足實際需要的近似程度的近似解。
常用的方法有變分法和有限差分法:變分法是把定解問題轉化成變分問題,再求變分問題的近似解;有限差分法是把定解問題轉化成代數方程,然后用計算機進行計算;還有一種更有意義的模擬法,它用另一個物理的問題實驗研究來代替所研究某個物理問題的定解。雖然物理現象本質不同,但是抽象地表示在數學上是同一個定解問題,如研究某個不規則形狀的物體里的穩定溫度分布問題,在數學上是拉普拉斯方程的邊值問題,由于求解比較困難,可作相應的靜電場或穩恒電流場實驗研究,測定場中各處的電勢,從而也解決了所研究的穩定溫度場中的溫度分布問題。
隨著物理科學所研究的現象在廣度和深度兩方面的擴展,偏微分方程的應用范圍更廣泛。從數學自身的角度看,偏微分方程的求解促使數學在函數論、變分法、級數展開、常微分方程、代數、微分幾何等各方面進行發展。從這個角度說,偏微分方程變成了數學的中心。
下載地址:偏微分方程陳祖墀
展開 基礎課 | 說說偏微分方程
雖然物理現象本質不同,但是抽象地表示在數學上是同一個定解問題,如研究某個不規則形狀的物體里的穩定溫度分布問題,在數學上是拉普拉斯方程的邊值問題,由于求解比較困難,可作相應的靜電場或穩恒電流場實驗研究,測定場中各處的電勢,從而也解決了所研究的穩定溫度場中的溫度分布問題。
隨著物理科學所研究的現象在廣度和深度兩方面的擴展,偏微分方程的應用范圍更廣泛。從數學自身的角度看,偏微分方程的求解促使數學在函數論、變分法、級數展開、常微分方程、代數、微分幾何等各方面進行發展。從這個角度說,偏微分方程變成了數學的中心。
來源:ANSYS學習與應用
展開 多學科統一的多體動力學建模方法
拉格朗日方程
拉格朗日方程可以分為第一類拉格朗日方程和第二類拉格朗日方程。其中含有約束方程的帶有拉格朗日乘子的微分代數方程稱為第一類拉格朗日方程,以最少的坐標表示的二階常微分方程稱為第二類拉格朗日方程。
針對系統中是否含有控制約束,可以分為無約束系統和有約束系統,無約束系統建立拉格朗日方程是常微分方程(ODE),求解方便,沒有積分誤差。而有約束系統建立的拉格朗日方程為微分代數方程(DAE),求解時有積分誤差,在求解算法上可以采用鮑姆加特修正算法,但是對參數的確定沒有準確的選擇方法。也可以采用指數縮減(Index reduction)的方法,將微分代數方程化簡為常微分方程,并且在求解上多采用隱式算法,例如隱式龍格-庫塔算法。在拉格朗日動力學中利用廣義位移和廣義速度描述系統的行為。
1.廣義坐標與自由度
能夠描述動態系統的坐標可以很多,在一個系統中能夠唯一確定系統位姿或狀態的坐標稱為廣義坐標,同時一般描述系統的廣義坐標的個數等于系統的自由度。
在多學科耦合系統中,首先應該確定系統的廣義坐標和自由度。
2拉格朗日動力學方程
多學科統一拉格朗日動力學方程為
利用上式可以建立機械系統和電學系統耦合的動力學方程,動力學方程是關于廣義坐標的一組二階常微分方程。
利用上式建立動力學方程時需要滿足:
1.選擇一組廣義坐標即廣義位移(位移、電荷量)和其導數廣義速度(速度、電流)
2.根據廣義位移和廣義速度寫出系統的動能、勢能和耗散能的表達式。
3.確定由作用源產生的廣義力。廣義力不包括容性元件和阻性元件產生的作用力,因為它們已經包含在勢能和耗散能里面。
展開