Python 泰勒级数正弦函数图

我正在尝试使用 python 和 Jupyter notebook 绘制泰勒级数 sin(x) 图。我创建了一个简短的函数。图形将正确显示直到y2,但它会在 失败y3。很难绘制具有x = 2.7in值的图形y3。我不知道如何修复y3。


这是我的代码:


import numpy as np

import matplotlib.pyplot as plt

import numpy as np


def f(x) :

   result = x - x**3/6 + x**5/120 

   return result


x = np.linspace(0.0, 7.0, 100)

y = np.sin(x)

y2 = x - x**3/6 + x**5/120

y3 = 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这里补充:

http://img1.mukewang.com/610bb359000110d804330299.jpg

慕码人8056858
浏览 252回答 3
3回答

料青山看我应如是

在您发表评论后,它澄清说您不需要一个点,而是一条水平线。在这种情况下,您可以简单地输入一个具有相同 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

我认为plt.plot([2.7], [y3], '-o', label='x=2.7')会工作。当 x 是 linspace 并且 y3 只是一个数字时,您无法绘制 (x,y3) 。此外,sin 函数的泰勒近似仅适用于区间 (-pi, pi)。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python