创建matplotlib子图并调用np.random.multivariate_normal

问题描述

我在Jupyter笔记本中的以下代码有问题:

import numpy as np
import matplotlib.pyplot as plt
from scipy import linalg as lg

运行此单元格后

fig,axes = plt.subplots(nrows=2,ncols=1,figsize=(15,15))

# joint covariance matrix
R = np.array([[1.,0.,0.95,0.  ],[0.,1.,0.75,0.5,0.9,0.8,0.2,0.3,0.1,0.7 ],[0.95,0.7,1.  ]])

# joint zero-mean
mu = np.zeros(R.shape[0])
N=1000

np.random.multivariate_normal(mu,R,N)

我得到了错误

raise LinAlgError("SVD did not converge") LinAlgError: SVD did not converge

此错误消失的时间

  • 我删除了“图,轴”行。

我不明白matplotlib与numpy有什么关系。...

解决方法

检查代码后,我发现了另一种摆脱错误的方法:

  • 我删除了linalg导入(我需要在MWE中未放入的其他代码),然后重新启动内核。

首先找到错误可修复的原因,然后解决它花费了我一些时间,所以我想在此处提供解决方案

更新所有软件包(我使用的是Anaconda),然后最终用pip卸载它们并使用Anaconda安装,然后重新启动笔记本电脑。然后,我可以将导入和代码完全保持如上所述,并且再也没有出现任何错误。

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...