Normalizing a set of data to zero

6 ビュー (過去 30 日間)
Hanna Armstrong 2022 年 11 月 29 日
コメント済み: Hanna Armstrong 2022 年 11 月 29 日
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 件のコメント表示非表示 2 件の古いコメント
Hanna Armstrong 2022 年 11 月 29 日
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.

サインインしてコメントする。

回答 (1 件)

John D'Errico 2022 年 11 月 29 日

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 件のコメント表示非表示 なし
Hanna Armstrong 2022 年 11 月 29 日
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?

サインインしてコメントする。

カテゴリ

Find more on Annotations in Help Center and File Exchange

R2022b

Community Treasure Hunt

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

Start Hunting!

Translated by