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

Legende mit Einheit anzeigen?

 

architect

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 25.12.2008, 15:04     Titel: Legende mit Einheit anzeigen?
  Antworten mit Zitat      
Hallo,

Ich habe folgendes Problem:

Ich möchte eine Legende machen bei der die Temperatur angezeigt wird aber zusätzlich hinten dran auch noch die Einheit Kelvin ( = K).

Da die Temperaturen variablen sind muss ich die Funktion num2str() hier verwenden.
Doch wie Füge ich nun noch einen string ein?

legend(T1,num2str(T1)sprintf('%s','K'),T2,num2str(T2)sprintf('%s','K');[code]
legend(T1,num2str(T1)'K',T2,num2str(T2)'K';[code]

das waren meine Versuche aber leider alle Misslungen.

Kann mir jemand sagen wie ich das hinkriege?

danke
gruß architect[/code]


architect

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 25.12.2008, 15:11     Titel:
  Antworten mit Zitat      
[code]legend(T1,num2str(T1)K,T2,num2str(T2)K;[code] [/code]

das habe ich auch schon probiert, aber dann erkennt er die Funktion num2str() nicht mehr.
Sad
 
dib0r
Forum-Guru

Forum-Guru


Beiträge: 413
Anmeldedatum: 09.05.08
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 29.12.2008, 14:24     Titel:
  Antworten mit Zitat      
Hallo,

dein Problem beschäftigt sich eher mit dem Zusammenfassen bzw. Erzeugen von Strings. Was genau soll angezeigt werden?

Nehmen wir 2 Temperaturverläufe an:
Code:
fg = figure;
plot (rand(1000,2));


Nun erzeuge ich die Legende
Code:
legend('Temperatur1','Temperatur2');
 


Nehmen wir mal an, dass du die Temperaturnamen in eine Variable geschrieben hast
Code:
T1 = 'Temperatur1';
T2 = 'Temperatur2';
 


Dann wird die Legende mit
Code:
erzeugt.

Jetzt kommt noch die Einheit 'K' dazu, mit Leerzeichen und Klammern. Eine Möglichkeit dafür:
Code:
legend(sprintf('%s (K)',T1),sprintf('%s (K)',T2));


MfG
Private Nachricht senden Benutzer-Profile anzeigen
 
heliport
Forum-Anfänger

Forum-Anfänger


Beiträge: 10
Anmeldedatum: 22.02.11
Wohnort: Berlin
Version: ---
     Beitrag Verfasst am: 02.08.2012, 17:17     Titel:
  Antworten mit Zitat      
Hallo der Beitrag ist zwar schon älter aber ich versuche es hier einmal, denn ich habe ein ähnliches Problem...habe sonst auch nichts gefunden.

Das letzte Beispiel funktioniert einwandfrei, erstmal vielen Dank dafür.
Code:
legend(sprintf('%s (K)',T1),sprintf('%s (K)',T2));


Ich habe jedoch eine Reihe von Graphen in einem Plot und alle zugehörigen
Geschwindigkeiten in einem Vektor. Beispielsweise geschw = (geschwindigkeit1 - geschwindigkeit 20). Habe meine Legende daher bisher immer so erstellt.
Code:


Wie kombiniere ich nun die Lösung von "dib0r", sprich wie ergänze ich alle Werte im Vektor um eine Einheit bzw. String und lasse sie mir dann in der Legende ausgeben ohne diese einzeln Aufzulisten bzw. durch Kommas im Befehl zu trennen?

Gruß,
Dirk
Private Nachricht senden Benutzer-Profile anzeigen
 
Goofy9020
Forum-Century

Forum-Century


Beiträge: 164
Anmeldedatum: 10.08.11
Wohnort: ---
Version: 2009a, 2010b
     Beitrag Verfasst am: 03.08.2012, 07:20     Titel:
  Antworten mit Zitat      
Hast du es mal mit folgendem Code probiert:

Code:

legend([num2str(geschw) 'K'], -1)
 
Private Nachricht senden Benutzer-Profile anzeigen
 
heliport
Forum-Anfänger

Forum-Anfänger


Beiträge: 10
Anmeldedatum: 22.02.11
Wohnort: Berlin
Version: ---
     Beitrag Verfasst am: 03.08.2012, 07:54     Titel:
  Antworten mit Zitat      
Hi,
ja das hatte ich auch schon ausprobiert und es erschien folgende Fehlermeldung:

??? Error using ==> horzcat
CAT arguments dimensions are not consistent.

Nebenbei, wenn ich meinen Vektor transponiere und somit einen 1xn Vektor habe, dann listet er die Werte in der Legende nicht untereinander sondern nebeneinander auf -was ja logisch ist-, fügt die Einheit aber nur an den letzten Wert an.
Private Nachricht senden Benutzer-Profile anzeigen
 
Goofy9020
Forum-Century

Forum-Century


Beiträge: 164
Anmeldedatum: 10.08.11
Wohnort: ---
Version: 2009a, 2010b
     Beitrag Verfasst am: 03.08.2012, 07:59     Titel:
  Antworten mit Zitat      
ach ok, verstehe "geschw" ist nicht EIN Wert sondern ein Vektor Very Happy
Jetzt wird mir einiges klarer. Dann probiere es mal so:

Code:
[num2str(geschw) repmat(' K',length(geschw),1)]
Private Nachricht senden Benutzer-Profile anzeigen
 
heliport
Forum-Anfänger

Forum-Anfänger


Beiträge: 10
Anmeldedatum: 22.02.11
Wohnort: Berlin
Version: ---
     Beitrag Verfasst am: 03.08.2012, 09:18     Titel:
  Antworten mit Zitat      
Ja super vielen Dank, das funktioniert einwandfrei. Very Happy
Bei der Fehlermeldung ist mir dann auch in den Sinn gekommen, dass ich aus der einzelnen Einheit auch einen Vektor der Länge der Geschwindigkeit formen muss um diese zu "verknüpfen", aber auf die Lösung mit
Code:
wäre ich nicht gekommen.
Also nochmals vielen Dank für deine Hilfe und dieses super Forum.

Gruß,
Dirk
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 - 2025 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.