逆矩阵警告

时间:2018-10-31 09:36:23

标签: 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矩阵求逆,有什么办法可以解决此警告?这会影响我的代码的其他部分。

1 个答案:

答案 0 :(得分:0)

看看您的工作区。 sigma_an x m矩阵还是仅仅是一个整数值?因为我希望这种警告只是一个值。如果没有,您能发表sigma_a的样子吗?

编辑: 使用mldivide代替inv