我正在做一个Python项目,我需要计算摩托艇的速度和它的位置。
速度的公式为 v = v0*e^-bt/m,位置为 p = (mv0/b)(1-e^-bt/m),其中 b 为 14,而 m (质量)和v0(初速度)需要由用户输入。毕竟,我还需要绘制函数。
该计划的要求是:
到目前为止,我只编写了这个代码:
%matplotlib inline
import numpy as np
from scipy import integrate
from scipy.integrate import quad
import matplotlib.pyplot as plt
def f(t):
return v0*math.exp(-b*t/m) #v = intial velocity, b = constant, t = time, m = mass
def p(t):
return (m*v)/b*(1-math.exp(-b*t/m))#v = intial velocity, b = constant, t = time, m = mass
b = int(14)
v0 = float(input("What is the initial velocity of the motorboat in m/s? "))
m = float(input("what is the mass of the motorboat in kg? "))
i=[0]
velocity,err = quad(f,0,21)
position,err = quad(p,0,21)
print("The velocity of the boat moving across a lake is ",format(velocity,".2f"),"m/s.")
print("The position of the boat after moving across a lake is ",format(position,".2f"),"m.")
你的错误很少:
dt