|
dero1690 |
Forum-Anfänger
|
|
Beiträge: 47
|
|
|
|
Anmeldedatum: 03.02.13
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 28.01.2016, 14:40
Titel: Wert "0" identifizieren
|
|
|
|
|
Hallo zusammen !
Ich habe folgendes Problem in Simulink und wäre sehr froh, wenn mir jemand helfen könnte
Ich habe ein dynamisches System, auf welches eine äußere Kraft und eine Reibungskraft angreifen, ich möchte , dass bei der Geschwindigkeit==0 die Reibungskraft auch null gesetzt wird.
Meine Idee:
Mit dem "hit crossing" -Block identifiziere ich, wenn die Geschwindigkeit ==0 wird und will dann die Reibungskraft 0 setzen.
Mein Problem (oder zumindest wie ich es verstanden habe):
Es ist wohl so, dass mit "Hit crossing" die Geschwindigkeit als 0 identifiziert wird, aber erst im nächsten Zeitschritt, nachdem es passiert ist. (z.B. bei wechsel der Geschwindigkeit von 1 auf -1 ) . Demzufolge wird meine Reibungskraft 0 gesetzt, wenn die Geschwindigkeit schon -1 ist. Das nützt mir leider nichts.
Gibt es da eine Möglichkeit, dass meine Geschwindigkeit beim Wert "0" sozusagen festgehalten wird und ich dann meine Reibungskraft 0 gesetzte wird, sodas beide Variablen gleichzeitig "0" sind.
Hätte da jemand einen Tipp ?
Tausend Dank im Voraus
Viele Grüße
Denys
|
|
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.492
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 28.01.2016, 22:22
Titel:
|
|
Hallo,
wenn du mit variabler Schrittweite simulierst, wird die Schrittweite bei einem Vorzeichenwechsel so reduziert, dass z.B. die Reibungskraft sofort auf 0 angepasst wird.
Grüße,
Harald
|
|
|
dero1690 |
Themenstarter
Forum-Anfänger
|
|
Beiträge: 47
|
|
|
|
Anmeldedatum: 03.02.13
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 29.01.2016, 12:04
Titel:
|
|
Hallo Harald,
vielen Dank für deine Antwort.
Kann ich das so verstehen, dass wenn der "hit crossing" block das Signal "1" (Wechsel des Vorzeichens) detektiert, mein Simulationssignal eingefroren wird ?
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.492
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 29.01.2016, 13:29
Titel:
|
|
Hallo,
kommt drauf an, was du unter "einfrieren" verstehst. Du kannst dir ja anschauen, wie die Schrittweite aussieht, wenn die Geschwindigkeit auf 0 geht.
Grüße,
Harald
|
|
|
dero1690 |
Themenstarter
Forum-Anfänger
|
|
Beiträge: 47
|
|
|
|
Anmeldedatum: 03.02.13
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 01.02.2016, 13:43
Titel:
|
|
Hallo,
die Schrittweite wird extrem klein, wenn ich mich der Schranke nähere. Doch trotzdem bleibt, dass Problem, dass ich in Simulation nicht eingreifen kann, wenn mein Signal genau "0" ist. Ich schätze, das liegt daran, dass der Nulldurchgang erst identifieziert werden kann, wenn mein Signalvorzeichen von + aus - springt und es dann schon zu "spät" ist.
Viele Grüße
Denys
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.492
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 01.02.2016, 14:15
Titel:
|
|
Hallo,
numerische Signale sind in den seltensten Fällen genau 0.
Ich kann leider nicht so ganz nachvollziehen, was du machen möchtest.
Wenn die Reibungskraft beispielsweise von einer Geschwindigkeit abhängt, dann kann ein Doppelintegrator mit Sättigung verwendet werden. Wenn die finale Größe in die Sättigung hineinläuft, wird automatisch auch die Geschwindigkeit auf 0 gesetzt.
Grüße,
Harald
|
|
|
dero1690 |
Themenstarter
Forum-Anfänger
|
|
Beiträge: 47
|
|
|
|
Anmeldedatum: 03.02.13
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 02.02.2016, 08:52
Titel:
|
|
Hallo Harald !
Danke für deine Mühen bisher.
Das Problem bei mir ist wohl, dass das Signal numerisch ist, und wie du sagst, dass es wohl nie null wird.
Viele Grüße
Denys
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.492
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 02.02.2016, 18:47
Titel:
|
|
Hallo,
gibt es denn einen Vorzeichenwechsel, also einen Nulldurchgang?
Dann sollte das mit einem Hit Crossing-Block genau aufgelöst werden.
Grüße,
Harald
|
|
|
|
|
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.
|
|