How can I fix this code to calculate the running average of my data without using toolbox methods such as movmean or smooth?
1 vue (au cours des 30 derniers jours)
Afficher commentaires plus anciens
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 commentaire
Greg
le 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?
Réponse acceptée
Pierre845
le 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 commentaires
Kh zaa
le 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
Plus de réponses (0)
Voir également
Catégories
En savoir plus sur Naming Conventions dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!