MATLAB Answers

0

ttest2 not working in Matlab 2019a

Asked by Ross Nichols on 25 Aug 2019 at 6:17
Latest activity Edited by Walter Roberson
on 25 Aug 2019 at 6:52
load examgrades
x = grades(:,1);
y = grades(:,2);
[h,p,ci,stats] = ttest2(x,y)
When I run this code in Matlab 2019a, found on the ttest2 documentation page, I get the following error:
Error using size
Dimension argument must be a positive integer scalar within indexing range.
Error in nanmean (line 43)
count = size(x,dim) - sum(nans,dim);
Error in nanvar (line 54)
avg = nanmean(x,dim);
Error in ttest2 (line 173)
s2x = nanvar(x,[],dim);
Anyone understand what is going on here?
Thank you very much.
Ross

  0 Comments

Sign in to comment.

1 Answer

Answer by Walter Roberson
on 25 Aug 2019 at 6:42
Edited by Walter Roberson
on 25 Aug 2019 at 6:52
 Accepted Answer

You have your own (or some third-party) nanmean.m file .
Notice the error is on line 43 of nanmean. The Mathworks provided nanmean for R2019a is only 22 lines long. Furthermore, the error is shown as being on line 54 of nanvar, but the Mathworks provided nanvar for R2019a has only 42 lines.
I looked back to R2010* and confirmed that the official Mathworks version of nanmean has never had as many as 43 lines.

  1 Comment

Ross Nichols on 25 Aug 2019 at 6:47
Ahhhhhh
This absolutely would explain it. I'll hunt it down and remove it from my path. Thank you so much :)

Sign in to comment.