我必须计算:
gamma=(I-K*A^-1)*OLS;
其中I
是单位矩阵,K
和A
是相同大小的对角矩阵,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)
,以及确认我的其他计算是否正确。
答案 0 :(得分:1)
通常,矩阵乘法不会通勤,这使得A^2 - B^2
不等于(A+B)*(A-B)
。但是你的情况很特殊,因为你在等式中有一个单位矩阵。因此,查找gamma2
的方法有效。
'Var_B = Delta \ sigma ^ 2'不是有效的mldivide
表达式。请参阅文档。试试Var_B=sigma^2*inv(Delta)
。函数inv
返回矩阵逆。虽然此功能也可以应用于您的表达式中以查找gamma
或gamma2
,但建议使用运算符\
以提高准确性并加快计算速度。