如何为常量绘制具有多个不同值的函数?

时间:2017-03-10 09:42:47

标签: python

我试图绘制这个函数: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()

谢谢!

1 个答案:

答案 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()