如何计算Matlab中矩阵的平方反函数

时间:2013-11-15 12:25:09

标签: matlab

我必须计算:

gamma=(I-K*A^-1)*OLS;

其中I是单位矩阵,KA是相同大小的对角矩阵,OLS是参数的普通最小二乘估计。< / p>

我在Matlab中使用:

执行此操作
gamma=(I-A\K)*OLS;

然而,我必须计算:

gamma2=(I-K^2*A-2)*OLS;

我使用以下方法在Matlab中计算:

gamma2=(I+A\K)*(I-A\K)*OLS;

这是对的吗?

另外,我只想计算OLS参数的方差:

公式很简单:

Var(B)=sigma^2*(Delta)^-1;

其中sigma是常数,Delta是包含特征值的对角矩阵。

我试过这样做:

Var_B=Delta\sigma^2;

但它回来说矩阵维度必须同意吗?

请告诉我如何在Matlab中计算Var(B),以及确认我的其他计算是否正确。

1 个答案:

答案 0 :(得分:1)

通常,矩阵乘法不会通勤,这使得A^2 - B^2不等于(A+B)*(A-B)。但是你的情况很特殊,因为你在等式中有一个单位矩阵。因此,查找gamma2的方法有效。

'Var_B = Delta \ sigma ^ 2'不是有效的mldivide表达式。请参阅文档。试试Var_B=sigma^2*inv(Delta)。函数inv返回矩阵逆。虽然此功能也可以应用于您的表达式中以查找gammagamma2,但建议使用运算符\以提高准确性并加快计算速度。