Problem in calculating median and average values at specific intervals.

2 visualizaciones (últimos 30 días)
Hello everyone,
My text file contains three parameters Temp (in Kelvin), Ph, and Rad values. These values are extracted from hdf file. For every 1K interval there are several phase pixels. For example at 250K there can be 5 pixels (1st pixel can be 2, 2nd pixel can be 3 and so on.
-All these 5 pixels have corresponding Rad values (e.g. 25, 35, 20 ,15, 32). I want to calculate median of these pixels corresponding to Temperature value. For example at 250K median of above five Radius values will be 25.
-Secondly at this temperature interval I also want the average of Phase values. For example if at 250K there are 5 pixels with values (2,3,4,3,3), average will be 3.
Please find attached data. I'll be very grateful for the help.
My code doesn't give me desired result.
temperature_rounded=round(Temp,0);
T=unique(temperature_rounded);
Z=NaN(size(T));
for n=1:numel(T)
L= temperature_rounded==T(n); %select all positions where the rounded temperature is a specific value
Z(n)=median(Radius(L));%calculate the median for this selection
end

Respuesta aceptada

Matt J
Matt J el 9 de Sept. de 2021
Editada: Matt J el 10 de Sept. de 2021
valid=(Phase~=0);
G=findgroups(round(Temp(valid),0));
Radius=Radius(valid);
Phase=Phase(valid);
medianRadius=splitapply(@median,Radius,G);
meanPhase=splitapply(@mean,Phase,G);
  2 comentarios
Zhou Ci
Zhou Ci el 10 de Sept. de 2021
Hi Matt,
Using above lines of code gives me error at this line;
Radius=Radius(valid);
The logical indices contain a true value outside of the array bounds.
Secondly, is this typo error:
Phase=Phase(ivalid); % ivalid
Matt J
Matt J el 10 de Sept. de 2021
Editada: Matt J el 10 de Sept. de 2021
Using above lines of code gives me error at this line;
Temp, Phase, and Radius are assumed by my solution to all be the same size.
Secondly, is this typo error:
Yes, I've fixed it.

Iniciar sesión para comentar.

Más respuestas (0)

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by