2
from numpy import *
from pylab import *
from math import *
def LogisticMap(a,x):
return 4.*a*x*(1.-x)
def CosineMap(a,x):
return a*cos(x/(2.*pi))
def TentMap(a,x):
if x>= 0 or x<0.5:
return 2.*a*x
if x>=0.5 or x<=1.:
return 2.*a*(1.-x)
a = 0.98
N = 40
xaxis = arange(0.0,N,1.0)
Func = CosineMap
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)
我的程序應該採取任何三個定義的功能,並繪製它。它們都從數組xax中的值x從0到N,然後返回值。我想要它繪製一個x軸與f(x軸)的圖,其中f是上述三個函數中的任何一個。 logisticmap函數工作正常,但對於CosineMap,我得到錯誤「只能將長度爲1的數組轉換爲python標量」,對於TentMap,我得到錯誤「帶有多個元素的數組的真值是不明確的,請使用。 any()或a.all()「。我的帳篷映射函數是假設返回2 * A * X 0,如果< = X < 0.5和它的假設返回2 * A *(1-x)如果0.5 < = 0 < = 1。長度爲1的數組可以轉換爲python標量錯誤?蟒蛇