enter image description here我是编码和使用JupyterNotebook的新手,我想问一问我将如何绘制x(在任何时间t)=(0,10,101)和y(作为加速度)=-2.2的图表。这些是我们教授给我们的值,但是当我尝试绘图时,它给了我一个错误,并说ValueError:x和y必须具有相同的第一维,但是形状为(101,)和(1,)。谢谢。
答案 0 :(得分:2)
您的描述不清楚,我强烈建议您下次发布时提供您所遇到问题的代码示例。看看其他人如何提出他们的问题。无论如何,我会尽力帮助您。
我们知道:
x = 0.5at ^ 2 + V0t
位置:
x:位置 A:加速 V0:初始速度 t:时间
在现实生活中时间是连续的,但是不可能在编程中使用绝对绝对值连续变量,因此,接下来要做的最好的事情是使用步长非常小的范围。
让我们开始假设初始速度为零-> x = 0.5at * t
现在我们简化了方程式,让我们解决时间问题。
import numpy as np
import matplotlib.pyplot as plt
a = -2.2
time = np.arange(0,10,0.1)
x = [0.5*a*t*t for t in time]
plt.plot(time,x)
plt.show()
如上所述,我们为时间值列表计算了x的每个值,如您所见,为了绘制位置与时间的值,列表的长度必须相同。我们可以使用“ len”检查列表的长度
print(f"length of time: {len(time)} ")
print(f"length of position: {len(x)}" )
退出:
length of time: 100
length of position: 100
这里有一些资料可以帮助您开始学习python:
我在YouTube上推荐一些频道:
答案 1 :(得分:0)
要绘制x与y数据时,需要为x和y数据具有匹配的形状。 因此,为了绘制x的y = -2.2的水平线(从0到10而不是101点)
y = (-2.2)
您需要使用
y = np.full(101, -2.2)
更好
y = np.full(x.shape, -2.2)
这样y
将具有与x
形状匹配的101形状
答案 2 :(得分:0)