我有两个矩阵,X和Y,每一列代表一个随机变量的多个实现;
X = [x_11 x_21 .... x_n1
x_12 x_22 .... x_n2
. . .... .
. . .... .
x_1m x_2m .... x_nm]
And where Y is a function of X: Y = f(X)
Y = [y_11 y_21 .... y_n1
y_12 y_22 .... y_n2
. . .... .
. . .... .
y_1m y_2m .... y_nm]
我希望找到变量x_n和y_n之间的协方差矩阵;
E{(X - E{Y}) * (Y - E{Y})^H}
在这里,()^H表示向量的共轭转置
在matlab中,当我对矩阵(每个矩阵包含1000次20个变量的试验)运行cov(X,Y)
时,我只会得到一个2x2的矩阵,这让我相信它以某种方式将每个矩阵视为单个“变量”。如果我连接两个矩阵并对结果调用cov
:
cov( [X Y] )
我得到了一个40x40的矩阵,在左上角是
cov(X)
的结果,在右下角是cov(Y)
的结果,在左上角和右下角之外是我想要的矩阵。但是有没有一种方法可以在不必求助于这个矩阵的情况下计算它呢?谢谢。