たとえば、行列内の多数の信号と、多数のラベルを持つm [T x N]
グループ化変数が与えられた場合g [ 1 x N ]
L < N
すべてのラベルの平均時間信号を計算する効率的なインプレースの方法はありますか?
for ループ
ml = zeros (T,L)
for i = 1:T
for j = 1:L
ml(i,j) = mean ( m(i,find(g==j)) )
end
end
それを行う簡単な方法ですが、おそらくベクトル化されたコードを使用して、より高速でクリーンな方法があるでしょうか? ( a) forループを取り除き、(b)一度に代入するだけm = labelled_means(m, ...)
です。について読みましstatarray
たが、これは for ループよりもはるかに効率が悪いようです。