|
|
Trajektorie eines Punktes |
|
VivaLaSimon |
Forum-Anfänger
|
|
Beiträge: 30
|
|
|
|
Anmeldedatum: 06.03.19
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 22.03.2019, 13:23
Titel: Trajektorie eines Punktes
|
|
Guten Tag,
Ich habe gerade etwas Schwierigkeiten bei dem erstellen eines Weges und dessen Darstellung. Ich habe ein raumfestes Koordinatensystem und in diesem möchte ich nun in Simulink ein Fahrzeug fahren lassen, welches einen Weg in x und y Richtung fährt. Das mathematische lassen wir mal beiseite, aber wier kann ich dies abbilden? Wenn ich ein Scope benutze ist das ja immer nur 2 dimensional. Sagen wir zum Beispiel fährt mein Auto ein Kreis, sehe ich das im Scope nur als Cos und Sinus wenn ich x und y einzeln betrachte, ich würde aber gerne sozusagen von oben draufschauen und den Weg sehen.
|
|
|
|
|
fabianT |
Forum-Fortgeschrittener
|
|
Beiträge: 84
|
|
|
|
Anmeldedatum: 31.10.18
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 26.03.2019, 16:31
Titel:
|
|
Hallo,
es gibt unter Sinks eine Art X-Y Graph.
Viele Grüße
Fabian
|
|
|
VivaLaSimon |
Themenstarter
Forum-Anfänger
|
|
Beiträge: 30
|
|
|
|
Anmeldedatum: 06.03.19
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 26.03.2019, 17:20
Titel:
|
|
Vielen Dank. das habe ich wohl komplett übersehen.
Eine Frage hätte ich noch.
Ich habe einen Wert x, der sich verändert. Dieser Wert x soll nun in einer anderen Berechnung auf 0 gesetzt werden, aber weiter seinen eigentlichen Verlauf verfolgen.
Zum Beispiel wenn x = sin(t) ist und ein Wert y1(t=pi/2) auftaucht, soll x = 0 sein, aber der Verlauf der Sinuskurve weiterverfolgen und sozusagen, eben wie ein Sinus bei pi/2 aussieht, als cos(t) berechnet werden.
Da eine Idee wie das relativ einfach zu realisieren ist?
LG Simon
|
|
|
fabianT |
Forum-Fortgeschrittener
|
|
Beiträge: 84
|
|
|
|
Anmeldedatum: 31.10.18
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 27.03.2019, 09:33
Titel:
|
|
Hallo,
es gibt jetzt keine vorgefertigte Lösung dafür.
Du könntest Enabled Subsysteme nehmen um zwischen einer Sinusberechnung und Cosinusberechnung hin- und herzuschalten. Die Enabled Subsysteme musst du dann entsprechend mit einer Logik aktivieren...
Der Sinn ist mir jedoch noch nicht klar. Wenn der Sinus exakt weiterläuft, nur als Cosinus berechnet wird, macht es doch keinen Unterschied...
Viele Grüße
Fabian
|
|
|
VivaLaSimon |
Themenstarter
Forum-Anfänger
|
|
Beiträge: 30
|
|
|
|
Anmeldedatum: 06.03.19
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 27.03.2019, 12:15
Titel:
|
|
Habe ich mir fast schon gedacht dass es dafür keines gibt, aber Danke für den Tipp. Darauf bin ich bis dato nicht gekommen.
Der Sinn mit dem Sinus ist trivial, da ich das nur als Beispiel meinte, mein Wert X ist kein Sinus sondern eine strecke, welche eben ab gewissen Ereignissen immer ab diesem Zeitpunkt gemessen werden soll.
Liebe Grüße
Simon
|
|
|
fabianT |
Forum-Fortgeschrittener
|
|
Beiträge: 84
|
|
|
|
Anmeldedatum: 31.10.18
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 27.03.2019, 12:19
Titel:
|
|
Ok, alles klar.
Für solche Dinge gibt es vermutlich mehrere Vorgehensweisen. Ich würde mir mal
Switch Case
If else
Triggered Subsystem
Enabled Subsystem
Switches
Stateflow
anschauen. Gibt auch einiges dazu in der Doku,
Viele Grüße
Fabian
|
|
|
VivaLaSimon |
Themenstarter
Forum-Anfänger
|
|
Beiträge: 30
|
|
|
|
Anmeldedatum: 06.03.19
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 27.03.2019, 19:55
Titel:
|
|
Also das Problem hat sich nun mit einem Trigger, Switch Case und dahinter ein sample and hold erledigt. Danke dafür
Jetzt kommt aber ein anderes Problem auf und zwar will ich in der angehängten Datei meine Ausgabe welche nach dem blauen Block kommt beibehalten und nicht mehr auf null setzen. Anders herum hat es gut geklappt. Nur stehe ich jetzt hier auf dem Schlauch. Zeit auf 100 stellen und in dem Scope schauen. Dort sollen die Werte aufaddiert werden. Folglich soll z.B. bei der Zeit zwischen 32 und 34 Sekunden der letzte Wert, also 26, parallel zur Zeitachse verlaufen.
Ich hoffe ich nerve nicht, aber ich sitze schon zu lange daran und komme nicht weiter.
LG
Simon
Beschreibung: |
|
Download |
Dateiname: |
untitled.slx |
Dateigröße: |
29.54 KB |
Heruntergeladen: |
339 mal |
|
|
|
VivaLaSimon |
Themenstarter
Forum-Anfänger
|
|
Beiträge: 30
|
|
|
|
Anmeldedatum: 06.03.19
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 29.03.2019, 11:44
Titel:
|
|
Da darauf anscheinend niemand eine Antwort hat, dann vielleicht auf diese Frage.
Ich möchte mehrere Sprünge erstellen, welche jedoch erst bei einer gewissen Eingangsvariable sich ändern.
Ich habe es mit einem 1-D-Lookuptable versucht, jedoch lässt sich da nicht ganz genau ein Sprung darstellen.
LG
Simon
|
|
|
fabianT |
Forum-Fortgeschrittener
|
|
Beiträge: 84
|
|
|
|
Anmeldedatum: 31.10.18
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 29.03.2019, 13:20
Titel:
|
|
Hallo,
dein Modell kann ich nicht öffnen...
Sprünge (0-1, 1-0) kannst du auf ganz viele verschiedene Art und Weisen modellieren (Step Blöcke, Simulink Logic, Stateflow,...).
Wieso es mit einer LUT nicht möglich ist, verstehe ich nicht ganz. Wahrscheinlich ist der Solver nicht richtig eingestellt, sodass es aussieht als ob es kein Sprung ist...
Viele Grüße
Fabian
|
|
|
VivaLaSimon |
Themenstarter
Forum-Anfänger
|
|
Beiträge: 30
|
|
|
|
Anmeldedatum: 06.03.19
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 29.03.2019, 17:21
Titel:
|
|
Mein Modell habe ich in der Version 2018b gespeichert. Wenn es daran nicht liegt, dann speichere die Datei mal als .slx statt als .zip Datei und es müsste klappen
Mit einem Step Block kann ich ja nur einen Sprung simulieren. Wie aber gesagt möchte ich zum Beispiel bei dem Eingangswert 10 auf 2 springen bis Eingang 12 erreicht und daraufhin bei einem Eingangswert von 12 auf -2 und bei 14 auf 10 und dann auf 0 bis dahin und ...
Mit Simulink Logic ist das etwas für die Größe meiner Daten zu aufwendig und mit Stateflow kenne ich mich nicht aus. Gibt es denn da keinen anderen Block der einen Sprung nach einem Eingang regeln kann?
Liebe Grüße
Simon
|
|
|
fabianT |
Forum-Fortgeschrittener
|
|
Beiträge: 84
|
|
|
|
Anmeldedatum: 31.10.18
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 02.04.2019, 08:04
Titel:
|
|
Hallo,
das Modell habe ich schon als slx versucht zu öffnen...
Deine Anwendung sieht nach einer typischen Lookup Table aus. Interpolation musst du aber ausstellen, also "flat" wählen, siehe Beispiel im Anhang.
Viele Grüße
Fabian
Beschreibung: |
|
Download |
Dateiname: |
LUTFlat.slx |
Dateigröße: |
21.02 KB |
Heruntergeladen: |
336 mal |
|
|
|
VivaLaSimon |
Themenstarter
Forum-Anfänger
|
|
Beiträge: 30
|
|
|
|
Anmeldedatum: 06.03.19
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 02.04.2019, 08:44
Titel:
|
|
Guten Morgen,
Ich habe dein Modell mal so bearbeitet wie ich mir das vorstelle, nur sodass man bei den Breakpoints eben statt 5 und 5.001 einfach 5 und 5 schreiben kann. Interpoliert habe ich meine Werte nicht.
Liebe Grüße
Simon
Beschreibung: |
|
Download |
Dateiname: |
LUTFlat.slx |
Dateigröße: |
21.07 KB |
Heruntergeladen: |
346 mal |
|
|
|
fabianT |
Forum-Fortgeschrittener
|
|
Beiträge: 84
|
|
|
|
Anmeldedatum: 31.10.18
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 02.04.2019, 09:05
Titel:
|
|
Hallo,
das Problem hier ist, dass der Variable Step solver keine Zero Crossings Funktionalität hat, sodass er nicht erkennt, wenn sich der Wert ändert...
Als Lösung kannst du entweder eine Max Step Size einstellen, einen Fixed Step solver verwenden oder deinen Ansatz wählen...
Bitte berücksichtige, dass es in Simulink wohl nie einen exakten Sprung geben wird. Beim Step Block werden zero Crossings verwendet um den Zeitpunkt des Sprunges genau zu detektieren. Der zeitliche Unterschied ist dann sehr klein, ~ 1e-15 oder so...
Viele Grüße
Fabian
|
|
|
|
|
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.
|
|