Логарифм массива в Python

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

), затем Я хочу построить график времени, журнал (zlist)

, и каждый раз, когда я запускаю программу, я получаю эту ошибку. "сюжет (время, журнал (zlist)) TypeError: только массивы длины 1 могут быть преобразованы в скаляры Python "

Есть идеи, как либо сделать zlist не массивом, чтобы я мог вести журнал, либо просто что не так в моей программе? Все остальное работает хорошо, только одна проблема. (просто для заметки, я импортировал pylab, numpy и math)

РЕДАКТИРОВАТЬ: значение q относительно неважно, но в идеале оно в конечном итоге будет в диапазоне 500–1000. и m и n должны быть от 0 до 1, а b должно быть от 0 до 4.

РЕДАКТИРОВАТЬ X2: Кажется, теперь он работает, я не уверен, почему, но это может быть либо а) импорт журнала из математики, или b, проблема с отрицательным значением, но, тем не менее, она работает хорошо. Спасибо всем, кто внес свой вклад!

0
задан KevinShaffer 16 February 2012 в 20:46
поделиться