0
私は一定の加重和をベクトル化しようとしましたが、それを行う方法を理解できませんでした。私は以下の簡単な作業例を作成しました。ソリューションにはbsxfunやreshape、kroneckerのいずれかの製品が含まれていると思いますが、まだそれを稼働させることはできませんでした。重み付き合計matlabをベクトル化する
rng(1);
N = 200;
T1 = 5;
T2 = 7;
A = rand(N,T1,T2);
w1 = rand(T1,1);
w2 = rand(T2,1);
B = zeros(N,1);
for i = 1:N
for j1=1:T1
for j2=1:T2
B(i) = B(i) + w1(j1) * w2(j2) * A(i,j1,j2);
end
end
end
A = B;
:それは残念ながら
それとも、重みの平坦化グリッドを作成する
kron
を使用することができますに分割する必要があります。それは速かった。これは完全に機能します。私はbsxfunを使用して再構成しようとしましたが、それを理解しませんでした。どうもありがとうございました!私は6分で答えを受け入れることができます:) – phdstudent私は少し質問を編集しました。答えは3次元の和に対して簡単に一般化可能ですか? – phdstudent
@volcomptこのソリューションは2D加重質問にはうまくいきましたが、実際には3D質問は違う獣です。あなたの新しい質問でこれを受け入れることが(あなたのために働く場合)、[別の質問をする](http://meta.stackexchange.com/a/43485/318672)が最善です。 – Suever