私は、各行がベクトルx_iである行列によって与えられるベクトルのリストを持っています。 C_Iは数であり、E(X_I * X_I ')= sum_iリスト内の各ベクトルにその転置を一度に乗算する方法はありますか?
- 今、私は次の行列
M = sum_i C_I *(「E(X_I * X_I')X_I * X_I)したいですx_i * x_i '/ n、nは行数です。転置による乗算は乗算の合計に他ならないので、答えは
この一つの貧しいコードが
x = rand(50,10000);
c = rand(10000,1);
M = zeros(50,50);
Y = zeros(50,50);
for i=1:size(x,2)
M = M + x(:,i)*x(:,i)';
end;
M = M/size(x,2);
for i=1:size(x,2)
Y = Y + c(i)*(x(:,i)*x(:,i)' - M);
end;
あなたは絶対に正しいです、ありがとうございます! –