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

1 Ansicht (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.

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by