Kako normalizirati histogram v MATLAB

Kako Normalizirati Histogram V Matlab



Normalizacija histograma je ključen proces pri analizi in vizualizaciji podatkov. MATLAB, zmogljivo računalniško orodje, ponuja različne funkcije, ki vam pomagajo učinkovito normalizirati histograme. V tem članku bomo raziskali korak za korakom postopek normalizacije histograma v MATLAB, kar vam bo omogočilo, da pridobite vpogled v svoje podatke in opravite smiselne primerjave.

Kako normalizirati histogram v MATLAB?

Normalizirani histogram je graf frekvenc podatkovnih vrednosti, kjer so bile frekvence normalizirane tako, da je njihova vsota enaka 1. To pomeni, da je normalizirani histogram mogoče uporabiti za primerjavo porazdelitev različnih naborov podatkov, tudi če so nabori podatkov različnih velikosti. , tukaj je nekaj korakov za izris normaliziranega histograma:







1. korak: Naložite podatke in ustvarite histogram



Za začetek morate svoje podatke naložiti v MATLAB in s funkcijo histogram() ustvariti histogram. Ta funkcija na podlagi vaših podatkov izračuna število posod in lokacijo posod. Tukaj je primer kode:



podatki = % Vaši podatki tukaj % ;
histogram ( podatke ) ;





2. korak: Pridobite podatke histograma

Po izdelavi histograma lahko s funkcijo histcounts() pridobite število binov in robove binov. Ta funkcija vrne štetja v vsakem košu in ustrezne robove. Shranite te vrednosti v ločene spremenljivke za nadaljnjo obdelavo:



[ counts, robovi ] = histcounts ( podatke ) ;

3. korak: Izračunajte normalizirane vrednosti

Za normalizacijo histograma je treba število vsakega bina deliti s skupnim številom podatkovnih točk. To zagotavlja, da histogram predstavlja relativno frekvenčno porazdelitev in ne absolutnega števila. Takole lahko izračunate normalizirane vrednosti:

totalDataPoints = vsota ( šteje ) ;
normalizedValues ​​= šteje / totalDataPoints;

4. korak: Prilagodite robove koša

V nekaterih primerih bo morda treba prilagoditi robove pladnja, da pravilno poravnate normalizirani histogram. Če želite to narediti, lahko izračunate sredine med sosednjimi robovi pladnja in jih uporabite kot nova središča pladnja. Tukaj je primer kode:

binCentri = ( robovi ( 1 :konec- 1 ) + robovi ( 2 :konec ) ) / 2 ;

5. korak: Narišite normalizirani histogram

Zdaj, ko imate normalizirane vrednosti in prilagojena središča binov, lahko s funkcijo bar() narišete normalizirani histogram. Nastavite središča pladnja kot vrednosti osi x in normalizirane vrednosti kot ustrezne vrednosti osi y:

bar ( binCenters, normalizedValues ) ;

Tukaj je celotna koda MATLAB, ki normalizira histogram:

% korak 1 : ustvarite histogram
podatki = [ 10 , dvajset , 30 , 40 , petdeset , 10 , dvajset , 30 , 10 , dvajset ] ;
histogram ( podatke ) ;

% korak 2 : Pridobite podatke histograma
[ counts, robovi ] = histcounts ( podatke ) ;

% korak 3 : Pridobite normalizirane vrednosti
totalDataPoints = vsota ( šteje ) ;
normalizedValues ​​= šteje / totalDataPoints;

% korak 4 : Spremenite koše
binCentri = ( robovi ( 1 :konec- 1 ) + robovi ( 2 :konec ) ) / 2 ;

% korak 5 : Narišite normalizirani histogram
bar ( binCenters, normalizedValues ) ;

% korak 6 : Prilagodite risbo
xlabel ( 'Koši' ) ;
ylabel ( 'Normalizirana frekvenca' ) ;
naslov ( 'Normalizirani histogram' ) ;
mreža vklopljena;

Dodal sem primer podatkov nabora podatkov in jih uporabil za ustvarjanje histograma. Ta koda bo ustvarila histogram, izračunala normalizirane vrednosti, prilagodila robove koša in izrisala normalizirani histogram.

Opomba: Koda predvideva, da imate nameščen MATLAB Image Processing Toolbox, ki vključuje funkciji histogram in histcounts.

Zaključek

Normaliziranje histograma v MATLAB-u je preprost postopek, ki vam omogoča vpogled v relativno frekvenčno porazdelitev vaših podatkov. Število vsakega polja delite s skupnim številom podatkovnih točk, da normalizirate histogram.