python - 如何执行 if 语句一半的图表变为空白将其更改为返回数字,错误预期 2 得到 0
问题描述
我创建了针对两个参数 a 和 b 计算最大 Lyapunov 指数的代码。这个绘图没问题,但是由于我的 x 和 y 值等于 0,该图有一大块是白色的。因此,我需要将它们设置为等于 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()
我期望一个完整的网格网格没有显示系统崩溃和运行时错误的白色。目前只有一半的地块是彩色的。错误返回“ValueError:没有足够的值来解包(预期 2,得到 0)”
解决方案
推荐阅读
- php - Too few arguments to function Illuminate\Mail\Mailer::to(), 0 passed` error when trying to send confirmation email
- arrays - How to remove foreign value in JSONB array
- javascript - how can I make a live Github feed for a website
- azure-application-insights - How to remove "request-id" header
- react-native - React Native async await dispatch store
- java - Sending mail via Gmail is working in windows tomcat 8.5 and same code in linux 8.5 is not working
- javascript - JavaScript 引擎和事件循环有什么区别?
- python - 如何将拆分字符串应用于熊猫中的整个excel数据集
- angular - 使用 preflight 拦截 HTTP 请求,然后执行原始请求
- python - 如何使用 Python 发送设备孪生的动态报告属性