Mean of squares of first nn positive integers.

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 件のコメント

Roger Stafford
Roger Stafford 2015 年 7 月 24 日
You could just say
mean_squares = @(nn) (nn+1).*(2*nn+1)/6;
Duddela Sai Prashanth
Duddela Sai Prashanth 2016 年 12 月 23 日
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 2017 年 1 月 23 日
it did not work for 2 when you check it by grader

サインインしてコメントする。

 採用された回答

Matt J
Matt J 2015 年 7 月 24 日

1 投票

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

その他の回答 (2 件)

Harsheel
Harsheel 2015 年 7 月 24 日

1 投票

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 2015 年 7 月 24 日

0 投票

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

カテゴリ

タグ

タグが未入力です。

質問済み:

2015 年 7 月 24 日

コメント済み:

2017 年 1 月 23 日

Community Treasure Hunt

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

Start Hunting!

Translated by