ValueError:x 和 y 必须具有相同的第一维度,但具有形状 (100,) 和 ((1,))

Mig*_*nte 6 python numpy matplotlib

我正在尝试使用 python、numpy 和 matplotlib 绘制一个简单的函数,但是当我执行脚本时,它返回标题中描述的 ValueError 。

\n

这是我的代码:

\n
"""Geometrical interpretation: In Python, plot the function y = f(x) = x**3 \xe2\x88\x92 (1/x)\nand plot its tangent line at x = 1 and at x = 2."""\n\nimport numpy as np\nimport matplotlib.pyplot as plt\n\n\ndef plot(func):\n    plt.figure(figsize=(12, 8))\n    x = np.linspace(-100, 100, 100)\n    plt.plot(x, func, '-', color='pink')\n    plt.show()\n    plt.close()\n\n\nplot(lambda x: x ** 3 - (1 / x))\n
Run Code Online (Sandbox Code Playgroud)\n

请给这个初学者一些帮助:)

\n

D.L*_*D.L 5

这实际上是一个很好的努力。您只需要使用添加 y 变量y=func(x)。进而plt.plot(x,y)...

所以这有效:

import numpy as np
import matplotlib.pyplot as plt


def plot(func):
    plt.figure(figsize=(12, 8))
    x = np.linspace(-100, 100, 100)
    y = func(x)
    plt.plot(x, y, '-', color='pink')
    plt.show()
    plt.close()


plot(lambda x: x ** 3 - (1 / x))
Run Code Online (Sandbox Code Playgroud)

结果:

在此输入图像描述