Python 3.x 如何向数组A追加1值以匹配数组B的维度?
我这里的程序是模拟下落物体的速度。 通过从时间_1和时间_2中减去y位置来计算速度 我的问题是数组v和数组的维数不匹配。我希望在v数组的开头添加0,而不是缩短数组t。因此,图表将在t=0时显示v=0。是的,我知道这是一个很小的间隔,这并不重要。但我想知道它的教育目的 我想知道我是否可以将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 我想知道你对
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]
,但这不起作用。我怎样才能使这条线起作用?