WICHTIG: Der Betrieb von goMatlab.de wird privat finanziert fortgesetzt. - Mehr Infos...

Mein MATLAB Forum - goMatlab.de

Mein MATLAB Forum

 
Gast > Registrieren       Autologin?   

Partner:




Forum
      Option
[Erweitert]
  • Diese Seite per Mail weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

Spectrogramm erstellen bzw. 3D Plot

 

Xenontwo
Forum-Anfänger

Forum-Anfänger


Beiträge: 11
Anmeldedatum: 05.11.07
Wohnort: Böblingen
Version: ---
     Beitrag Verfasst am: 03.12.2007, 09:45     Titel: Spectrogramm erstellen bzw. 3D Plot
  Antworten mit Zitat      
Hallo!

Brauche unbedingt Hilfe! Ich möchte ein Spectrogramm aus 3 Vektoren erzeugen. Dabei soll der Vektor x die x-achse sein, y die y-achse und z die Punkte im Plot. Dazu brauche ich dann noch einen Colorbar, der ebenfalls von z abhängig ist. D.h. je größer z umso heller die Farbe. Ich habs schon mit plot 3 und surf versucht, bekomme aber nur eine 3D-Darstellung, nicht 2D mit Colorbar.
Es soll mal so wie im Anhang aussehen....

Hoffe Ihr könnt mir helfen, bin langsam der Verzweifelung nahe!
Vielen Dank schon mal!

spec.JPG
 Beschreibung:

Download
 Dateiname:  spec.JPG
 Dateigröße:  58.05 KB
 Heruntergeladen:  1557 mal
Private Nachricht senden Benutzer-Profile anzeigen


jochma
Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 79
Anmeldedatum: 25.10.07
Wohnort: Oberbayern
Version: Version 7.0.0 (R14)
     Beitrag Verfasst am: 03.12.2007, 15:44     Titel:
  Antworten mit Zitat      
Servus!

also wenn ich das richtig verstehe besitzt du zwei Vektoren x und y, die dir die Koordinaten in x- und y-Richtung darstellen. Insofern besitzt die Länge deines Vektors z die Länge x*y, oder?

Dann würds vom Ansatz her zum Beispiel so gehen:

Code:

% Definition der x- und y-Achse
x=[1 2 3 4 5 6 7 8 9 10];
y=[1 2 3 4 5 6 7 8 9 10];
% zugehörige Plotwerte
z=[5 2 3 4 3 3 7 2 9 10 4 8 3 6 7 5 7 8 9 6 3 2 3 4 8 6 7 5 9 3 6 2 3 4 2 2 7 8 1 8 1 2 2 4 5 6 7 4 8 1 3 7 3 6 5 6 7 8 9 5 6 2 3 7 4 3 7 3 3 6 7 3 7 4 7 6 7 8 2 5 7 3 6 4 5 3 7 8 10 3 1 5 3 4 5 6 3 2 3 1];
 


Zur Darstellung eignet sich der Befehl 'imagesc'.
Hierfür muss zunächst noch der Vektor z noch zu einer Matrix umgewandelt werden, nach Länge der x-Achse m und Länge der y-Achse n:

Code:

% Umwandlung Vektor in Matrix: 10=Länge x-Achse, 10= Länge y-Achse
zm=reshape(z,10,10);
 


Der Plotaufruf kann so erfolgen:

Code:


Voreingestellt ist nun die default-colormap 'jet'.
Wenn dagegen eine andere colormap verwendet werden soll
--> siehe 'colormapeditor' oder 'help colormap'.

Auch eine eigene Colormap lässt sich erstellen:
Schwarz-Weiß z.B.:

Code:

% Zeile: Farbe; Spalte: zugehörige RGB-Werte
cm=[0 0 0; 1 1 1];
 


und mit dem Aufruf

Code:


verwendet werden.
Für Zwischenfarben müssen noch weitere Zeilen in 'cm' zwischen Schwarz (0,0,0) und Weiß (1,1,1) eingefügt werden.
Ob hier Matlab aber bereits etwas vorgefertigtes hat (was wünschenswert wäre) weiß ich nicht...

hoffe dieses Beispiel hilft dir weiter!?

Gruß
jochma
Private Nachricht senden Benutzer-Profile anzeigen
 
Bijick
Ehrenmitglied

Ehrenmitglied



Beiträge: 914
Anmeldedatum: 18.06.07
Wohnort: Nürnberg
Version: R2006b, R2008b
     Beitrag Verfasst am: 03.12.2007, 16:34     Titel:
  Antworten mit Zitat      
Hallo Xenontwo,

ich würde dir noch die colormap "hot" empfehlen.

Code:


Herzliche Grüße
Bijick
_________________

>> why
Private Nachricht senden Benutzer-Profile anzeigen E-Mail senden
 
Xenontwo
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 11
Anmeldedatum: 05.11.07
Wohnort: Böblingen
Version: ---
     Beitrag Verfasst am: 05.12.2007, 09:26     Titel:
  Antworten mit Zitat      
Wow, super! Vielen Dank!

Das ist genau dass, was ich gesucht hab. Und das auch noch alles ohne surf oder spectgram... so einfach kanns gehen!

Vielen Dank, hätte schon fast meine Maus abgebissen!

CU

Stefan
Private Nachricht senden Benutzer-Profile anzeigen
 
Neues Thema eröffnen Neue Antwort erstellen



Einstellungen und Berechtigungen
Beiträge der letzten Zeit anzeigen:

Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum posten
Du kannst Dateien in diesem Forum herunterladen
.





 Impressum  | Nutzungsbedingungen  | Datenschutz | FAQ | goMatlab RSS Button RSS

Hosted by:


Copyright © 2007 - 2024 goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks

MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.