4

重複の可能性:
matlab 関数での NaN の処理

Matlabで行列の要素ごとの平均をとることを可能にする 1 行のコマンド ( を無視NaN) はありますか? 例えば、

>> A = [1 0 NaN; 0 3 4; 0 NaN 2]

A =

     1     0   NaN
     0     3     4
     0   NaN     2

したがって、mean(A)等しいはずです(1+3+2+4+0+0+0)/7 = 1.4286

また、統計ツールボックスにアクセスできないため、使用できませんnanmean()

4

2 に答える 2

5

isnan()不要な要素を除外するために使用できます。

mean(A(~isnan(A)))
于 2013-02-04T20:11:25.117 に答える
2
nanmean

と同じようmeanに実行しますが、ナンを無視します。

例えば:

>> A = [1 0 NaN; 0 3 4; 0 NaN 2]
A =
     1     0   NaN
     0     3     4
     0   NaN     2
>> nanmean(A)
ans =
         0.333333333333333                       1.5                         3
>> nanmean(A,2)
ans =
                       0.5
          2.33333333333333
                         1
>> nanmean(A(:))
ans =
          1.42857142857143
于 2013-02-04T20:26:34.577 に答える