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

mehrere y-Achsen?

 

rama
Forum-Newbie

Forum-Newbie


Beiträge: 9
Anmeldedatum: 13.09.07
Wohnort: Kiel
Version: ---
     Beitrag Verfasst am: 24.09.2007, 14:21     Titel: mehrere y-Achsen?
  Antworten mit Zitat      
Hallo,
ich habe ein Simulink-Model mit dem ich eine Motor + Regelung simuliere, von dem Model bekomme ich die Beschleunigung, die Geschwindigkeit und den Weg. Diese Werte möchte ich jetzt gerne in einem Diagrmm anzeigen. Wenn ich einfach den plot Befehl dazu nutze ist zwar alles angezeigt aber bei 2500m Weg kann ich bei gleicher Achsskalierung von meiner Beschleunigung von 1m/s² nichts mehr sehen, darum würde ich gerne mehrere y-Achsen nutzen. Leider weiß ich nicht wie oder ob das geht. Vielleicht kann mir ja jemand helfen.
Gruß Martin
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: 24.09.2007, 15:10     Titel:
  Antworten mit Zitat      
Hallo Martin,

du möchtest also zwei plot-Befehle in einer Axes ausführen, wobei beide gezeichneten Funktionen dieselbe x-Achse, aber unterschiedliche y-Achsen haben? Dann müsste plotyy der richtige Befehl für dich sein.

Wenn das nicht passt, einfach weiterfragen Smile . Herzliche Grüße
Bijick
_________________

>> why
Private Nachricht senden Benutzer-Profile anzeigen E-Mail senden
 
Michaela
Forum-Century

Forum-Century


Beiträge: 239
Anmeldedatum: 12.07.07
Wohnort: ---
Version: bis 2007b
     Beitrag Verfasst am: 24.09.2007, 22:24     Titel:
  Antworten mit Zitat      
Hallo Martin,

wenn ich es recht verstehe, hast Du drei Werte die Du anzeigen magst: WEg, Geschwindigkeit und Beschleunigung.
Automatisch zuweisbar sind in matlab nur zwei Achen (siehe Antwort oben von Bijick). Für eine dritte Anzeige würde es sich anbieten, wenn Du vielleicht alle Daten umnormierst?
Oder vielleicht hilft es auch, wenn die Y-Achse logarithmisch gewählt wird. Dann kann man aber insbesondere lineare Abhängigkeiten nicht mehr erkennen - es wird also sehr verwirrend.
_________________

---------------------------------------------------------------
Leider habe ich daheim zwar Internet aber kein Matlab - daher sind alle Syntaxbeispiele circa Angaben.....
Private Nachricht senden Benutzer-Profile anzeigen
 
Michaela
Forum-Century

Forum-Century


Beiträge: 239
Anmeldedatum: 12.07.07
Wohnort: ---
Version: bis 2007b
     Beitrag Verfasst am: 24.09.2007, 22:25     Titel:
  Antworten mit Zitat      
Ich habe noch einen Vorschlag: mit subplot(3,1,x) kannst Du drei Plots untereinander erzeugen: wenn die X-Achsen alle gleich sind, kann man so zumindest den Kurvenverlauf gut erkennen.
_________________

---------------------------------------------------------------
Leider habe ich daheim zwar Internet aber kein Matlab - daher sind alle Syntaxbeispiele circa Angaben.....
Private Nachricht senden Benutzer-Profile anzeigen
 
rama
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 9
Anmeldedatum: 13.09.07
Wohnort: Kiel
Version: ---
     Beitrag Verfasst am: 25.09.2007, 07:42     Titel:
  Antworten mit Zitat      
Erstmal Danke für eure Hilfe, ich habe mich jetzt erstmal entschieden nur die Geschwindigkeit und die Beschleunigung mit plotyy in einer Axes darzustellen. Beim Weg weiß ich noch nicht genau was ich mache, entweder weglassen oder nomieren. Die Daten mit subplot untereinander darzustellen hatte ich mit auch schon überlegt, gefiel mir dann aber nicht so richtig.
Jetzt habe ich aber gleich noch eine Frage, kann ich die Werte in meiner Axes auch kontinuierlich anzeigen lassen? Also während die Simulation noch läuft.
Oder vielleicht auch das die Simulation mit alle XXsec neuen Werte liefert die ich dann anzeigt und sie nach weiteren XXsec wieder erstetze? Ich hoffe Ihr versteht was ich meine.
Gruß Martin
Private Nachricht senden Benutzer-Profile anzeigen
 
steve
Ehrenmitglied

Ehrenmitglied



Beiträge: 2.028
Anmeldedatum: 03.09.07
Wohnort: Wien
Version: R2024a
     Beitrag Verfasst am: 25.09.2007, 11:24     Titel:
  Antworten mit Zitat      
Ich hab anscheinend noch nicht ganz verstanden, was genau du mit 'kontinuierlich anzeigen' meinst.
Jetzt hast du nur den Endzustand als Plot?

Ich habe bis jetzt fast gar nicht mit Simulink gearbeitet, meine mich aber erinnern zu können, dass dort die Simulation auf einfache Weise kontinuierlich angezeigt werden kann!?
Vllt. kann jmd. noch was dazu sagen?

Ansonsten würde mir in dem Fall nur eine Lösung mit einer if-Abfrage einfallen, dann müsstest du aber die Zeitpunkte vorgeben und die Sekunden im Hintergrund mitlaufen lassen. Wenn du den Simulationszeitraum vorgibst, sollte das nicht das Problem sein.

Code:

h1 = figure(1);
for t=1:1000
  %simuliere
  if t==10 %um bei 10s zu plotten
     figure(h1)
     plot(v,t);
  end
end


Als Beispiel, so in der Art habe ich mal etwas ähnliches zu bestimmten Zeitpunkten anzeigen lassen. Ist vllt. nicht das eleganteste, aber funktioniert Wink

Gruß
Alex
_________________

>> I told me to.

____________________________________
Matlab Cheat Sheet
goMatlab-Knigge - dran gehalten?!
Schon in den FAQ gesucht?
Ist vielleicht bei den Skripten oder den Tutorials was für dich dabei?

Zuletzt bearbeitet von steve am 25.09.2007, 11:46, insgesamt 2-mal bearbeitet
Private Nachricht senden Benutzer-Profile anzeigen
 
steve
Ehrenmitglied

Ehrenmitglied



Beiträge: 2.028
Anmeldedatum: 03.09.07
Wohnort: Wien
Version: R2024a
     Beitrag Verfasst am: 25.09.2007, 11:33     Titel:
  Antworten mit Zitat      
Noch eine Frage zu deinem ersten Post:
Du simulierst einen Motor und erhälst im Zeitverlauf Werte für v(t), a(t) und s(t)?

Ich denke mal, dass sich v(t) und a(t) mit einer Skalierung darstellen lassen und dann noch s(t) mit reinbekommen, oder?
Ich kanns im Moment leider nicht ausprobieren, glaube aber, dass sich dass auch mit dem ploty-Befehl umsetzen lässt. Wenn nicht korrigiert mich bitte Wink

Gruß
Alex
_________________

>> I told me to.

____________________________________
Matlab Cheat Sheet
goMatlab-Knigge - dran gehalten?!
Schon in den FAQ gesucht?
Ist vielleicht bei den Skripten oder den Tutorials was für dich dabei?
Private Nachricht senden Benutzer-Profile anzeigen
 
rama
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 9
Anmeldedatum: 13.09.07
Wohnort: Kiel
Version: ---
     Beitrag Verfasst am: 25.09.2007, 12:03     Titel:
  Antworten mit Zitat      
a(t) und v(t) lassen sich solang die Simulationszeit nicht zu lange ist schon mit der selben Skalierung darstellen, nur wenn ich über länger Zeit a konstant halte wird v ja immer größer und die Darstellung immer unanschaulicher.
Dein Vorschlag mit der if Abfrage könnte schon die Lösung meines Problems sein, werde ich gleich mal ausprobieren. Vielen Dank.
Private Nachricht senden Benutzer-Profile anzeigen
 
steve
Ehrenmitglied

Ehrenmitglied



Beiträge: 2.028
Anmeldedatum: 03.09.07
Wohnort: Wien
Version: R2024a
     Beitrag Verfasst am: 26.09.2007, 07:10     Titel:
  Antworten mit Zitat      
Das stimmt bei langen Simulationszeiten, kann es schnell unübersichtlich werden.
Dann würde ich vorschlagen, s(t) als Subplot unter dem [v(t),a(t)]-Plot darzustellen, damit du alles in einer figure hast.
Eine andere Möglichkeit sehe ich sonst derzeit nicht.

Gruß
Alex
_________________

>> I told me to.

____________________________________
Matlab Cheat Sheet
goMatlab-Knigge - dran gehalten?!
Schon in den FAQ gesucht?
Ist vielleicht bei den Skripten oder den Tutorials was für dich dabei?
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.