How to normalize a matrix such that the maximum value is 1?
20 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
hithere
am 31 Dez. 2014
Kommentiert: Thamires Lima
am 5 Okt. 2017
I have 2 matrices. I plot them against a common x-axis
.
Now I like to normalize both signal such that the largest peak of each signal is 1 so that I can compare the signals.
How should I go about doing it?
0 Kommentare
Akzeptierte Antwort
Azzi Abdelmalek
am 31 Dez. 2014
If you have Image Processing Toolbox
new_y1=mat2gray(y1);
new_y2=mat2gray(y2);
% new_y1 and new_y2 have both the same minimum equal to 0 and maximum equal to 1
5 Kommentare
Azzi Abdelmalek
am 1 Jan. 2015
out=cell2mat(arrayfun(@(x) mat2gray(A(x,:)),(1:size(A,1))','un',0))
Thamires Lima
am 5 Okt. 2017
And, If, do I have an errorbar (y2) associated to y1 how should I write this new errrorbar (new_y2), after normalizing y1 to new_y1?
Weitere Antworten (2)
Image Analyst
am 31 Dez. 2014
What about the min? Do you want that to be mapped to 0, or whatever it ends up being? If it's whatever, then (untested):
y1Normalized = y1 / max(y1);
p1 = subplot(1, 2, 1);
plot(x1, y1Normalized );
% Find what it picked as the nice ranges for the y axis:
yAxis1 = ylim();
y2Normalized = y2 / max(y2);
p2 = subplot(1, 2, 2);
plot(x2, y2Normalized);
% Find what it picked as the nice ranges for the y axis:
yAxis2 = ylim();
% Figure out what the y axis range needs to be to accomodate both plots.
yMin = min([yAxis1, yAxis2]);
yMax = max([yAxis1, yAxis2]);
% Set a common y axis range for both of them.
ylim(p1, [yMin, yMax]);
ylim(p2, [yMin, yMax]);
0 Kommentare
Siehe auch
Kategorien
Mehr zu Read, Write, and Modify Image finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!