adams求微分方程c语言,ADAMS在求解微分方程组中的应用
ADAMS 在求解微分方程組中的應用在求解微分方程組中的應用 眾所周知 ADAMS 具有強大的結算功能,在求解動力學問題方面可謂得心應手。在此 我想介紹一下它在求解非線性微分方程組方面的應用。 在工程分析中我們經常用一組微分方程來對一個過程進行描述。 我所熟悉的內外彈道現 象最后都歸納為一個微分方程組。這樣最后對問題的解決也就轉移到對方程組的求解上了。 而這一類微分方程絕大部分不能給出解析解, 只能采用數值解法來求解近似解, 常用的一種 便是龍格庫塔法了。這又牽扯到編程,界面的組織及結果的處理,雖然解決方法明了,但實 際操作是很麻煩的。我以一個簡單的例子說明用 ADAMS 來解決類似的方程組。在這個過 程中,我們無需編程,不需要了解什么數值解法,只需把 ADAMS 的解算器看成一個黑匣 子就可以了。 假設一個物體在地面上運動, 它由于受到空氣阻力會做減速運動。 而空氣阻力是與物體 運動速度相關聯的, 它不像摩擦系數那樣是一個穩定的值或系數。 也就是說空氣阻力是速度 的一個函數。假設關系為:)(vfF =。在此不考慮摩擦力,那么對物體的運動過程可以用 以下方程組來描述: dt dx v = m vf m F dt dv a )( ?=?== 上述的方程組有解,并且解是唯一的。現在我們用 ADAMS 來解此問題。首先建一個 任意形狀的物體,比如一個塊體,修改其質量,使其為m,賦予其初速 0 v,這都為初始條 件。然后給其加一與運動方向相反的力)(vfmaF==。然后一切 OK 了,接著進行仿真, ADAMS 便會自動求解該運動過程了。在后處理中可以看到各運動諸元了,自己就無需為結 果的處理而犯愁了。 上面只是舉一個簡單的例子。有的雖然復雜,但解決思路是一樣的。象我在求解外彈道 時,彈丸受的空氣阻力要分解成兩個方向,而且還有一個跟速度有關的阻力系數,還有跟彈 丸高度有關的函數式, 雖然有些復雜, 但只要理順好了關系, 在彈丸上施加一個力的表達式, 而這個表達式應該是彈丸運動過程中的一個可測量的值, 比如速度, 加速度或質心位置等就 可以了。最后我還設計了一個界面,可以解任意的彈丸外彈道問題。界面如下所示: 輸入初始條件,按“確定”鍵就可進行計算了,比起自己編程,省事多了,而且絕對準 確。 另外由于 ADAMS 不支持漢字,因此我們在寫自己的對話框時,為了使各參數更明確, 在定義 Label 時在 “Label text” 里不要填, 而要把漢字說明保存成 bmp 圖片形式, 再在 “Icon file”里寫出關聯的圖片地址,如下所示,雖然有些麻煩,但明了直觀。 希望對諸位有益。 Nijinf 于南京理工大學 2004-11-1
展開閱讀全文
總結
以上是生活随笔為你收集整理的adams求微分方程c语言,ADAMS在求解微分方程组中的应用的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: c语言文件加密异或操作,用异或算法实现文
- 下一篇: android有关的笔记,android