以常量变量为输入的积分和绘图函数

问题描述 投票:0回答:1

我正在做一个Python项目,我需要计算摩托艇的速度和它的位置。
速度的公式为 v = v0*e^-bt/m,位置为 p = (mv0/b)(1-e^-bt/m),其中 b 为 14,而 m (质量)和v0(初速度)需要由用户输入。毕竟,我还需要绘制函数。

该计划的要求是:

  1. 请求用户输入摩托艇的初始速度 𝑣0 和质量 𝑚。
  2. 沿横截面设置足够的离散/网格点 域,t = [0,21].( 最终值指定为 21,因为我们 希望也包括 20 个)
  3. 根据式(1)计算船的速度,根据式(2)计算船的位置
  4. 在同一轴上绘制船的速度和位置。
  5. 在图表中设置合适的图例、标题、轴标签和线条颜色。
  6. 输出速度和位置值。

到目前为止,我只编写了这个代码:

%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.")
python matplotlib scipy numerical-integration
1个回答
0
投票

你的错误很少:

© www.soinside.com 2019 - 2024. All rights reserved.