Hoe een histogram in MATLAB te normaliseren

Hoe Een Histogram In Matlab Te Normaliseren



Het normaliseren van een histogram is een cruciaal proces bij data-analyse en visualisatie. MATLAB, een krachtige rekentool, biedt verschillende functies om u te helpen histogrammen effectief te normaliseren. In dit artikel zullen we het stapsgewijze proces verkennen van het normaliseren van een histogram in MATLAB, zodat u inzicht krijgt in uw gegevens en zinvolle vergelijkingen kunt maken.

Hoe normaliseer je een histogram in MATLAB?

Een genormaliseerd histogram is een grafiek van de frequenties van datawaarden, waarbij de frequenties zijn genormaliseerd zodat ze optellen tot 1. Dit betekent dat het genormaliseerde histogram kan worden gebruikt om de distributies van verschillende datasets te vergelijken, zelfs als de datasets verschillende groottes hebben. , volgen hier enkele stappen om een ​​genormaliseerd histogram te plotten:







Stap 1: laad gegevens en maak een histogram



Om te beginnen moet u uw gegevens in MATLAB laden en een histogram maken met behulp van de functie histogram(). Deze functie berekent de baktellingen en baklocaties op basis van uw gegevens. Hier is een voorbeeldcode:



gegevens = % Uw gegevens hier % ;
histogram ( gegevens ) ;





Stap 2: haal de histogramgegevens op

Nadat u het histogram hebt gemaakt, kunt u de bin-tellingen en bin-randen verkrijgen met behulp van de functie histcounts(). Deze functie retourneert de tellingen in elke bin en de bijbehorende randen. Sla deze waarden op in afzonderlijke variabelen voor verdere verwerking:



[ telt, randen ] = histcounts ( gegevens ) ;

Stap 3: Bereken de genormaliseerde waarden

Om het histogram te normaliseren, is het noodzakelijk om de telling van elke bin te delen door het totale aantal gegevenspunten. Dit zorgt ervoor dat het histogram de relatieve frequentieverdeling weergeeft in plaats van het absolute aantal. Zo kunt u de genormaliseerde waarden berekenen:

totaleDataPunten = som ( telt ) ;
genormaliseerdeWaarden = tellingen / totaalDataPunten;

Stap 4: pas de bakranden aan

In sommige gevallen kan het nodig zijn om de bakranden aan te passen om het genormaliseerde histogram goed uit te lijnen. Om dit te doen, kunt u de middelpunten tussen aangrenzende bin-randen berekenen en deze gebruiken als de nieuwe bin-centers. Hier is een voorbeeldcode:

binCenters = ( randen ( 1 :einde- 1 ) + randen ( 2 :einde ) ) / 2 ;

Stap 5: Plot het genormaliseerde histogram

Nu u de genormaliseerde waarden en aangepaste bincentra hebt, kunt u het genormaliseerde histogram plotten met behulp van de functie bar(). Stel de bakcentra in als de x-aswaarden en de genormaliseerde waarden als de overeenkomstige y-aswaarden:

bar ( binCenters, genormaliseerde waarden ) ;

Hier is de volledige MATLAB-code die een histogram normaliseert:

% Stap 1 : Maak het histogram
gegevens = [ 10 , twintig , 30 , 40 , vijftig , 10 , twintig , 30 , 10 , twintig ] ;
histogram ( gegevens ) ;

% Stap 2 : Verkrijg de histogramgegevens
[ telt, randen ] = histcounts ( gegevens ) ;

% Stap 3 : Verkrijg de genormaliseerde waarden
totaleDataPunten = som ( telt ) ;
genormaliseerdeWaarden = tellingen / totaalDataPunten;

% Stap 4 : Pas de bakken aan
binCenters = ( randen ( 1 :einde- 1 ) + randen ( 2 :einde ) ) / 2 ;

% Stap 5 : Teken het genormaliseerde histogram
bar ( binCenters, genormaliseerde waarden ) ;

% Stap 6 : pas de plot aan
xlabel ( 'Bakken' ) ;
label ( 'Genormaliseerde frequentie' ) ;
titel ( 'Genormaliseerd histogram' ) ;
rooster aan;

Ik heb een voorbeeld dataset data toegevoegd en deze gebruikt om een ​​histogram te maken. Deze code maakt een histogram, berekent de genormaliseerde waarden, past de bakranden aan en plot het genormaliseerde histogram.

Opmerking: De code gaat ervan uit dat u de MATLAB Image Processing Toolbox hebt geïnstalleerd, die de histogram- en histcounts-functies bevat.

Conclusie

Het normaliseren van een histogram in MATLAB is een eenvoudig proces waarmee u inzicht krijgt in de relatieve frequentieverdeling van uw gegevens. Deel het aantal van elke bak door het totale aantal gegevenspunten om het histogram te normaliseren.