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

2 Variablen aus Simulink als X bzw. Y-Achse

 

bixxewoscht
Forum-Newbie

Forum-Newbie


Beiträge: 8
Anmeldedatum: 09.07.21
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 09.07.2021, 14:26     Titel: 2 Variablen aus Simulink als X bzw. Y-Achse
  Antworten mit Zitat      
Hallo zusammen,

ich habe ein Simulink Modell, dass das Laden und Entladen einer Batterie simuliert.
Über den Plot kann ich u.A. die Batteriekapazität im Verhältnis zur Zeit Abbilden.
ich hätte aber gerne anstatt der Zeit die Zyklenzahl auf der X-Achse.

Dafür habe ich mir einen Zähler gebaut der die Zyklen zählt.
Ich weiß aber nicht wie ich mir die Kapazität in Abhängigkeit von der Zeit anzeigen lassen kann.

Mit dem Block "To Workspace" sende ich beide Variablen (kapa, zyklen) an den MATLAB Workspace, um damit arbeiten zu können.

Vielen Dank schonmal für die Hilfe.

Screenshot 2021-07-09 142540.jpg
 Beschreibung:

Download
 Dateiname:  Screenshot 2021-07-09 142540.jpg
 Dateigröße:  21.23 KB
 Heruntergeladen:  183 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: 09.07.2021, 14:29     Titel:
  Antworten mit Zitat      
Hallo,

die entscheidende Frage ist dann nicht, wie das Modell aussieht, sondern welche Variablen du im Workspace hast. Im einfachsten Fall wäre der Vorschlag:
Code:
plot(zyklen, kapa)


Wenn die Variablen nicht direkt in den Workspace geschrieben werden, sondern in etwas anderem enthalten sind, dann müsstest du dazu nähere Infos mitteilen.

Grüße,
Harald
_________________

1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
Private Nachricht senden Benutzer-Profile anzeigen
 
bixxewoscht
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 8
Anmeldedatum: 09.07.21
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 09.07.2021, 14:34     Titel:
  Antworten mit Zitat      
Genau, diese beiden werden an den Workspace übergeben.
Dieses Vorgehen habe ich schon versucht, dann erscheint aber die Fehlermeldung: "too many input arguments".

Im Anhang der Workspace, sieht so aus als ob es nicht funktioniert weil beide Variablen ja auch noch von der zeit abhängig sind.

Screenshot 2021-07-09 142540.jpg
 Beschreibung:

Download
 Dateiname:  Screenshot 2021-07-09 142540.jpg
 Dateigröße:  21.23 KB
 Heruntergeladen:  184 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: 09.07.2021, 14:37     Titel:
  Antworten mit Zitat      
Hallo,

die Fehlermeldung lässt eher darauf schließen, dass du etwas anderes "plot" genannt hast und die plot-Funktion dadurch überlagert wird.
Code:


Grüße,
Harald
_________________

1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
Private Nachricht senden Benutzer-Profile anzeigen
 
bixxewoscht
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 8
Anmeldedatum: 09.07.21
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 09.07.2021, 14:39     Titel:
  Antworten mit Zitat      
Achso, ok.
Code:
which plot
built-in (C:\Program Files\MATLAB\R2021a\toolbox\matlab\graph2d\plot)


Und wie bekomme ich das "alte" weg?
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: 09.07.2021, 14:54     Titel:
  Antworten mit Zitat      
Hallo,

das ist doch nicht das Problem. Ich habe nochmal den Screenshot angesehen, und das Problem sind die double timeseries. Aus diesen musst du dir die eigentlichen Daten herausholen.
Einfacher kann es sein, im Block einzustellen, dass du die Daten als Array (statt als Timeseries) speichern willst.

Falls du damit nicht weiterkommst, speichere bitte die beiden Variablen als .mat-Datei ab und hänge sie an.

Grüße,
Harald
_________________

1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
Private Nachricht senden Benutzer-Profile anzeigen
 
bixxewoscht
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 8
Anmeldedatum: 09.07.21
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 09.07.2021, 14:59     Titel:
  Antworten mit Zitat      
Perfekt, das funktioniert!
Ich dachte mir schon dass es so schwer nicht sein kann, aber allein hätte ich noch lange gesucht woran es liegt, vielen Dank.

Edit: Hast du eine Idee wie ich das am besten direkt in das Simulink Modell einbauen kann? habe es über einen MATLAb Function Block versucht aber da die ganzen Daten erst nach Ende der Simulation zur verfügung stehen funktioniert das glaube ich nicht so einfach über:

Code:
function fcn(kapa,zyklen)
plot(zyklen,kapa);
Private Nachricht senden Benutzer-Profile anzeigen
 
bixxewoscht
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 8
Anmeldedatum: 09.07.21
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 12.07.2021, 08:07     Titel:
  Antworten mit Zitat      
Glaube meine Frage ist untergegangen weil ich meinen alten Post nur editiert habe.
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.2021, 09:17     Titel:
  Antworten mit Zitat      
Hallo,

ist sie. Ich würde einen Model Callback verwenden, z.B. stopFcn.
https://www.mathworks.com/help/simulink/ug/model-callbacks.html

Grüße,
Harald
_________________

1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
Private Nachricht senden Benutzer-Profile anzeigen
 
bixxewoscht
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 8
Anmeldedatum: 09.07.21
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 15.07.2021, 13:30     Titel:
  Antworten mit Zitat      
Ok, ich habe jetzt wie in der verlinkten Anleitung bei stopfcn unten im Textfeld
Code:
plot(zyklen, kapa)


eingetragen, nachdem die Simulation fertig ist öffnet sich aber der Plot nicht.

Bemerkung: Ich habe ein Stop-Kriterium eingebaut, dass nach x Zyklen die Simulation stoppt, d.h. die eingestellte Simulationszeit läuft nicht bis zum Ende durch.
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: 16.07.2021, 15:43     Titel:
  Antworten mit Zitat      
Hallo,

wenn ich die StopFcn in einem einfachen Modell teste, wird sie auch nach Beendigung der Simulation ausgeführt.

Zitat:
Bemerkung: Ich habe ein Stop-Kriterium eingebaut, dass nach x Zyklen die Simulation stoppt

Das könnte durchaus das Problem sein. Wird die Simulation wirklich gestoppt oder vielleicht nur pausiert? Dann würde sich ja die PauseFcn anbieten.

Ohne genauer zu wissen, was du machst (idealerweise ein lauffähiges Beispielmodell), werde zumindest ich dir nicht weiterhelfen können...

Grüße,
Harald
_________________

1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
Private Nachricht senden Benutzer-Profile anzeigen
 
bixxewoscht
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 8
Anmeldedatum: 09.07.21
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 20.07.2021, 14:02     Titel:
  Antworten mit Zitat      
Vielen Dank für die Hilfe, es funktioniert jetzt. Vorher hat anscheined etwas mit der Simulation an sich nicht gepasst.
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.