|
ChristophSchuette |
Forum-Newbie
|
|
Beiträge: 8
|
|
|
|
Anmeldedatum: 14.06.13
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 18.07.2013, 10:23
Titel: Simulationsreihenflolge
|
|
|
|
|
Hallo, ich habe ein kleines Problem mit einer Funktion die ich in meinem Programm benutzten möchte.
Kurze Beschreibung meines Vorhabens und meines Problems:
Ich simuliere im ersten Teil meines Modells einen Brennverlauf. Als Ergebniss erhalte ich einen 1600x1 Vektor, da dieser zu groß für mein weiteres vorhaben ist, hatte ich vor bestimmte Werte aus dem Vektor auszulesen und weiter zu benutzen. Um das zu realisieren habe ich einen Fcn Block eingefügt mit dem Code:
u2 ist in meinem Falle ein 10x1 Vektor und u1 mein Brennverlauf (1600x1)
Die Funtkion soll bezwecken, dass ich jeweils den Wert von u1 an der Stelle u2 auslese. und mir dann u2 als 10x1 Vektor ausspuckt.
Mein Problem ist nun, dass wenn ich das Programm starte ich sowohl meinen Brennverlauf simuliere, als auch schon Werte mit der Funktion aus der "Zukunft" aus dem Brennverlauf abgreife --> Funktioniert nicht!
Meine Idee wäre nun, ob man nicht mit Hilfe eines Trigger/Enable Blocks eine Art Reihenfolge festlegen kann, dass ich erst mein Brennverlauf simuliere und dann meine Werte aus dem Vektor via Fcn lese. Leider bekomme ich es irgendwie nicht hin...
Eine Splittung meines Modells in zwei Teilmodelle ist nicht erwünscht.
Grüße
|
|
|
|
|
twols |
Forum-Anfänger
|
|
Beiträge: 44
|
|
|
|
Anmeldedatum: 05.03.11
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 18.07.2013, 10:28
Titel:
|
|
Kannst du nicht nach Zeit t mit einem Step ein Subsystem mit dem Trigger anstossen? Was klappt bei dir genau nicht bzw. wie hast du das umgesetzt?
|
|
|
ChristophSchuette |
Themenstarter
Forum-Newbie
|
|
Beiträge: 8
|
|
|
|
Anmeldedatum: 14.06.13
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 18.07.2013, 10:55
Titel:
|
|
Hab es genauso gemacht wie du es mir vorgeschlagen hast. 1 Simulationstep bevor Ende hab ich die Fcn laufen lassen. Scheint auch so als ob das Funktionieren würde, nur spinnt meine Fcn jetzt rum...
Dazu ich aber hinzuzufügen, dass wenn ich den Funktionscode ins matlab Commandwindow eingebe, er mir den Vektor ausgibt, den ich gerne haben möchte. Demnach denke ich, dass das mit der Reihenfolge doch nicht klappt...
Beschreibung: |
|
Download |
Dateiname: |
fehler.JPG |
Dateigröße: |
89.06 KB |
Heruntergeladen: |
516 mal |
|
|
|
twols |
Forum-Anfänger
|
|
Beiträge: 44
|
|
|
|
Anmeldedatum: 05.03.11
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 18.07.2013, 11:32
Titel:
|
|
Folgendes Modell funktioniert bei mir. Hat dein 1600er Verktor tatsächlich die richtige Größe zu dem Zeitpunkt?
Beschreibung: |
|
Download |
Dateiname: |
a.PNG |
Dateigröße: |
23.88 KB |
Heruntergeladen: |
523 mal |
|
|
|
ChristophSchuette |
Themenstarter
Forum-Newbie
|
|
Beiträge: 8
|
|
|
|
Anmeldedatum: 14.06.13
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 18.07.2013, 12:22
Titel:
|
|
Also, der Aufbau von meiner Funktion sieht genauso aus wie bei dir! Wenn ich meinen Brennverlauf als Konstante in ein sepperates Modell lade und dann simuliere funktioniert auch alles einwandfrei, aber in meinem Hauptmodell klappt es leider immer noch nicht, was bedeutet, dass die Funktion klappt, aber das "Zeitverzögern" des Funktionsstart nicht.
Mein Modell startet bei -180 und endet bei 150. In dieser Zeit wird halt der Brennverlauf simuliert. Sobald dieser fertig ist, soll die Funktion starten.
Der Vektor sollte zu der Zeit halt groß genug sein..
Ich denke ich weiß wo mein Problem liegt. Mein Brennverlauf wird nicht als Array übegeben, sondern jeder Simulationpoint einzeln, müsste also erste alle Punkte "sammeln" als Array "zusammenbinden" und dann sollte es funktionieren, hättest du eine Idee wie sowas klappen könnte?
|
|
|
ChristophSchuette |
Themenstarter
Forum-Newbie
|
|
Beiträge: 8
|
|
|
|
Anmeldedatum: 14.06.13
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 18.07.2013, 13:11
Titel:
|
|
Hab es hinbekommen!
Die Antwort ist der Tapped delay block, der mir meine Skalara aus der Brennverlaufsanalyse über meinen Simulationszeitraum als vektor ausgibt, danach lief der Rest wie geschmiert
Vielen Dank für die Hilfe, hast mir extrem weiter geholfen!!!
|
|
|
|
|
Einstellungen und Berechtigungen
|
|
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
| 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.
|
|