我是python的新手。
我想知道一个问题的语法
假设我想绘制一个数量x = (constant with a fixed given value) * ln (1+z) versus z
(从 c 到 d 不等(
如何定义变量 x 和 z,如何输入"ln"函数
我已经导入了numpy
,scipy
和matplotlib
,但不知道此后如何进行
由于您已经导入了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中创建列表的一种美丽而方便的方式。
要绘制曲线,您需要两个列表,其中一个是 x 轴上的域,另一个是 y 轴上的范围点。 首先我们取一个常量作为输入,使用python内置的输入函数并确保它是int,使用数学库和日志函数根据需要做日志。
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()