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

Wert "0" identifizieren

 

dero1690
Forum-Anfänger

Forum-Anfänger


Beiträge: 47
Anmeldedatum: 03.02.13
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 28.01.2016, 15:40     Titel: Wert "0" identifizieren
  Antworten mit Zitat      
Hallo zusammen !


Ich habe folgendes Problem in Simulink und wäre sehr froh, wenn mir jemand helfen könnte Smile

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
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: 28.01.2016, 23:22     Titel:
  Antworten mit Zitat      
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
Private Nachricht senden Benutzer-Profile anzeigen
 
dero1690
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 47
Anmeldedatum: 03.02.13
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 29.01.2016, 13:04     Titel:
  Antworten mit Zitat      
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 ?
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: 29.01.2016, 14:29     Titel:
  Antworten mit Zitat      
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
Private Nachricht senden Benutzer-Profile anzeigen
 
dero1690
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 47
Anmeldedatum: 03.02.13
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 01.02.2016, 14:43     Titel:
  Antworten mit Zitat      
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
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: 01.02.2016, 15:15     Titel:
  Antworten mit Zitat      
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
Private Nachricht senden Benutzer-Profile anzeigen
 
dero1690
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 47
Anmeldedatum: 03.02.13
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 02.02.2016, 09:52     Titel:
  Antworten mit Zitat      
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
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: 02.02.2016, 19:47     Titel:
  Antworten mit Zitat      
Hallo,

gibt es denn einen Vorzeichenwechsel, also einen Nulldurchgang?
Dann sollte das mit einem Hit Crossing-Block genau aufgelöst werden.

Grüße,
Harald
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.