Python抛体运动

import numpy as np
from math import pi,sin,cos,radians
import matplotlib.pyplot as plt
def main():
    XX = []
    YY = []      
    angle=eval(input("Enter the lauch angle(in degrees):"))
    vel=eval(input("Enter the initial velocity(in meters?sec):"))
    h0=eval(input("Enter the initial height(in meters):"))
    time=eval(input("Enter the time interval:"))
    k=eval(input("Enter the k"))
    n=eval(input("Enter the n"))
    m=eval(input("Enter the mass")) 
    theta=radians(angle)
    xvel=vel*cos(theta)
    yvel=vel*sin(theta)
    for i in range(0,n+1):
        xpos=0
        ypos=h0
        print(i)
        if i != 0:
            
            while ypos>=0:
                xpos=xpos+time*xvel
                XX.append(round(xpos,3))
                xvell=xvel-time*k/m*xvel*(xvel**2+yvel**2)**((i-1)/2)
                yvel1=yvel-time*9.8-time*k/m*yvel*(xvel**2+yvel**2)**((i-1)/2)
                ypos=ypos+time*(yvel+yvel1)/2
                YY.append(round(ypos,3))
                yvel=yvel1
                xvel=xvell
            
            plt.plot(XX,YY)
            print("\nistance traveled meters.",format(xpos))
        else:
            while ypos>=0:
                xpos=xpos+time*xvel
                XX.append(round(xpos,3))
                yvel1=yvel-time*9.8
                ypos=ypos+time*(yvel+yvel1)/2
                YY.append(round(ypos,3))
                yvel=yvel1
            
            plt.plot(XX,YY)
            print("\nistance traveled meters.",format(xpos))      
    plt.show()
main()

物理受到的阻力f=-k*v^n

  • 2
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

River Chandler

谢谢,我会更努力学习工作的!!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值