from numpy import *
from pylab import plot,show
q=10
time = range(q)
mlist=empty(q)
nlist=empty(q)
m=.9
n=(m+(1e-6))
b=3
for t in range(q):
mlist[t]=m
nlist[t]=n
m=(b*(1-m)*m)
n=(b*(1-n)*n)
zlist = mlist-nlist
zlist = abs(zlist)
plot(time, log(zlist))
show()
然后我想绘制时间图,log(zlist)
每次我运行程序时,我都会收到此错误。“plot(time,log(zlist)) TypeError: 只有长度为 1 的数组可以转换为 Python 标量”
任何想法如何使 zlist 不是数组以便我可以记录日志,或者我的程序出了什么问题?其他一切都很好,只是一个问题。(请注意,我已经导入了 pylab、numpy 和 math)
编辑: q 值相对不重要,但理想情况下最终会在 500-1000 范围内上升。m 和 n 必须介于 0 和 1 之间,b 必须介于 0 和 4 之间。
编辑X2:它现在似乎正在工作,我不知道为什么,但它可能是a)从数学中导入日志,或者b,负值问题,但无论如何,它运行良好。感谢所有贡献的人!