Akm*_*hov 10 plot matplotlib python-2.7
我有一个功能
np.sin(x / 2.) * np.exp(x / 4.) + 6. * np.exp(-x / 4.)
Run Code Online (Sandbox Code Playgroud)
我可以使用以下代码绘制它:
x = np.arange(-5, 15, 2)
y = np.sin(x / 2.) * np.exp(x / 4.) + 6. * np.exp(-x / 4.)
plt.plot(x, y)
plt.show()
Run Code Online (Sandbox Code Playgroud)
但如果我定义函数绘图不起作用:
rr = np.arange(-5, 15, 2)
def y(o):
return np.sin(o / 2.) * np.exp(o / 4.) + 6. * np.exp(-o / 4.)
def h(b):
return int(y(b))
plt.plot(rr, h)
plt.show()
Run Code Online (Sandbox Code Playgroud)
为什么会发生这种情况,如何更改代码以绘制函数?
试试这个:
import numpy as np
import matplotlib.pyplot as plt
rr = np.arange(-5, 15, 2)
def y(o):
return np.sin(o / 2.) * np.exp(o / 4.) + 6. * np.exp(-o / 4.)
plt.plot(rr, y(rr).astype(np.int))
plt.show()
Run Code Online (Sandbox Code Playgroud)