Python 3.x 如何向数组A追加1值以匹配数组B的维度?

Python 3.x 如何向数组A追加1值以匹配数组B的维度?,python-3.x,numpy,Python 3.x,Numpy,我这里的程序是模拟下落物体的速度。 通过从时间_1和时间_2中减去y位置来计算速度 我的问题是数组v和数组的维数不匹配。我希望在v数组的开头添加0,而不是缩短数组t。因此,图表将在t=0时显示v=0。是的,我知道这是一个很小的间隔,这并不重要。但我想知道它的教育目的 我想知道我是否可以将v=(y[1:]-y[:-1])/0.1行写在一个我保留维度的地方 理想的情况是,数组y将被一个数组y[:-1]减去,并且这个减法将发生在y数组的末尾,因此结果将是一个维数为101的数组,起始值为0 我想知道你对

我这里的程序是模拟下落物体的速度。 通过从时间_1和时间_2中减去y位置来计算速度

我的问题是数组v和数组的维数不匹配。我希望在v数组的开头添加0,而不是缩短数组t。因此,图表将在t=0时显示v=0。是的,我知道这是一个很小的间隔,这并不重要。但我想知道它的教育目的

我想知道我是否可以将
v=(y[1:]-y[:-1])/0.1行写在一个我保留维度的地方

理想的情况是,数组y将被一个数组
y[:-1]
减去,并且这个减法将发生在y数组的末尾,因此结果将是一个维数为101的数组,起始值为0

我想知道你对此的想法

import matplotlib.pyplot as plt

t = linspace(0,10,101)
g = 9.80665
y = 0.5*g*t*t

v = (y[1:] - y[:-1])/0.1

plt.plot(t,v)
plt.show()

是否有一个函数可以向数组的开头添加某个值?np.append将其添加到末尾。

也许您可以在开头预先定义结果的长度,然后填充值:

将numpy导入为np
dt=.1
g=9.80665
t_end=10
t=np.arange(0,t_end+dt,dt)
y=0.5*g*t*t
v=np.零(t.形[0])
v[1:=(y[1:]-y[:-1])/dt
如果您只是查找append at index函数,它将是:

np.插入([1,2,3,4,5,6],2100)
>>数组([1,2100,3,4,5,6])

也许您可以在开始时预先定义结果的长度,然后填充值:

将numpy导入为np
dt=.1
g=9.80665
t_end=10
t=np.arange(0,t_end+dt,dt)
y=0.5*g*t*t
v=np.零(t.形[0])
v[1:=(y[1:]-y[:-1])/dt
如果您只是查找append at index函数,它将是:

np.插入([1,2,3,4,5,6],2100)
>>数组([1,2100,3,4,5,6])

另一种可能的解决方案是使用以下相反的顺序:

import numpy as np

v = np.random.rand(10)
value = 42 # value to append at the beginning of v

value_arr = np.array([value]) # dimensions should be adjust for multidimensional array
v = np.append(arr = value_arr, values = v, axis=0)
和可能的变体遵循相同的想法,使用或

关于评论中的第二个问题,一个解决方案可能是:

t = np.arange(6)

condlist = [t <= 2, t >= 4]
choicelist = [1, 1]
t = np.select(condlist, choicelist, default=t)
t=np.arange(6)
condlist=[t=4]
唱诗班成员=[1,1]
t=np.select(条件列表,选项列表,默认值=t)

另一种可能的解决方案是使用以下相反的顺序:

import numpy as np

v = np.random.rand(10)
value = 42 # value to append at the beginning of v

value_arr = np.array([value]) # dimensions should be adjust for multidimensional array
v = np.append(arr = value_arr, values = v, axis=0)
和可能的变体遵循相同的想法,使用或

关于评论中的第二个问题,一个解决方案可能是:

t = np.arange(6)

condlist = [t <= 2, t >= 4]
choicelist = [1, 1]
t = np.select(condlist, choicelist, default=t)
t=np.arange(6)
condlist=[t=4]
唱诗班成员=[1,1]
t=np.select(条件列表,选项列表,默认值=t)

你知道有没有附加函数,你可以告诉它应该附加什么索引?numpy.insert可能就是你想要的。我想补充一点,初始化数组并填充它会有很多好处。一个是内存中的位置是固定的,因此当你重新计算东西时,它会更高效、更快。我还有另一个与此相关的问题。如果我有一个时间数组
t=np.arange(6)
,我有另一个
数组u
。如果我想在2>=t>=4时使u=3,那么其他的都应该是1。我试着使用这样的东西:
t=np.arange(6)和a=np.ones(6)*3.0*t[2=>t>=4]
,但这不起作用。我怎样才能使这行工作?你知道是否还有一些附加函数,你可以告诉它应该附加什么索引?numpy.insert可能是你正在寻找的我想补充一点,初始化数组并填充它将有很多好处。一个是内存中的位置是固定的,因此当你重新计算东西时,它会更高效、更快。我还有另一个与此相关的问题。如果我有一个时间数组
t=np.arange(6)
,我有另一个
数组u
。如果我想在2>=t>=4时使u=3,那么其他的都应该是1。我试着使用这样的东西:
t=np.arange(6)和a=np.ones(6)*3.0*t[2=>t>=4]
,但这不起作用。我怎样才能使这条线起作用?