Plotting RMS from .csv files

I have data in the csv format that I'm plotting it using the lines of code below. The data has 2 columns and 1048576 rows. I have uploaded part of it below- the actual files being too large. Can you please tell me how to plot the RMS of the data?
if true clear all Array=csvread('Pencilbreak-63dB.csv'); col1 = Array(:, 1); col2 = Array(:, 2); plot(col1, col2) end

 Accepted Answer

RMS = (sum(col2.^2)/length(col2))^0.5;

9 Comments

I need to plot the RMS signal of the waveform, not just find the RMS value.
RMS is scalar not a vector, anyways you can plot it for whole length of signal:
plot(1:length(col1),RMS)
Do you mean I should add the following 2 lines of code?
" clear all
Array=csvread('Pencilbreak-23dB.csv');
col1 = Array(:, 1);
col2 = Array(:, 2);
RMS = (sum(col2.^2)/length(col2))^0.5;
plot(1:length(col1),RMS) " ?
MATLAB is not giving me the graph I expect to get?
what do you want??
An illustration of what I need:
you aredoing windowing there,taking smallportions of the data and then calculating RMS.
you can do something like:
clear all; Array=csvread('Pencilbreak-63dB.csv');
col1 = Array(:, 1); col2 = Array(:, 2); plot(col1, col2)
window = 20;
for i=1:window:length(col1)
RMS(i:i+window-1) = (sum(col2(i:i+window-1).^2)/10)^0.5;
end
plot(col1,RMS)
window size may vary asper the need
ok, thanks a lot.

Sign in to comment.

More Answers (0)

Asked:

Win
on 18 Feb 2014

Commented:

Win
on 18 Feb 2014

Community Treasure Hunt

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

Start Hunting!