Dividing a set of numbers into set of intervals and caculating the mean of each interval and comparing it with the previous one
9 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Mohamed Saleh
el 7 de Feb. de 2018
Comentada: Mohamed Saleh
el 11 de Feb. de 2018
Hi. I have a set of random numbers let's say x=[-2,-4,-7,-1,...,-3], and I need writting a code to divide x into equal intervals (let's say each interval has 50 numbers), then I want to caculate the mean of each interval and compare it with the mean of the previouse interval. Can any one help me with that please. your help is much appreciated in advanced.
0 comentarios
Respuesta aceptada
Más respuestas (1)
Jos (10584)
el 8 de Feb. de 2018
Editada: Jos (10584)
el 8 de Feb. de 2018
I understood your question somewhat different: "I have N numbers {x(1) x(2) ... x(N-1) x(N)} and want to split them into several groups of K values: {x(1) ... x(K)} { x(K+1) ... x(2*K)} {...} without not changing the order of the elements. For each group I would like to take the mean."
There are several ways to answer this question. Examples:
% some data
X = randi(10,1,10) % N = 10
K = 3
% Note that N is not necessarily a multiple of K
idx = 1 + floor((0:numel(X)-1)/K)
M1 = accumarray(idx(:), X(:), [], @mean)
M2 = arrayfun(@(ix) mean(X(ix:min(ix+K-1,end))), 1:K:numel(X))
Ver también
Categorías
Más información sobre Solver Outputs and Iterative Display en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!