1
accumarray
はすばらしく、私はそれを頻繁に使用します。 accumarray
に渡したい機能が加重平均であるという問題があります。すなわち、1つのベクトルではなく2つのベクトルを取り込む。これはaccumarray
でサポートされていない使用例です。加重平均にaccumarrayを使用していますか? Matlabの
私の理解は正しいですか?
subs = [1 1 1 2 2 3 3 3];
vals = [1 2 3 4 5 6 6 7];
weights = [3 2 1 9 1 9 9 9];
accumarray(subs, [vals;weights],[], @weightedMean)
が、MATLABを返す:
は、我々は次のようにaccumarray
を実行したい、今、機能weightedAverage
function [ result ] = weightedMean(values, weights)
result = sum(values(:).*weights(:))/sum(weights(:));
end
を考えてみましょうあなたは正しい
Error using accumarray
Second input VAL must be a vector with one element for each row in SUBS, or a scalar.
私は分かりません。私たちに例を挙げてもらえますか?多分あなたが試したコードですか? – beaker