如何解决创建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安装,然后重新启动笔记本电脑。然后,我可以将导入和代码完全保持如上所述,并且再也没有出现任何错误。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。