Kaip normalizuoti histogramą MATLAB

Kaip Normalizuoti Histograma Matlab



Histogramos normalizavimas yra labai svarbus duomenų analizės ir vizualizavimo procesas. MATLAB, galingas skaičiavimo įrankis, teikia įvairių funkcijų, padedančių efektyviai normalizuoti histogramas. Šiame straipsnyje mes išnagrinėsime nuoseklų MATLAB histogramos normalizavimo procesą, kad galėtumėte gauti įžvalgų apie savo duomenis ir atlikti prasmingus palyginimus.

Kaip normalizuoti histogramą MATLAB?

Normalizuota histograma yra duomenų reikšmių dažnių grafikas, kuriame dažniai normalizuoti taip, kad jų suma būtų 1. Tai reiškia, kad normalizuotą histogramą galima naudoti skirtingų duomenų rinkinių pasiskirstymui palyginti, net jei duomenų rinkiniai yra skirtingo dydžio. , čia yra keletas normalizuotos histogramos nubrėžimo veiksmų:







1 veiksmas: įkelkite duomenis ir sukurkite histogramą



Norėdami pradėti, turite įkelti savo duomenis į MATLAB ir sukurti histogramą naudodami histogramos () funkciją. Ši funkcija apskaičiuoja šiukšliadėžių skaičių ir jų vietas pagal jūsų duomenis. Štai kodo pavyzdys:



duomenys = % Jūsų duomenys čia % ;
histograma ( duomenis ) ;





2 veiksmas: gaukite histogramos duomenis

Sukūrę histogramą, naudodami funkciją histcounts () galite gauti dėžių skaičių ir dėžės kraštus. Ši funkcija grąžina skaičių kiekvienoje dėžėje ir atitinkamus kraštus. Išsaugokite šias reikšmes atskiruose kintamuosiuose tolesniam apdorojimui:



[ skaičiuoja, kraštai ] = histcounts ( duomenis ) ;

3 veiksmas: apskaičiuokite normalizuotas reikšmes

Norint normalizuoti histogramą, kiekvienos dėžės skaičių reikia padalyti iš bendro duomenų taškų skaičiaus. Taip užtikrinama, kad histogramoje būtų rodomas santykinis dažnio pasiskirstymas, o ne absoliutus skaičius. Štai kaip galite apskaičiuoti normalizuotas reikšmes:

totalDataPoints = suma ( skaičiuoja ) ;
normalizedValues ​​= skaičiai / totalDataPoints;

4 veiksmas: sureguliuokite dėžės kraštus

Kai kuriais atvejais gali prireikti pakoreguoti dėžės kraštus, kad normalizuota histograma būtų tinkamai išlygiuota. Norėdami tai padaryti, galite apskaičiuoti vidurio taškus tarp gretimų dėžės kraštų ir naudoti juos kaip naujus dėtuvės centrus. Štai kodo pavyzdys:

binCenters = ( briaunos ( 1 :galas- 1 ) + kraštai ( 2 :galas ) ) / 2 ;

5 veiksmas: nubraižykite normalizuotą histogramą

Dabar, kai turite normalizuotas reikšmes ir pakoreguotus šiukšliadėžių centrus, galite nubraižyti normalizuotą histogramą naudodami bar () funkciją. Nustatykite dėžės centrus kaip x ašies reikšmes, o normalizuotas reikšmes kaip atitinkamas y ašies reikšmes:

baras ( binCenters, normalizedValues ) ;

Čia yra visas MATLAB kodas, kuris normalizuoja histogramą:

% Žingsnis 1 : sukurkite histogramą
duomenys = [ 10 , dvidešimt , 30 , 40 , penkiasdešimt , 10 , dvidešimt , 30 , 10 , dvidešimt ] ;
histograma ( duomenis ) ;

% Žingsnis 2 : gaukite histogramos duomenis
[ skaičiuoja, kraštai ] = histcounts ( duomenis ) ;

% Žingsnis 3 : Gaukite normalizuotas reikšmes
totalDataPoints = suma ( skaičiuoja ) ;
normalizedValues ​​= skaičiai / totalDataPoints;

% Žingsnis 4 : modifikuokite dėžes
binCenters = ( briaunos ( 1 :galas- 1 ) + kraštai ( 2 :galas ) ) / 2 ;

% Žingsnis 5 : Nubraižykite normalizuotą histogramą
baras ( binCenters, normalizedValues ) ;

% Žingsnis 6 : tinkinkite sklypą
xlabel ( 'Bins' ) ;
etiketė ( „Normalizuotas dažnis“ ) ;
titulą ( „Normalizuota histograma“ ) ;
tinklelis;

Pridėjau duomenų rinkinio duomenų pavyzdį ir panaudojau juos kurdamas histogramą. Šis kodas sukurs histogramą, apskaičiuos normalizuotas reikšmes, sureguliuos dėžės kraštus ir nubraižys normalizuotą histogramą.

Pastaba: Kode daroma prielaida, kad turite įdiegtą MATLAB vaizdo apdorojimo įrankių rinkinį, kuriame yra histogramos ir histcounts funkcijos.

Išvada

Histogramos normalizavimas MATLAB yra nesudėtingas procesas, leidžiantis gauti įžvalgų apie santykinį duomenų pasiskirstymą. Padalinkite kiekvienos dėžės skaičių iš bendro duomenų taškų skaičiaus, kad normalizuotumėte histogramą.