逆矩阵警告

  • 本文关键字:警告 matlab
  • 更新时间 :
  • 英文 :


在Matlab中工作时,我收到了这个警告。。。

警告:矩阵接近奇异或缩放不正确。结果可能不准确。RCOND=6.001064e-34。

这是我的密码。。。

clear
clc
P = [];
X = importdata('MSFT.csv',',');
P = [P X.data(:,5)];
X = importdata('ORCL.csv',',');
P = [P X.data(:,5)];
X = importdata('TEVA.csv',',');
P = [P X.data(:,5)];
TCR = {'msft', 'orcl', 'teva'};
N = 252;
r_ar = P(2:end, :)./P(1:end-1, :) - 1;
mu_d = mean(r_ar(1:end, :));
sigma_d = cov(r_ar(1:end, :));
mu_a = (mu_d + 1).^N -1;
sigma_a = 
(sigma_d + (mu_d'+1)*(mu_d+1)).^N - (mu_d'+1).^N * (mu_d+1).^N;
rho =inv(sqrt(diag(diag(sigma_a))))*sigma_a*inv(sqrt(diag(diag(sigma_a))));
mu = mu_a';
S1 = inv(sigma_a);

警告针对线路,

S1 = inv(sigma_a);

由于我需要取sigma_a矩阵的倒数,有什么方法可以修复这个警告吗?它正在影响我代码的其他部分。

查看您的工作区。sigma_an x m矩阵还是只是一个整数值?因为如果这只是一个值,我会期待这样的警告。如果没有,你能发布sigma_a的样子吗?

编辑:使用mldivide而不是inv

相关内容

  • 没有找到相关文章

最新更新