我是python的新手。
我想知道问题的语法
假设我要绘制一个量x = (constant with a fixed given value) * ln (1+z) versus z
(从c到d不等)
如何定义变量x和z,如何输入'ln'函数
我已经导入了numpy
,scipy
和matplotlib
,但不知道此后如何进行
答案 0 :(得分:0)
要绘制曲线,您需要两个列表,其中一个是x轴上的域,另一个是y轴上的范围点。首先,我们使用python内置的输入函数作为常量作为输入,并确保其为int,并根据需要使用数学库和log函数进行记录。
import math
import matplotlib.pyplot as plt
a = int(input("enter a value for constant : "))
c,d = 0,100
xvals = list(range(c,d,1)) # start,end,step
print(xvals)
yvals = [a*math.log(1+x) for x in xvals]
print(yvals)
plt.plot(xvals,yvals)
plt.show()
答案 1 :(得分:0)
由于您已经导入了numpy,这只是另一个答案:
import numpy as np
import matplotlib.pyplot as plt
x_coeff = 10
c = 0
d = 100
z = [i for i in range(c, d)]
x = [x_coeff * np.log(1+v) for i, v in enumerate(z)]
plt.plot(z, x)
plt.show()
最好检查一下文档,然后尝试一下: https://docs.scipy.org/doc/numpy/reference/generated/numpy.log.html
您可能还需要了解“列表理解”。 这是在python中创建列表的一种美丽而便捷的方法。