看板 Mathematica 關於我們 聯絡資訊
※ 引述《huangcooly (弱小豪)》之銘言: : 我想要做的問題類似這樣 : 有一個球從空中掉落 : 空氣阻尼假設為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],去求得落入水的的初始速度 : 這樣的笨方法了 我最近想到方法 我自己回答XDD 可以在解NDSlove裡面的方程式裡配合者Which的項目 如我問的這題即是 NDSolve{Mx''[t]+Which[0<=x[t]<10,a*x'[t],10<=x[t]<20,b*x'[t],20<=x[t],c*x'[t] ]==Mg,x[0]==0,x'[0]==0},{x,x'},{t,0,10}] 這樣他就會在x不同位置時,使用不同的damping ratio了 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.112.16.43
qoodeva:h大的東西也在做振動嗎?? 03/08 21:59
huangcooly:這樣你都看得出來= = 03/09 19:41
qoodeva:只是做的東西有點類似.... 03/09 21:02