from numpy import *
from pylab import *
from math import *
def TentMap(a,x):
if x>= 0 and x<0.5:
return 2.*a*x
elif x>=0.5 and x<=1.:
return 2.*a*(1.-x)
# We set a = 0.98, a typical chaotic value
a = 0.98
N = 1.0
xaxis = arange(0.0,N,0.01)
Func = TentMap
subplot(211)
title(str(Func.func_name) + ' at a=%g and its second iterate' %a)
ylabel('X(n+1)') # set y-axis label
plot(xaxis,Func(a,xaxis), 'g', antialiased=True)
subplot(212)
ylabel('X(n+1)') # set y-axis label
xlabel('X(n)') # set x-axis label
plot(xaxis,Func(a,Func(a,xaxis)), 'bo', antialiased=True)
我的TentMap函數無法正常工作。我一直得到錯誤「一個數組的真值超過一個元素是不明確的。使用a.any()或a.all()」我不明白我應該如何使用這些。基本上,TentMap函數取值爲X,並根據X是什麼返回一個確定的值。所以如果0 < = x < 0.5那麼它返回2 * a * x,並且如果0.5 < = x < = 1那麼它返回2 * a *(1-x)。具有多個元素的數組的真值是不明確的錯誤? python
爲什麼直接使用它,因爲部分名稱是[「map」](http://docs.python.org/2/library/functions.html#map) ? –