我试图绘制这个函数:y(x)=(e ^ -ax)cos(x)
对于跨越间隔(0,4pi)的x值和从0到1的'a',步长为0.25。我已成功地将其绘制为a = 0。
但是,我想知道我是否可以编写一些代码,允许我将其绘制为'a'值的范围,而不是必须为每个不同的'a'值重写代码。
这是我的代码:(注意y = cos(x),因为这是a = 0)
from numpy import *
import pylab as p
# function to plot ( a = 0 )
x = linspace(0, 4*pi, 100)
y = cos(x)
#plot the function
p.plot(x,y,'o')
# axis annotation
p.xlabel('x-variable')
p.ylabel('y=(e**-ax)cosx')
# graph title
p.title('Plot of function')
#set axis range
p.axis([-0.5, 4*pi, -1.3, 1.3])
# turn grid on
p.grid(True)
p.show()
谢谢!
答案 0 :(得分:0)
假设您希望所有内容都在同一个图上......
from numpy import linspace, pi, cos, exp
import pylab as p
for a in p.frange(xini=0, xfin=1, delta=0.25):
x = linspace(0, 4*pi, 100)
y = exp(-a*x)*cos(x)
p.plot(x,y,'o')
# axis annotation
p.xlabel('x-variable')
p.ylabel('y=(e**-ax)cosx')
# graph title
p.title('Plot of function')
#set axis range
p.axis([-0.5, 4*pi, -1.3, 1.3])
# turn grid on
p.grid(True)
p.show()