MATLAB: Finding mean scores of students tests compared to rest of class

relational operators

Hello, I am working on this problem. To give you some context, there is an 150×10 array of test scores ranging from 1-10. sNum is the student number.
Assign to the variable curveBusters an S-by-1 array (S may be 0) of the student numbers whose average score (across all tests) was strictly higher than average score of the student indicated by sNum.
Here is my code
curveBusters = find(mean(Grades(sNum,:)) < mean(Grades(:,:)));
There was a previous problem
Assign to the variable betteredBy an S-by-1 array (S may be 0) of the student numbers that got a strictly higher score than the student indicated by sNum on the test indicated by testNum.
and this was my code that is correct
betteredBy = find((Grades(sNum,testNum) < (Grades(:,testNum))));
So I can't figure out what is wrong with my code for the means.

Best Answer

I think you need to read that more carefully than you did. This is what I get. Speak up if you don't understand why I did any of the operations:
Grades = randi(10, [150, 10]) % Sample data.
% Row = student number
% Columns = grades for the student in that row.
% Assign to the variable curveBusters an S-by-1 array (S may be 0)
% of the student numbers whose average score (across all tests) was
% strictly higher than average score of the student indicated by sNum.
studentAverages = mean(Grades, 2)
studentMins = min(Grades, [], 2)
allScoresHigherThanMean = studentMins > studentAverages;
curveBusters = find(allScoresHigherThanMean)
% Assign to the variable betteredBy an S-by-1 array (S may be 0)
% of the student numbers that got a strictly higher score than
% the student indicated by sNum on the test indicated by testNum.
% Note: that is unclear since score does not refer to what score --
% it could be the mean of student 6 or all scores of student 6.
sNum = 6;
allScoresHigherThanSNum = studentMins > studentAverages(sNum);
betteredBy = find(allScoresHigherThanSNum);