Normalizing a set of data to zero

17 visualizzazioni (ultimi 30 giorni)
Hanna Armstrong
Hanna Armstrong il 29 Nov 2022
Commentato: Hanna Armstrong il 29 Nov 2022
Data Attempting to clear:
Code:
%% Normalizing Step (2):IPS Direct Relationship
b_min = ( 1 ./ (quantile(peaks_b,1)))*1000;
IPS_norm_b = (1 ./ IPS_clean_b) *1000 ;
IPS_b = (IPS_norm_b - b_min) ;
IPS_data = IPS_b;
figure
plot(IPS_b)
title("IPS_normal_b")
%% Normalizing Step (3): Subtracting min values (step 2 repeat but in direct form)
x = 1: (length(IPS_b));
max2 = max(IPS_b)
max_minlimit3 = max2*.75;
[ TF3, P] = islocalmax(IPS_b, 'MinProminence', max_minlimit3);
% [ TF3, P] = islocalmin(IPS_data,'FlatSelection', 'all');
figure
plot(x,IPS_b,x(TF3),IPS_b(TF3),'r*')
title("IPS_b1")
IPS_min = mean(P(TF3))
IPS_datanorm = (IPS_b - IPS_min);
figure
plot(IPS_datanorm)
title('normal (3)')
Data After Code:
Hello,
I hope you are doing well. I am reaching out to the community to see if anyone can offer guidence with normalizing by data to zero. Essentionally I'm trying to get the vallies of my curves to bottom our at zero but this is not happening. If you have the time please help me out.
  3 Commenti
Walter Roberson
Walter Roberson il 29 Nov 2022
It sounds like they would like to subtract min() of the curves so that the shifted minimum becomes zero.
Hanna Armstrong
Hanna Armstrong il 29 Nov 2022
Hi Walter,
Thank you for providing this- I have changed it so I am subtracting the mean and not the max but now the minimum values are dipping to be bellow 0.

Accedi per commentare.

Risposte (1)

John D'Errico
John D'Errico il 29 Nov 2022
Modificato: John D'Errico il 29 Nov 2022
Do you want ALL of those minima to be zero? If so, then you will need to do something especially artful. If all you want is the global min to be zero, then just subtract the min of y.
yNorm = y - min(y);
But my guess is you are looking to somehow shift each local min to be zero. That will be difficult, because it will introduce discontinuities in the curve unless you are particularly careful about how you do it. The point is, your curve would need to be shifted by different amounts, based on how far off it is at that min.
I will not get into how you might do the latter, unless you really wanted some sort of solution there.
  1 Commento
Hanna Armstrong
Hanna Armstrong il 29 Nov 2022
Hi John,
Thank you for answering my question. Unfortunatley, you are right that I am trying to adjust it so the global min is zero. I don't know if you can tell but with my current code I am subtracting everything by the third quartile valie. This is making some of the points zero but not all. I'm not sure if I would have to go to the extend of adjusting everypoint but I do need to find a way to identify the vally's of the curves and then maybe setting it equal to zero since most of the bumps in the valley is noise from my sensor.
Do you have any ideas to how I could possible do this... maybe I could derive the values?

Accedi per commentare.

Prodotti


Release

R2022b

Community Treasure Hunt

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

Start Hunting!

Translated by