如何在python中用base x创建对数函数

时间:2017-10-04 02:41:57

标签: python python-2.7

我想用base x创建一个对数函数,然后绘制它:y = logx10。 所以我用:

   y= math.log(10,x)

但是它返回了一个错误说:只有length-1数组可以转换为Python标量。 那么用base x创建日志函数的正确方法是什么?

2 个答案:

答案 0 :(得分:0)

由于您需要2个值列表(x, y),因此您必须先生成x列表,然后使用它生成y列表:

import math
import random

length = 10
rand_min = 0.02
rand_max = 0.91

x = [random.uniform(rand_min, rand_max) for r in xrange(length)]
y = [math.log(10, _x) for _x in x]

您有xy列表,长度均为length

答案 1 :(得分:0)

获得“更平滑”线的简单方法是增加点数(即使length更大。)

此外,您可能希望在计算和绘图之前对x列表进行排序:

length = 100   # or higher
      :    
x = sorted([random.uniform(rand_min, rand_max) for r in xrange(length)])
y = [math.log(10, _x) for _x in x]