Register for your free account! | Forgot your password?

You last visited: Today at 19:02

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



Code Matlab

Discussion on Code Matlab within the General Coding forum part of the Coders Den category.

Reply
 
Old   #1
 
Navox1's Avatar
 
elite*gold: 1
Join Date: Apr 2012
Posts: 990
Received Thanks: 82
Code Matlab

Grüße,

Hoffe jemand kann mir hier schnell bei dem "einfachen" Matlab Code helfen.


function my_hist(x)
figure
centers=(-127.5:127.5)/128;
counts=hist(x,centers);
counts=counts/length(x)*256/2;
bar(centers,counts);
xlabel('x')
ylabel('h(x)')

Was ich verstanden habe:
Hier wird die Fkt. my_hist(x) definiert. xlabel ylabel beschriftet die x bzw y- achse.
Aber der Rest ist mir iwie schleierhaft.
Mit centers wird eine Zahlenfolge von (-127.5 bis 127.5 in einer Schritten)/128 definiert.
counts definiert jetzt ein Histogram mit der Eingabe x auf der x-Achse und centers auf der y-achse?
was bringt jetzt das nächste counts?
Was bringt das bar? Ein Balkendiagram?
Bekomme ich jetzt ein Balkendiagram+Histogram raus?


Hoffe jemand kann mir eben helfen :/

Grüße

Navox
Navox1 is offline  
Old 01/05/2017, 00:27   #2
 
Shadow992's Avatar
 
elite*gold: 77
Join Date: May 2008
Posts: 5,430
Received Thanks: 5,878
Quote:
Originally Posted by Navox1 View Post
Grüße,

Hoffe jemand kann mir hier schnell bei dem "einfachen" Matlab Code helfen.


function my_hist(x)
figure
centers=(-127.5:127.5)/128;
counts=hist(x,centers);
counts=counts/length(x)*256/2;
bar(centers,counts);
xlabel('x')
ylabel('h(x)')

Was ich verstanden habe:
Hier wird die Fkt. my_hist(x) definiert. xlabel ylabel beschriftet die x bzw y- achse.
Aber der Rest ist mir iwie schleierhaft.
Mit centers wird eine Zahlenfolge von (-127.5 bis 127.5 in einer Schritten)/128 definiert.
counts definiert jetzt ein Histogram mit der Eingabe x auf der x-Achse und centers auf der y-achse?
was bringt jetzt das nächste counts?
Was bringt das bar? Ein Balkendiagram?
Bekomme ich jetzt ein Balkendiagram+Histogram raus?


Hoffe jemand kann mir eben helfen :/

Grüße

Navox
Zuerst einmal musst du klar zwischen Histogramm und Säulendiagramm unterscheiden. Ein Histogramm hat erst einmal wenig mit einem Diagramm zu tun. Es ist bloß eine Art von "Zusammenfassen/Speichern der Werte". Ein Histogramm hat also genau so viel mit Diagrammen zu tun wie eine SQL-Datenbank mit HTML-Tabellen zu tun hat: Beides ist einfach und vollautomatisiert in einander umwandelbar, aber beide Sachen können gesondert und ohne die andere Seite existieren. Es ist also wichtig, dass du dir klar machst was genau ein Histogramm ist.

Dazu kannst du zum Beispiel das näher anschauen:

(nur das Kapitel "Histogramm" alleine reicht völlig aus und ist auch ohne Wissen außenrum verständlich).

Wenn dir klar ist was ein Histogramm ist, dann kannst du dir noch einmal deinen Code ansehen und dann siehst du auch, dass er folgendes macht:

PHP Code:
// Define function 
function my_hist(x
figure
// get values ranging from -0.99 to + 0.99 with step 1/128=0.0078125
centers=(-127.5:127.5)/128;
// create histogram for x and use the values in centers as possible bins (--> assign the values in x to the nearest bin in centers)
counts=hist(x,centers);
// scale all values up by 128 --> Values ranging from -0.99 to + 0.99 --> divide by count of elements in x (I do not know which "Meta-Goal" this fulfills, it seems kind of stupid to me... However....)
counts=counts/length(x)*256/2;
// Create a "Säulen"-diagram with values "centers" in x direction and values "counts" in y direction
bar(centers,counts);
// Give the diagram x and y direction some names
xlabel('x')
ylabel('h(x)'
Edit:
Btw. Ein Balkendiagramm ist laut Definition auch noch einmal etwas anderes als ein Säulendiagramm, aber das nur am Rande.
Shadow992 is offline  
Thanks
1 User
Old 01/05/2017, 11:55   #3
 
Navox1's Avatar
 
elite*gold: 1
Join Date: Apr 2012
Posts: 990
Received Thanks: 82
Kurz zum "Sinn" des Codes
Ich habe eine Audiodatei welche ich mit "x = audioread('english5.wav')" die Abtastwerte im Vektor x speichere.
Die Aufgabenstellung:
Lesen und verstehen Sie den Code der Funktion my_hist(x). Welche Art der
Normierung wird verwendet? Erzeugen Sie anschließend ein Histogramm aus den
Abtastwerten der Sprachaufnahme.


Was mich jetzt verwirrt ( sorry schonmal ^^):

figure Was bedeutet dieser Befehl?
counts=hist(x,centers); Erstellt dieser Befehl die Dicke der Balken?



Schonmal dickes Danke an dir
Navox1 is offline  
Old 01/05/2017, 12:48   #4
 
Shadow992's Avatar
 
elite*gold: 77
Join Date: May 2008
Posts: 5,430
Received Thanks: 5,878
Quote:
Originally Posted by Navox1 View Post
Kurz zum "Sinn" des Codes
Ich habe eine Audiodatei welche ich mit "x = audioread('english5.wav')" die Abtastwerte im Vektor x speichere.
Die Aufgabenstellung:
Lesen und verstehen Sie den Code der Funktion my_hist(x). Welche Art der
Normierung wird verwendet? Erzeugen Sie anschließend ein Histogramm aus den
Abtastwerten der Sprachaufnahme.


Was mich jetzt verwirrt ( sorry schonmal ^^):

figure Was bedeutet dieser Befehl?
counts=hist(x,centers); Erstellt dieser Befehl die Dicke der Balken?



Schonmal dickes Danke an dir
Na komm schon googlen ist nicht verboten:

Und die Zeile mit dem "counts = hist(...)" erstellt genau ein Histogram und speichert es in "counts". Was genau du da mit der " Dicke der Balken" meinst versteh ich nicht, aber ich vermute, dass dir entweder immer noch nicht klar ist was ein Histogramm ist oder aber du dir den Link nicht angeschaut hast.

Die Normierung ist dann ganz klar das "Durch length(x) teilen". Ich weiß gerade nicht auswendig was für eine Normierung das ist, aber google hilft dir dabei bestimmt

Edit:
Würde sagen es ist eine p-Norm mit p=0, ob dein Lehrender/Aufgabensteller das hören will ist aber wieder was anderes (eventuell hab ich length auch falsch in Erinnerung was der Befehl macht? Um googlen wirste also so oder so net drum rumkommen).
Shadow992 is offline  
Thanks
1 User
Old 01/05/2017, 12:53   #5
 
Navox1's Avatar
 
elite*gold: 1
Join Date: Apr 2012
Posts: 990
Received Thanks: 82
Okay habs soweit verstanden, danke nochmal
Navox1 is offline  
Reply


Similar Threads Similar Threads
Suche jemand der sich mit matlab und signalfiltern auskennt
02/23/2015 - Coders Trading - 1 Replies
Hi, ^topic. Auftrag beinhaltet einfache grundlagen von matlab (filtern eines ganz einfachen tonsignales mittels matlab). Bin bereit dafür zu zahlen. Mehr infos per PN.
matlab expert
08/31/2013 - General Coding - 0 Replies
are there any matlab expert around that can help me?
[Problem] Matlab
03/27/2010 - General Coding - 0 Replies
Hi guys, Anyone here who is good with Matlab and very good in maths, cuz I could use some help here :D The problem: Make a MATLAB M-file called 'ex3' which calculates for a random n the least squares approach from f(x)= exp(x) on . The command 'ex3(n)' gives as output the grafic drawing of f(x) on and in one image also the grafic drawing of the n-th least squares approach. My english is not good enough to express myself in math-language, but I hope you guys understand it :) I could...



All times are GMT +1. The time now is 19:02.


Powered by vBulletin®
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2025 elitepvpers All Rights Reserved.