0

3次元マトリックスに値がたくさんあり、それらの平均値を見つけています:

mean(mean(mat))

さて、さまざまな理由から、いくつかの行と要素を行列に追加する必要があります。しかし、追加された要素が中立であり、結果に影響を与えないかのように、平均値を同じままにしたいのです。

多数の値を乗算する場合と同様に、結果を変更せずに追加の 1 を乗算できます。さらに、影響なしでさらに 0 を追加できます。

を使用するときに要素をニュートラルにするために、マトリックス内の新しい要素にMatlabのどのような値を割り当てることができmean()ますか?

追記しました

ポイントは、平均値を計算しているとき、それを行うための新しいサイズ変更されたマトリックスしか持っていないということです。したがって、追加される要素は中立でなければなりません。

のようなものを考えNaNていますが、平均値も になるので運がありませんでしたNaN

4

2 に答える 2

3

追加された値なしでマトリックスの平均に等しい値を追加すると、新しい平均は同じままになります。(それが理にかなっていることを願っています!)。ポイントは、新しい平均値を変更するのではなく、現在の平均値を使用することです。

または、NaN を入力してnanmean関数を使用することもできます。

于 2012-06-19T09:19:32.697 に答える
0

行列にゼロを追加し、平均を正しい値になるように再スケーリングします。

つまり、元の行列Aがnxmで、サイズをN x MのBに変更した場合、次のようになります。

mean(mean(A)) = sum(sum(A)) / n x m

mean(mean(B)) = sum(sum(B)) / N x M
              = sum(sum(A)) / N x M   --- since we padded with zeros

再配置すると

mean(mean(A)) = mean(mean(B)) * ( ( N x M )/(n x m) )
于 2012-06-19T13:48:26.720 に答える