How can I fix this code to calculate the running average of my data without using toolbox methods such as movmean or smooth?

4 Ansichten (letzte 30 Tage)
The end goal is to smooth the data in a graph. What I have so far is in the first attachment and the .txt file is in the second. Thank you in advance for your help!
  1 Kommentar
Greg
Greg am 6 Sep. 2018
I see your attachments are labeled homework. Is the toolbox limitation a MATLAB license restriction (assumedly you want to save money), or an instruction restriction?
Many of the statistics functions ( movmean ) were moved into core MATLAB in R2016a - no longer requiring toolboxes. If the instructor said not to use pre-built algorithms, you have to do it the hard way. But that doesn't mean you can't check your own work against the built-in movmean, now does it?

Melden Sie sich an, um zu kommentieren.

Akzeptierte Antwort

Pierre845
Pierre845 am 6 Sep. 2018
function avg = running_avg(signal, avg_window)
avg = zeros(1, length(signal);
for i = avg_window:length(signal)
avg(1, i) = sum( signal(i-avg_window+1:i) ) / avg_window;
end
end
  2 Kommentare
Kh zaa
Kh zaa am 16 Sep. 2018
I use level-1 s-function in my simulink model. Measurements of 5 variables are collected in simulink and sent to s-function. In order to filter out some of measurements noise, i need to use the average of the snapshots received over a a time window (i.e. 2 second). how i can do that ? thanks in advance

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Produkte


Version

R2017a

Community Treasure Hunt

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

Start Hunting!

Translated by