Mean of squares of first nn positive integers.

3 views (last 30 days)
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.
  3 Comments
Duddela Sai Prashanth
Duddela Sai Prashanth 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 on 23 Jan 2017
it did not work for 2 when you check it by grader

Sign in to comment.

Accepted Answer

Matt J
Matt J 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

More Answers (2)

Harsheel
Harsheel 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

Amitdyuti
Amitdyuti on 24 Jul 2015
Thank You for the answers. But after posting the question,when I re-executed the function, voila! It ran successfully.
Sorry for the inconvenience.

Categories

Find more on Loops and Conditional Statements in Help Center and File Exchange

Tags

No tags entered yet.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!