La función 'ttest' no funciona en Matlab

1

Cuando estoy usando esta declaración en Matlab en mi computadora, aparece el siguiente error:

 [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);

Sin embargo, si uso la misma declaración en Matlab en otra computadora, entonces funciona bien y da resultados. ¿Sabes cuál podría ser el problema? Estoy publicando esta pregunta aquí sospechando que es un problema de software con Matlab. Corrígeme si estoy equivocado.


fuente

Respuestas:

1

Si el mismo código funciona en uno y no en el otro, entonces supongo que la versión de matlab que usa en uno es más exigente que en otro. ¿Has comprobado que son la misma versión de matlab en ambas máquinas? Supongo que son diferentes.

De todos modos, hay algo que probar:

Me parece que una versión de matlab trata la salida como randn como una serie de argumentos pasados ​​a ttest, no como un vector que contiene su muestra aleatoria.

Además, solo para ayudar a depurar, usaría:

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

¿Lo has intentado x=randn([100,1])? Aunque no esperaría que esto importara ...

¿Es posible que a veces 0.1 no tenga sentido como un medio para el conjunto? Mirar a x podría ayudar. Supongo que esto funcionará en ambos, suponiendo que desea que la media sea = 0.1:

% 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)
DaveParillo
fuente
1
Problema resuelto. En realidad era un problema relacionado con la ruta. El archivo nanmean.m era mGstat toolbox en lugar de estar en STATS toolbox, donde se encuentra ttest.m. ¡Gracias!