Calculating the RMS (Root-Mean-Square) Average

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)

1 Kommentar

hello I'm tring but geting propted by this:
rms_voltage
Input the number of data points:
4
Enter the value of x:
1:0.5:2
Unrecognized function or variable 'x'.
Error in rms_voltage (line 6)
x_rms=sqrt(1/N.*(sum(x(ii).^2)));

Melden Sie sich an, um zu kommentieren.

 Akzeptierte Antwort

Star Strider
Star Strider am 28 Jul. 2016

0 Stimmen

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.

4 Kommentare

Brilliant, thanks so much! Also, thanks for the introduction to the inputdlg function!
Star Strider
Star Strider am 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.
idris
idris am 7 Dez. 2023
We venerate loyalty to the developers of MATLAB as the tool "inputdlg" is okay.
@idris— What?

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu Loops and Conditional Statements finden Sie in Hilfe-Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by