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

Das Problem bei x/y Label von real-time Plot

 

DAFeinfach
Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 67
Anmeldedatum: 07.06.17
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 11.07.2017, 15:20     Titel: Das Problem bei x/y Label von real-time Plot
  Antworten mit Zitat      
Hallo Zusammen,

ich habe jetzt ein einfaches Modell für real-time Plot zwischen GUI und Simulink. In meiner Oberfläche gibt es insgesamt 2 Axes.
In File update_test.m habe ich von line 32 bis line 35 bzw. von line 49 bis line 52 die folgende Code geschrieben.
Code:
xlabel('Time');
         ylabel('Displacement');
         grid on
         hold on

Leider wenn ich die Simulation laufe, scheint es nur die x/y Label der 2. Axes. Als für die 1. Axes gibt es gar kein Grid bzw. x/y Label. Deshalb würde ich fragen, wie kann man grid bzw. x/y Label auf beide Axes stellen ?

Die Anlage sind mein Dokument.



Grüße
Jieshen

test.zip
 Beschreibung:

Download
 Dateiname:  test.zip
 Dateigröße:  51.11 KB
 Heruntergeladen:  316 mal
Private Nachricht senden Benutzer-Profile anzeigen


Harald
Forum-Meister

Forum-Meister


Beiträge: 24.448
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 11.07.2017, 17:51     Titel:
  Antworten mit Zitat      
Hallo,

ein Handle auf das Koordinatensystem angeben.
Code:


Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
DAFeinfach
Themenstarter

Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 67
Anmeldedatum: 07.06.17
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 11.07.2017, 21:30     Titel:
  Antworten mit Zitat      
Hallo Harald,

wenn ich die Code

Code:
xlabel(ax,'Time');
         ylabel(ay,'Displacement');


statt der Code

Code:
xlabel('Time');
         ylabel('Displacement');


schreibe, bekomme ich die folgende Fehlermeldung.

Error update_test (line 32)
xlabel(ax,'Time');

Undefined function or variable 'ax'.

Weißt du wieso es funktioniert noch nicht ?



Grüße
Jieshen
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.448
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 11.07.2017, 21:40     Titel:
  Antworten mit Zitat      
Hallo,

Statt ax musst du natürlich das Handle auf das tatsächliche Koordinatensystem angeben, mit dem du arbeiten möchtest.

Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
DAFeinfach
Themenstarter

Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 67
Anmeldedatum: 07.06.17
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 11.07.2017, 22:23     Titel:
  Antworten mit Zitat      
Hallo Harald,


danke für deine Hinweise. Und ich habe schon diese Probelm gelöscht. Aber für die Befehl
Code:

kann ich noch nur bei Axes2 Grid bekommen. Als für Axes1 gibt es kein Grid.

Weißt du, wie kann man das löschen ?`



Grüße
Jieshen
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.448
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 11.07.2017, 23:31     Titel:
  Antworten mit Zitat      
Hallo,

schau dir mal die Doku von grid an. Dann siehst du, dass du dort eine ähnliche Syntax verwenden kannst wie bei xlabel etc.

Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
DAFeinfach
Themenstarter

Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 67
Anmeldedatum: 07.06.17
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 12.07.2017, 10:13     Titel:
  Antworten mit Zitat      
Hallo Harald,


danke für deine Hilfe. Für gird kann man auch
Code:
machen. Aber weißt du, ist das möglich für real-time Plot, die Zeit-achse (nämlich x-achse) immer nach links zu schieben. Das heißt, ich habe schon die Intervall von Zeit-achse schon festgelegt, z.B. 30s. Dann wenn die Simulation bis 5 Senkunde läuft, dann scheint die Zeit-achse bei der Axes von 5s bis 35s. Wenn die Simulation bis 10 Senkunde läuft, dann scheint die Zeit-achse bei der Axes von 10s bis 40s.

Gibt es eine solche Befehl ?



Grüße
Jieshen
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.448
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 12.07.2017, 10:27     Titel:
  Antworten mit Zitat      
Hallo,

mit xlim kannst du die Skalierung der x-Achse beliebig festlegen.

Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
DAFeinfach
Themenstarter

Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 67
Anmeldedatum: 07.06.17
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 12.07.2017, 10:46     Titel:
  Antworten mit Zitat      
Hallo Harald,


mit der Code
Code:

kann man die Intervall bei X-achse von 0 bis 1 festlegen. Aber was ich will ist, diese Intervall ist dynamisch während der Verlauf von Simulation. Das heißt, wenn jetzt die Simulation schon bis die 5. Sekunde gelaufen ist, wird es bei der X-achse nur von 5s bis 6s gezeigt. Wenn bis 10. Sekunde gelaufen, dann wird nur von 10s bis 11s gezeigt.

Mit xlim(ax, [0 1]); kann man die Kurve nur von 0s bis 1s beobachten. Wenn die Zeit diese Intervall überschreitet, dann kann man die weitere Verlauf nicht mehr beobachten.



Grüße
Jieshen
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.448
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 12.07.2017, 13:10     Titel:
  Antworten mit Zitat      
Hallo,

dann solltest du xlim sinnvollerweise verwenden, wenn du die Plots aktualisierst.
Wenn du die gewünschten Daten (also z.B. nur 10-40s statt 0-40s) plottest, sollte die Aktualisierung der Skala sogar automatisch erfolgen.

Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
DAFeinfach
Themenstarter

Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 67
Anmeldedatum: 07.06.17
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 13.07.2017, 11:14     Titel:
  Antworten mit Zitat      
Hallo Harald,


danke für deine Hilfe. Ich habe schon dieese Problem gelöscht.


Grüße
Jieshen
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.