[問題]NDSolve是否有轉換方程式的機制

看板Mathematica作者 (弱小豪)時間12年前 (2012/02/08 20:48), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串1/2 (看更多)
我想要做的問題類似這樣 有一個球從空中掉落 空氣阻尼假設為a 掉落十公尺後掉落油中 油的阻尼為b 再掉落十公尺後又落入水中 水的阻尼為c 因此這樣會有三條不同的方程式在不同距離的時候 Mx''[t]+()x'[t]=-Mg ( )為阻尼的意思 因此我在球NDSolve時大概如下 NDSolve{Mx''[t]+()x'[t]==Mg,x[0]==0,x'[0]==0},{x,x'},{t,0,10}] 不知是否可以在做NDSolve在運作的途中去判別說 -20<x<-10時,我就將方程式換為Mx''[t]+bx'[t]==Mg x<-20時,再將計算的方程式換為Mx''[t]+cx'[t]==Mg 不然我現在就只能手動轉換 先做一次空氣的 再去用if迴圈檢驗何時x<-10 再把求得的t帶到x[t]、x'[t],去求得落入水的的初始速度 這樣的笨方法了 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.24.203.206
文章代碼(AID): #1FCcy8QT (Mathematica)
文章代碼(AID): #1FCcy8QT (Mathematica)