我正在尝试使用 python 和 Jupyter notebook 绘制泰勒级数 sin(x) 图。我创建了一个简短的函数。图形将正确显示直到y2,但它会在 失败y3。很难绘制具有x = 2.7in值的图形y3。我不知道如何修复y3。这是我的代码:import numpy as npimport matplotlib.pyplot as pltimport numpy as npdef f(x) : result = x - x**3/6 + x**5/120 return resultx = np.linspace(0.0, 7.0, 100)y = np.sin(x)y2 = x - x**3/6 + x**5/120y3 = f(2.7)plt.title("taylor sin graph")plt.xlim(0, 7+0.2)plt.ylim(-5, 5+1)plt.plot(x, y, label='sin(x)')plt.plot(x, y2, label='x=0')plt.plot(x, y3, label='x=2.7')plt.legend()plt.show()我想在y3这里补充:
3 回答
料青山看我应如是
TA贡献1772条经验 获得超8个赞
在您发表评论后,它澄清说您不需要一个点,而是一条水平线。在这种情况下,您可以简单地输入一个具有相同 value 的 x-mesh 2.7。
为此,您首先2.7使用 using定义一个包含值的数组np.ones(100) * 2.7,然后将其传递给函数。
y3 = f(2.7*np.ones(100))
plt.plot(x, y3, label='x=2.7')
要在 处绘制单个点x=2.7
,有两种方法(可能还有其他方法)。
第一个选项是仅指定两个 xy 数字并使用标记绘制为
plt.plot(2.7, y3, 'bo', label='x=2.7')
第二种选择是使用plt.scatter
. s=60
只是要有一个大标记。
plt.scatter(2.7, y3, s=60, label='x=2.7')
PIPIONE
TA贡献1829条经验 获得超9个赞
我认为
plt.plot([2.7], [y3], '-o', label='x=2.7')
会工作。当 x 是 linspace 并且 y3 只是一个数字时,您无法绘制 (x,y3) 。
此外,sin 函数的泰勒近似仅适用于区间 (-pi, pi)。
添加回答
举报
0/150
提交
取消