如何将if语句的一半图表变为空白将其更改为数字,预期错误2为0

时间:2019-04-07 09:37:43

标签: python matplotlib

我创建了代码,针对两个参数a和b计算最大Lyapunov指数。这样就可以了,但是由于我的x和y值等于零,因此该图有一部分在白色中塌陷。因此,我需要将其设置为等于或等于100,以防止发生这种情况并生成全彩色的网格网格图。

我已经尝试过if语句,但是当我将其中之一替换为if语句时,它会收到语法错误或另一个错误a.any()a.all()

#diff values of a and b looping 
a=np.linspace(0,6,80)
b=np.linspace(0,5,80)

def lyapunov(a,b):
    #initial conditions
    a,b = np.meshgrid(a,b)
    d = 0.1
    xold = 0.5
    yold = 0.01

    #xnew and ynew values
   for k in range(1000):
    xnew=f(a,b,xold,yold)
    ynew=g(b,d,xold,yold)
    xold = xnew
    yold = ynew

if np.any(xnew<ee) and np.any(ynew<ee):
    return 2.

elif np.any(xnew>ee) and np.any(ynew<ee):
    return 5.

else:
    xold = xnew            
    yold = ynew

    ml=0   
    for l in range(100):
        ydash=1
        ml = ml + np.log(abs(e(a,b,xold,yold,ydash)))

        ydash = yz(a,b,xold,yold,ydash) 
        xold=f(a,b,xold,yold)
        yold=g(b,d,xold,yold)


    ml = (ml/(2*100))
    return  ml

z = lyapunov(a,b)
ax.set_title('Lyapunov Exponent')
c = ax.pcolormesh(z)
fig.colorbar(c)
plt.show()

我期望一个完整的网格网格,没有白色,显示系统崩溃和运行时错误。目前,只有一半的地块是彩色的。 ERROR返回“ ValueError:没有足够的值要解压(预期2,得到0)”

0 个答案:

没有答案