|
|
konstanten Wert aus freier Variablen gewinnen |
|
AnnePanne |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 24.11.2008, 15:14
Titel: konstanten Wert aus freier Variablen gewinnen
|
|
Hallo,
bestimmt gibts für mein Problem eine einfache Lösung, aber ich weiß nicht genau, wonach ich googeln soll.
Folgendes:
Mit dem Simulink Signal Builder habe ich eine Variable v (Geschwindigkeit) für 100 Sekunden vorgegeben. Während dieser 100 Sekunden wird (unter anderem) zu einem zufälligen Zeitpunkt T (ermittelt über Random Number Generator) ein Prozess losgetreten. Für diesen brauche ich die Geschwindigkeit am Anfang dieses Prozesses. Die variable Geschwindigkeit soll also für diesen Zweck auf dem Wert den sie bei t=T hatte reduziert werden, also quasi konstant gehalten werden.
Währe v eine analytische Funktion von der Zeit, hätte ich kein Problem, ich würde auf v(T) zugreifen. Kann ich ähnliches vielleicht mit dem Signalbuilder auch machen?
Hat jemand eine Idee, wie ich das (ohne unbedingt den Workspace zu bemühen) lösen kann?
Dankle schön!
Grüße
AnnePanne
|
|
|
|
|
Titus |
Forum-Meister
|
|
Beiträge: 871
|
|
|
|
Anmeldedatum: 19.07.07
|
|
|
|
Wohnort: Aachen
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 25.11.2008, 13:23
Titel:
|
|
Hallo,
soweit ich weiß, ist das mit dem Signalbuilder nicht möglich. Was man hier machen müsste, wäre das Signal z.B. über einen Switch in Kombination mit getriggertem oder enabled Subsystem auf das konstante Signal umschalten.
Titus
|
|
|
AnnePanne |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 25.11.2008, 18:22
Titel: gelöst
|
|
|
|
|
Hallo Titus (doch nicht etwa nach FF benannt?... nett ,
habe das Problem mit Hit Crossing, Switch und Memory lösen können. Zwar nicht selbst, sondern mit Hilfe meines Betreuers (analoge Kommunikation! , aber immerhin.
Für alle, die das hier vielleicht mal finden, weil sie das gleiche oder was ähnliches brauchen:
Das Signal des Builders geht in den oberen Teil des Switches, der bei 0.5 das obere Signal durchlässt. Hinter dem Switch ist ein Memoryblock, dessen Ausgang zum unteren Teil des Switches und aus dem Subsystem (als gewünschte Konstante) herausführt.
Der Umschalter des Switches (ich nenne ihn trigger) ist bei mir ein Signal, das an der entscheidenden Stelle die Null durchkreuzt ("clock" minus "Startzeit" tut dies genau zur definierten Startzeit). Dieses Signal geht in den Block Hit Crossing, der einmal kurz von Null auf eins springt, wenn die Null durchlaufen wird. Dieses Signal ist dann der Trigger.
Genau wenn der Trigger 1 wird, wird einen Simulationsschritt lang das Signal selbst durch gelassen. Danach ists wieder der untere Teil des switches, also das, was der Memoryblock hat (was das Signal zum Triggerzeitpunkt ist). Die Gesamtausgabe ist also Null bis zum Triggerzeitpunkt und dann konstant Signal zum Zeitpunkt der Startzeit.
(Ich bin begeistert!)
Vielen Dank trotzdem, für deinen Kommentar, Titus.
Grüße
AnnePanne
|
|
|
|
|
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.
|
|