赞
踩
在使用SciPy的 RBFInterpolator 进行RBF模型插值时,出现了Singular Matrix错误,报错信息为:
- line 127, in _build_and_solve_system
- raise LinAlgError(msg)
- numpy.linalg.LinAlgError: Singular matrix.
可以得知错误是由于Singular Matrix(奇异矩阵)引起的。
经过搜索,发现是我的输入数据出现重复元素,RBFInterpolator的输入数据如果有重复数据可能会导致报错。
把重复的数据删除即可解决该问题!!!
猜想:在输入数据时,由于是一个矩阵,当某一行数据出现重复时,就会导致该矩阵不满秩(矩阵行列式为0,为奇异矩阵),引起该错误。
参考:
python - RBF interpolation: LinAlgError: singular matrix - Stack Overflow
scipy.interpolate.Rbf插值出现LinAlgError: Matrix is singular. – Fly Blog
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。