2
私は2x3行列m = [1.1, 2.0, 0.5 ; 0.9, 1.5, 1.1];
を持っています。 2番目の次元に沿った累積幾何平均を計算する必要があります。つまり、結果の行列results
も同じ次元(2x3)を持つ必要があります。基本的には、cumprod
と、1/nの電力を取るために必要な拡張機能を使用することに匹敵します。n
は列番号です。MATLAB:累積幾何平均
results
は、次のようになります。
[(1.1)^(1/1), (1.1 * 2.0)^(1/2), (1.1 * 2.0 * 0.5)^(1/3) ;
(0.9)^(1/1), (0.9 * 1.5)^(1/2), (0.9 * 1.5 * 1.1)^(1/3)]
results = cumprod(m,2)
は、乗算のコンポーネントを提供します。しかし、適切な力を得るためには、最も賢い方法は何ですか?
です完全に正常に動作します!ありがとう。 – Andi
フォローアップ質問: 最初の次元に沿って累積幾何平均をとる必要がある場合、つまり bsxfun(@power、cumprod(m、1)、1./(1:size(m,1))) ? ただし、結果として寸法エラーが発生します。 "bsxfunを使用した場合のエラー 2つの入力配列の非シングルトン寸法は で一致する必要があります。 – Andi
@Andi試してみてください: 'bsxfun(@power、cumprod(m、1)、[1./(1:size(m,1))] ')'。 – Divakar