Hvordan normalisere et histogram i MATLAB

Hvordan Normalisere Et Histogram I Matlab



Normalisering av et histogram er en avgjørende prosess i dataanalyse og visualisering. MATLAB, et kraftig beregningsverktøy, tilbyr ulike funksjoner for å hjelpe deg med å normalisere histogrammer effektivt. I denne artikkelen vil vi utforske trinn-for-trinn-prosessen med å normalisere et histogram i MATLAB, slik at du kan få innsikt i dataene dine og gjøre meningsfulle sammenligninger.

Hvordan normalisere et histogram i MATLAB?

Et normalisert histogram er et plott av frekvensene til dataverdier, hvor frekvensene er blitt normalisert slik at de summeres til 1. Dette betyr at det normaliserte histogrammet kan brukes til å sammenligne fordelingen av ulike datasett, selv om datasettene har ulik størrelse , her er noen trinn for å plotte et normalisert histogram:







Trinn 1: Last inn data og lag histogram



For å begynne, må du laste inn dataene dine i MATLAB og lage et histogram ved å bruke histogram()-funksjonen. Denne funksjonen beregner søppeltall og lagerplasseringer basert på dataene dine. Her er en eksempelkode:



data = % Dine data her % ;
histogram ( data ) ;





Trinn 2: Hent histogramdataene

Etter å ha opprettet histogrammet, kan du få hylletall og bokskanter ved å bruke histcounts()-funksjonen. Denne funksjonen returnerer tellingene i hver beholder og de tilsvarende kantene. Lagre disse verdiene i separate variabler for videre behandling:



[ teller, kanter ] = histtellinger ( data ) ;

Trinn 3: Beregn de normaliserte verdiene

For å normalisere histogrammet, er det nødvendig å dele tellingen for hver binge med det totale antallet datapunkter. Dette sikrer at histogrammet representerer den relative frekvensfordelingen i stedet for det absolutte antallet. Slik kan du beregne de normaliserte verdiene:

totalDataPoints = sum ( teller ) ;
normaliserte verdier = teller / totalDataPoints;

Trinn 4: Juster bøttekantene

I noen tilfeller kan det være nødvendig å justere bøttekantene for å justere det normaliserte histogrammet riktig. For å gjøre dette kan du beregne midtpunktene mellom tilstøtende søppelkanter og bruke dem som nye søppelsentre. Her er en eksempelkode:

binCenters = ( kanter ( 1 :slutt- 1 ) + kanter ( 2 :slutt ) ) / 2 ;

Trinn 5: Plott det normaliserte histogrammet

Nå som du har de normaliserte verdiene og justerte bin-sentrene, kan du plotte det normaliserte histogrammet ved å bruke bar()-funksjonen. Sett bin-sentrene som x-akseverdiene og de normaliserte verdiene som de tilsvarende y-akseverdiene:

bar ( binCenters, normaliserte verdier ) ;

Her er den komplette MATLAB-koden som normaliserer et histogram:

% Steg 1 : Lag histogrammet
data = [ 10 , tjue , 30 , 40 , femti , 10 , tjue , 30 , 10 , tjue ] ;
histogram ( data ) ;

% Steg 2 : Få histogramdataene
[ teller, kanter ] = histtellinger ( data ) ;

% Steg 3 : Få de normaliserte verdiene
totalDataPoints = sum ( teller ) ;
normaliserte verdier = teller / totalDataPoints;

% Steg 4 : Endre beholderne
binCenters = ( kanter ( 1 :slutt- 1 ) + kanter ( 2 :slutt ) ) / 2 ;

% Steg 5 : Plott det normaliserte histogrammet
bar ( binCenters, normaliserte verdier ) ;

% Steg 6 : Tilpass plottet
xlabel ( 'Bins' ) ;
ylabel ( 'Normalisert frekvens' ) ;
tittel ( 'Normalisert histogram' ) ;
rutenett på;

Jeg har lagt til et eksempeldatasett og brukt det til å lage et histogram. Denne koden vil lage et histogram, beregne de normaliserte verdiene, justere bingekantene og plotte det normaliserte histogrammet.

Merk: Koden forutsetter at du har MATLAB Image Processing Toolbox installert, som inkluderer histogram- og histcounts-funksjonene.

Konklusjon

Normalisering av et histogram i MATLAB er en enkel prosess som lar deg få innsikt i den relative frekvensfordelingen av dataene dine. Del antallet av hver boks med det totale antallet datapunkter for å normalisere histogrammet.