[問題]NDSolve是否有轉換方程式的機制
我想要做的問題類似這樣
有一個球從空中掉落
空氣阻尼假設為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
討論串 (同標題文章)
以下文章回應了本文:
完整討論串 (本文為第 1 之 2 篇):
Mathematica 近期熱門文章
PTT數位生活區 即時熱門文章