1
巨大な配列上のすべての列の平均を計算する必要があります。まずゼロより小さいすべての数値をゼロで置き換える必要があります。私のおもちゃの例を使用すると、これらの計算にかなりの時間がかかることが明らかになります。MATLAB:巨大な配列の平均を計算する
tmp = -5 + 10 * rand(5000,100000);
tmp(tmp<0) = 0;
result = mean(tmp);
私はいくつかのスピードを上げるためのより良い方法があるかもしれないのだろうか?
呼び出す必要があることを忘れないでください負でない数字だけです。負の数を0で置き換えていますが、これは別のものです。また、各列の平均を計算しています。それはあなたが欲しいものですか? –
@ルイスメンドはい、まさに私が欲しいものです。 – Andi
つまり、 'a = [ - 10 -10 10 11]'となります。あなたは 'a'、' 10.5'の "正の平均"を望んでいますが、あなたは '[0 0 10 11]'の平均をとって '5.25'を取っています。 'result = mean(tmp(tmp> = 0))'を試してください。 –