多重np.安排(纽比)

2024-06-16 11:55:32 发布

您现在位置:Python中文网/ 问答频道 /正文

import matplotlib.pyplot as plt
import numpy as np
import os
import sys
import time



MissionName = "Mars"
savename = "Mission"
start_time = time.time()
t = np.arange(0.0, 200.0, 0.01)
vE = np.where(t<50, 2580, 0)


M0 = 2970000
mps = 12857.1429
mT = (mps * t)
m = (M0 - mT)
G = (6.67 * (10**-11))
MAarde = ((5.972) * (10**24))
rAarde = 6371000
h1 = (vE * M0/mps)
h2 = (1-(m / M0))
h3 = (np.log(M0 / m) / np.log(2.718281828)) + 1
h = h1 * h2 * h3
Fz = ((m * G * MAarde) / ((rAarde + h)**2))
Fstuw = 35100000 # - Fz
a = Fstuw / m
v = vE * (np.log(M0 / m) / np.log(2.718281828))
plt.plot(t,v)
plt.xlabel('time (s)')
plt.ylabel('Velocity (m/s)')
plt.title('Model raketmissie ' + str(MissionName))
plt.grid(True)
plt.savefig(savename + ".png")
print("it cost %s seconds to execute" % float((time.time()) - float(start_time)))
plt.show()

所以它工作得很好,但是假设我想当t>;150的时候是5000,我该怎么做呢?既然我知道怎么用1而不是2。。。谢谢!在


Tags: importlogtimeasnpvepltstart
1条回答
网友
1楼 · 发布于 2024-06-16 11:55:32

您可以检查连接是否适用于此。在

t1 = np.arange(0.0, 150.0, 0.01)
t2 = np.arange(150.0, 200.0, 0.01)
t = np.concatenate((t1,t2))

vE1 = np.where(t1<50, 2580, 0)
vE2 = np.where(t2>150, 5000, 0)
vE = np.concatenate((vE1,vE2))

enter image description here

相关问题 更多 >