# Calculating the RMS (Root-Mean-Square) Average

798 views (last 30 days)
Matthew Lintern on 28 Jul 2016
Commented: Star Strider on 28 Jul 2016
Hi all. So I'm trying to calculate the rms average. The image below shows the exact question
. The answer I get after running my script is 2.5. However, when I calculate this by hand I get 6.20. Either way, one of them is wrong. Any help checking my code is greatly appreciated!
N=input('Input the number of data points:');
for ii=1:N
A=input('Enter the value of x: '); % A is the variable to read in user input
x_rms=sqrt(1/N.*(sum(x(ii).^2)));
end
fprintf('The root-mean-square value is:%d\n',x_rms)

Star Strider on 28 Jul 2016
You’re almost there. Collect the numbers in the loop, then do the calculation after the loop:
N=inputdlg('Input the number of data points:'); N = str2num(N{:});
for ii=1:N
A=inputdlg('Enter the value of x: '); A = str2num(A{:});% A is the variable to read in user input
x(ii) = A;
end
x_rms=sqrt(1/N.*(sum(x.^2)));
fprintf('The root-mean-square value is: %f\n',x_rms)
I used the inputdlg function because I prefer it. You can substitute your input calls.
##### 2 CommentsShowHide 1 older comment
Star Strider on 28 Jul 2016
My pleasure!
I prefer inputdlg because it doesn’t mess up the Command Window, even if requires an extra line or two of code.