'ttest'-Funktion funktioniert in Matlab nicht

1613

Wenn ich diese Aussage in Matlab in meinem Computer verwende, wird folgende Fehlermeldung ausgegeben:

 [h,p,ci]=ttest(randn(100,1),0.1) 

Error:

??? Error using ==> nanmean Too many input arguments.  Error in ==> ttest at 104 xmean = nanmean(x,dim); 

Wenn ich jedoch dieselbe Aussage in Matlab auf einem anderen Computer verwende, funktioniert das einwandfrei und liefert Ergebnisse. Wissen Sie, was das Problem sein könnte? Ich stelle diese Frage hier im Verdacht auf ein Softwareproblem bei Matlab. Korrigiere mich, wenn ich falsch liege.

1

1 Antwort auf die Frage

1
DaveParillo

Wenn derselbe Code auf einem und nicht auf dem anderen funktioniert, ist die Version von Matlab, die Sie für einen verwenden, wählerischer als für einen anderen. Haben Sie überprüft, dass es sich bei beiden Geräten um dieselbe Matlab-Version handelt? Meine Vermutung ist, dass sie anders sind.

Egal, etwas zu versuchen:

Es scheint mir, als würde eine Matlab-Version die Ausgabe als randn als eine Reihe von an ttest übergebenen Argumenten behandeln, nicht als einen Vektor, der Ihre Zufallsstichprobe enthält.

Nur um das Debuggen zu erleichtern, würde ich Folgendes verwenden:

x=randn(100,1) [h,p,ci]=ttest(x,0.1) 

Haben Sie versucht x=randn([100,1])? Obwohl ich nicht erwarten würde, dass dies eine Rolle spielt ...

Ist es möglich, dass 0,1 als Mittelwert für das Set nicht sinnvoll ist? Ein Blick auf x könnte helfen. Meine Vermutung ist, dass dies bei beiden funktionieren wird, vorausgesetzt, Sie möchten, dass der Mittelwert = 0,1 ist:

% Generate values from a normal distribution with mean 0.1  % and standard deviation 0.5 x=0.1 + 0.5*randn(100,1) [h,p,ci]=ttest(x) 
Problem gelöst. Es war eigentlich ein Pfadproblem. Die nanmean.m-Datei war mGstat-Toolbox und nicht in der STATS-Toolbox, in der sich ttest.m befindet. Vielen Dank! vor 13 Jahren 1