Próbuję obliczyć średnią wartość macierzy ignorując wartości NaN za pomocą funkcji nanmean
w MATLAB. Jednak gdy testuję kod skopiowany z dokumentacji MATLAB, MATLAB wyrzuca błąd mówiący:
Error using sum Invalid option. Option must be 'double', 'native', 'default', 'omitnan' or 'includenan'. Error in mean (line 111) m = sum(x, dim, flag, 'omitnan'); Error in nanmean (line 17) y = mean(varargin{:},'omitnan');
To jest naprawdę mylące. Dlaczego powinienem zobaczyć błąd po użyciu kodu z dokumentacji MATLAB?
„Oficjalny” kod, który powoduje ten błąd, jest wymieniony poniżej:
X = reshape(1:30,[2 5 3]);
X([10:12 25]) = NaN
y = nanmean(X,'all')
Używam MATLAB w wersji R2017a.
1 odpowiedź
Opcja 'all'
została wprowadzona w najnowszym wydaniu MATLAB, R2018b. Używasz starszej wersji, która nie ma tej funkcji.
Zamiast tego przekształć macierz w kolumnę:
y = nanmean(X(:))
Jeśli masz licencję MATLAB, możesz uzyskać dostęp do dokumentacji swojej wersji MATLAB tutaj: https://www.mathworks.com/help/releases/R2017a/matlab/functionlist.html
Możesz również uzyskać dostęp do dokumentacji funkcji, wpisując doc nanmean
w MATLAB. Wtedy zawsze możesz zobaczyć dokumentację odpowiadającą wersji MATLAB, której używasz.
Podobne pytania
Nowe pytania
matlab
MATLAB to język wysokiego poziomu i interaktywne środowisko programistyczne do obliczeń numerycznych i wizualizacji opracowane przez MathWorks. Nie używaj zarówno tagów [matlab], jak i [octave], chyba że pytanie wyraźnie dotyczy podobieństw lub różnic między nimi. Używając tego tagu, podaj wersję MATLAB, z którą pracujesz (np. R2017a).