3

のmathworksヘルプからこの例を見てくださいnanmean()

 X = magic(3);
X([1 6:9]) = repmat(NaN,1,5)

X =

   NaN     1   NaN
     3     5   NaN
     4   NaN   NaN

>> y = nanmean(X,2)
??? Error using ==> nanmean
Too many input arguments.

ドキュメントが平均をとしての任意の次元dimで取ることができると言っているのに、なぜそれはエラーを示しているのですか?ありがとう。Xy = nanmean(X,dim)

4

2 に答える 2

1

理由は次のとおりです。

X にすべての NaN 値のベクトルが含まれる場合、NaN 値が削除されるとベクトルは空になるため、残りの要素の合計は 0 になります。平均には 0 による除算が含まれるため、その値は NaN になります。出力 NaN は NaN 値の平均ではありません。

見てください: http://www.mathworks.com/help/toolbox/stats/nanmean.html

于 2012-07-19T03:56:10.477 に答える
1

あなたが持っているコードを正確に実行しましたが、エラーは発生しません。特に、私が実行したものは次のとおりです。

>> X = magic(3);
X([1 6:9]) = repmat(NaN,1,5)

X =

   NaN     1   NaN
     3     5   NaN
     4   NaN   NaN

>> y = nanmean(X,2)

y =

     1
     4
     4


>> which nanmean
C:\Program Files\MATLAB\R2010b\toolbox\stats\stats\nanmean.m

私が考えることができる唯一のことは、nanmean.mあなたのパスに別のバージョンがあるということです。を試して、which nanmeanそれが統計ツールボックスを指しているかどうかを確認してください。

于 2012-07-19T04:10:49.010 に答える