绘制定义的函数

时间:2017-09-28 10:02:05

标签: python matplotlib

我已经定义了一个我现在要绘制的函数:

import numpy as np
from math import pi, sqrt
import matplotlib.pyplot as plt

def f(x: float) -> float:
    return pi * x * sqrt(x**2 + 400) + pi * x**2 - 1200

plt.plot(f(x))
plt.show()

运行此代码时,我收到“NameError:name'x'未定义”。

1 个答案:

答案 0 :(得分:4)

将numpy与matplotlib结合使用通常很有用。然后,当您定义一个函数时,您可以编写它,使得它需要单个浮点数以及numpy数组作为输入。

import numpy as np
import matplotlib.pyplot as plt

def f(x):
    return np.pi * x * np.sqrt(x**2 + 400) + np.pi * x**2 - 1200

x = np.array([1,2,3,4])
plt.plot(x, f(x))
plt.show()

当然,您现在也可以评估单个浮点数的函数

print( f(9.2) )

或将其用于列表或数组的每个元素

y = [f(i) for i in x]
plt.plot(x,y)

但是一旦你知道数学运算可以很容易地应用于numpy数组这一事实,你可能不想再选择后者了。