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

Dynamische Legende

 

Matty

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 09.05.2011, 18:13     Titel: Dynamische Legende
  Antworten mit Zitat      
Hallo zusammen,
ein Problem an dem ich mir die Zähne ausbeise:

Ich habe eine Figure in der bis zu 12 Linien geplottet werden. Wieviele und welche es tatsächlich sind entscheidet sich aber erst zu Laufzeit meines m-files. Wie schaffe ich es nun in Abhängigkeit der Anzahl geplotteter Linien auch die Legende anzupassen ? Also wenn ich z.B. nur 6 Linien plotte dann soll die Legende natürlich auch nur 6 Einträge haben und natürlich auch die richtigen (nämlich Variablennamen die bei Erzeugung jedes Plots ebenfalls generiert werden)

Eine Idee???

Danke und Grüße[/b]


Micha85

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 10.05.2011, 08:07     Titel:
  Antworten mit Zitat      
Hallo,

Du erzeugst die Plots doch bestimmt in einer Schleife oder?
Schreib doch dann einfach bei jedem Schleifendurchlauf die entsprechende Variable als String in ein Array. Wenn die Schleife durchgelaufen ist, kannst Du die Legende mit dem zuvor erzeugten Array erstellen.
Falls Du unterschiedliche Plotfarben möchtest, bietet es sich auch oft an eine Art Farbvariable anzulegen:

Code:

Color = {'g', 'b', 'r', 'c', 'm'};
 


Mit Hilfe der Laufvariable einfach auf die Farben zugreifen.

Hoffe das hilft.
Grüße
Micha
 
Matty

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 10.05.2011, 20:34     Titel:
  Antworten mit Zitat      
Ja Super Danke! Mit dem Array hat es dann gekplappt. Im Nachhinein eigentlich recht einfach, aber das ist ja immer so.....Ich poste demnächst nochmal die Syntax wie ichs genau gemacht hab, falls es mal jemand interessiert....
 
Rev
Forum-Anfänger

Forum-Anfänger


Beiträge: 31
Anmeldedatum: 02.05.11
Wohnort: ---
Version: MATLAB R2010b
     Beitrag Verfasst am: 01.06.2011, 21:08     Titel:
  Antworten mit Zitat      
Hallo Micha,

könntest du mir vllt. zeigen, wie ich das in meinem Fall umsetzen kann?

Code:

k=0
   for i=1:4
        [t x y2]=sim('Rueckstellmoment2',[0 sim_t],simset('OutputVariables','y'));
        plot((y2(:,2)+pi/2)*180/pi,y2(:,1)*J,Color(i+k));
        h2=legend(num2str(phi_lp_start), 'und', num2string(phi_l_start));
        phi_lp_start=phi_lp_start-0.02;
%         phi_lp_start
%         phi_l_start
    end
k=k+4;
 

Das Prinzip, dass du geschildert hast, habe ich zwar soweit verstanden, aber irgendwie klappt das mit dem Zugreifen auf das Array bei mir nicht wirklich.
Private Nachricht senden Benutzer-Profile anzeigen
 
Rev
Forum-Anfänger

Forum-Anfänger


Beiträge: 31
Anmeldedatum: 02.05.11
Wohnort: ---
Version: MATLAB R2010b
     Beitrag Verfasst am: 06.06.2011, 18:28     Titel:
  Antworten mit Zitat      
Hat keiner von euch ne Idee, wie sich mein Problem lösen lässt?
Private Nachricht senden Benutzer-Profile anzeigen
 
Jan S
Moderator

Moderator


Beiträge: 11.057
Anmeldedatum: 08.07.10
Wohnort: Heidelberg
Version: 2009a, 2016b
     Beitrag Verfasst am: 06.06.2011, 18:35     Titel:
  Antworten mit Zitat      
Hallo Rev,
Zitat:
Hat keiner von euch ne Idee, wie sich mein Problem lösen lässt?

Ich vermute, es liegt an Deiner ersten Fragen:
Zitat:
Das Prinzip, dass du geschildert hast, habe ich zwar soweit verstanden, aber irgendwie klappt das mit dem Zugreifen auf das Array bei mir nicht wirklich.

Das ist nicht präzise genug, um einfach darafu antworten zu können. Poste doch mal, was Du genau versucht hast und was genau nicht wie gewünscht funktioniert.

Gruß, Jan
Private Nachricht senden Benutzer-Profile anzeigen
 
Micha85

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 07.06.2011, 07:56     Titel:
  Antworten mit Zitat      
Hallo Rev,

wenn die Variable Color bei Dir genauso aussieht wie in meinem vorigen Post beschrieben (nämlich ein Cell-Array), dann musst Du den Zugriff auf Color in Deinem Beispielprogramm mit geschweiften durchführen. --> Color{i+k}
War das das Problem, oder die eigentliche Legende?

Grüße
Micha
 
Rev
Forum-Anfänger

Forum-Anfänger


Beiträge: 31
Anmeldedatum: 02.05.11
Wohnort: ---
Version: MATLAB R2010b
     Beitrag Verfasst am: 07.06.2011, 10:35     Titel:
  Antworten mit Zitat      
Micha85 hat Folgendes geschrieben:
Hallo Rev,

wenn die Variable Color bei Dir genauso aussieht wie in meinem vorigen Post beschrieben (nämlich ein Cell-Array), dann musst Du den Zugriff auf Color in Deinem Beispielprogramm mit geschweiften durchführen. --> Color{i+k}
War das das Problem, oder die eigentliche Legende?

Grüße
Micha


Hallo Micha,

wusste ichs doch, dass es nur so ne Kleinigkeit war. Jetzt funktionierts.

@Jan
Mein Ziel war es 2 Parameter (phi_l und phi_lp) variieren zu lassen. Das ist der inertiale Winkel einer Last eines Kranschwenkwerks und dessen aktuelle Geschwindigkeit. Die beiden hab ich als Ausgangswerte für ne Simulation gebraucht, die mir das Rückstellmoment berechnen soll.

Gruß Chris =)

Simulation.rar
 Beschreibung:

Download
 Dateiname:  Simulation.rar
 Dateigröße:  26 KB
 Heruntergeladen:  430 mal
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.