[問題] 空氣阻力code問題

看板Python作者 (hanker8862)時間8年前 (2017/10/29 18:05), 8年前編輯推噓0(006)
留言6則, 1人參與, 8年前最新討論串1/1
這是我的code 我該怎麼讓f會隨著ball.v變化呢? t=0 dt=0.001 m=5 g=-9.8 ball.a=g p=1.2 c=0.5 A=0.25*pi f=0.5*p*c*A*ball.v**2 while ball.pos.y>=0.5: t=t+dt rate(1000) f+=0.5*p*c*A*(ball.a*dt)**2 ball.v+=ball.a*dt ball.pos.y+=ball.v*dt ball.a=ball.a+f/m 如果照我這樣寫 f會變成v^2+adt^2 但我要的是f=(v+adt)^2 不知道該怎麼寫出來 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 111.252.208.7 ※ 文章網址: https://www.ptt.cc/bbs/Python/M.1509271526.A.67F.html ※ 編輯: hank546288 (111.252.208.7), 10/29/2017 18:32:29

10/29 20:17, 8年前 , 1F
把空氣阻力簡化看 f=kv^2 所以你下面 f+=kadt^2就會變成
10/29 20:17, 1F

10/29 20:17, 8年前 , 2F
f = kv^2 +k adt^2
10/29 20:17, 2F
好的 謝謝你 ※ 編輯: hank546288 (111.252.208.7), 10/29/2017 20:20:14

10/29 20:20, 8年前 , 3F
v2=(v1+at) f2 = k(v2)^2 所以你只要改變v 再帶入f=kv^2
10/29 20:20, 3F
所以我要在定義一個v2然後再把f定義出來嗎? ※ 編輯: hank546288 (111.252.208.7), 10/29/2017 20:27:12

10/29 20:29, 8年前 , 4F
你while迴圈裏面 不是有v=v+adt嗎= = 就是那個
10/29 20:29, 4F

10/29 20:31, 8年前 , 5F
ball.v+=ball.a*dt f = k*ball.v**2
10/29 20:31, 5F
我把while迴圈裡的f改成f=k*ball.v**2後 a最後會跑到正值 是有少什麼嗎? ※ 編輯: hank546288 (111.252.208.7), 10/29/2017 20:47:06 ※ 編輯: hank546288 (111.252.208.7), 10/29/2017 20:55:11

10/29 21:05, 8年前 , 6F
你的v有先改嗎
10/29 21:05, 6F
解決了 謝謝你 ※ 編輯: hank546288 (114.35.47.124), 10/30/2017 10:17:37
文章代碼(AID): #1PzQVcP_ (Python)