关于matlab提示“警告: 矩阵为奇异工作精度” 的问题

来源:互联网 发布:linux私房菜在线阅读 编辑:程序博客网 时间:2024/06/03 20:37

在自己编写基于手写数字多特征数据集的机器学习中的最小风险贝叶斯算法过程中,总是提示“警告: 矩阵为奇异工作精度” 

虽然知道问题出在 R{1,k}(i,j)=-1/2*(test{1,k}(i,s:e)-ave{1,j}(1,:))*inv(sigma{1,j}(:,:))*((test{1,k}(i,s:e)-ave{1,j}(1,:))')-1/2*log(abs(det(sigma{1,j}(:,:))));一句话中,但还是解决不了。

后发现把inv改成pinv即可。

因为inv是对矩阵求逆,而对于不是可逆矩阵的矩阵求逆就会出错,pinv就是对不是可逆矩阵的矩阵求伪逆。

问题解决。

原创粉丝点击