## Mean of squares of first nn positive integers.

### Amitdyuti (view profile)

on 24 Jul 2015
Latest activity Commented on by Ali Tajik

### Ali Tajik (view profile)

on 23 Jan 2017
Accepted Answer by Matt J

### Matt J (view profile)

Write a function called mean_squares that returns mm, which is the mean of the squares of the first nn positive integers, where nn is a positive integer and is the only input argument. For example, if nn is 5, your function needs to compute the average of the numbers 1, 4, 9, 16, and 25. You may use any built-in functions including, for example, sum.
function mm = mean_squares (nn)
sqr = (1:nn).^2; %ERROR
total = sum(sqr);
mm = total/nn;
end
I wrote the above code. In line 2, I got the following error: "For colon operator with char operands, first and last operands must be char."
However,the code if executed in the command window, runs fine.

Roger Stafford

### Roger Stafford (view profile)

on 24 Jul 2015
You could just say
mean_squares = @(nn) (nn+1).*(2*nn+1)/6;
Duddela Sai Prashanth

### Duddela Sai Prashanth (view profile)

on 23 Dec 2016
function O = odd_rms(n)
n = n*2-1;
O = [1:2:n];
O = O.^2;
O = sum(O)/n;
O = sqrt(O);
Ali Tajik

### Ali Tajik (view profile)

on 23 Jan 2017
it did not work for 2 when you check it by grader

### Tags

No tags entered yet.

Answer by Matt J

### Matt J (view profile)

on 24 Jul 2015

Looks fine to me, but you should also be aware that there is a closed form formula
mm = (nn+1)*(2*nn+1)/6

### Harsheel (view profile)

on 24 Jul 2015

the code looks correct, seems like you're passing a character rather than an integer.
>> mean_squares('5') % incorrect
>> mean_squares(5) %correct