Borrar filtros
Borrar filtros

How do I find the std of a specific range of data?

2 visualizaciones (últimos 30 días)
Shawn
Shawn el 1 de Ag. de 2012
I need to determine the standard deviation of the noise in a seismic signal Time domain. The data is in the form of time vs amplitude. I wish to find the standard deviation of the amplitude between time=0.1 and time=0.6. I need to know how to take the std of a range of the data set as opposed to the whole data set.
  3 comentarios
Rick Rosson
Rick Rosson el 2 de Ag. de 2012
How many rows does the data set contain?
size(a,1)
Also, are the time steps uniformly spaced, or variably spaced? If uniform, what is the time increment?
at(2) - at(1)
Shawn
Shawn el 2 de Ag. de 2012
Total rows of entire data set = 189857
Time steps are uniformly spaced at 9.06 micro seconds

Iniciar sesión para comentar.

Respuesta aceptada

Rick Rosson
Rick Rosson el 2 de Ag. de 2012
Editada: Rick Rosson el 2 de Ag. de 2012
Please try:
tic;
data = load('a.mat'); % this form is faster than
% command syntax
t = data.A16(:,1); % eliminate unnecessary data copies
a = data.A16(:,2);
a = a - mean(a);
idx = (0.2 < t & t < 0.6); % this operation is time consuming
% compute once, use result twice
Q = a(idx);
W = t(idx);
elTime = toc; % elapsed time
HTH.

Más respuestas (0)

Categorías

Más información sobre Seismology en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by