How to calculate a running value of a function for every 30 samples?

6 Ansichten (letzte 30 Tage)
clear all;
clc;
Nt= 2000; % Total samples
d = randn(1,Nt);
ratioCompute = sum(d)/mean(d);
I need calculate this ratioCompute for every 30 samples like a sliding window.

Antworten (1)

Chunru
Chunru am 29 Nov. 2022
Nt= 50; % Total samples
d = randn(1,Nt);
ratioCompute = movmean(d, 30)
ratioCompute = 1×50
-0.1405 -0.1198 -0.1145 -0.0710 0.0116 0.0064 0.0398 0.0308 0.0168 0.0260 0.0339 0.0456 0.0118 0.0280 0.0412 0.0195 0.0005 0.0667 0.0811 0.0800 0.0896 0.1074 0.1868 0.1181 0.0611 0.1342 0.2335 0.2915 0.2876 0.2794
  4 Kommentare
Kalasagarreddi Kottakota
Kalasagarreddi Kottakota am 30 Nov. 2022
Bearbeitet: Kalasagarreddi Kottakota am 30 Nov. 2022
yes, here I was making a simple formulation. But actual formula which I will compute is different. Just am I looking to find a way to compute a ratio for every 30 samples.
Chunru
Chunru am 1 Dez. 2022
They you try:
ratioCompute = movsum(d, 30) ./ movmean(d, 30);

Melden Sie sich an, um zu kommentieren.

Kategorien

Mehr zu Programming finden Sie in Help Center und File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by