|
|
Simulink startwert für ersten durchlauf |
|
Ahorn |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 04.01.2011, 16:48
Titel: Simulink startwert für ersten durchlauf
|
|
so wahrscheins ne dumme frage aber ich find online keine lösung
ich will nur einer variable einen startwert geben
der wert soll dann immer wieder überschrieben werden
wie mach ich sowas?
mein system is ein mechanisches modell dass als eingangsgrößen
2 winkel (momentane lage)
2 winkelgeschwindkeiten (momentane geschwindigkeit)
2 koordinaten (zielpunkt)
1 kraft bekommt (störkraft)
und 2 drehmomente (motoren die das model zum ziel hinbewegen sollen)
hat
über die winkelgeschwindigkeiten würd ich jetzt gern mein drehmoment regeln
hoffe das system is verständlich mir fehlt wie gesagt nur die sache mit den anfangswerten weil die für die inverse kinematik wichtig sind
mfg
|
|
|
|
|
_Peter_ |
Moderator
|
|
Beiträge: 537
|
|
|
|
Anmeldedatum: 08.12.10
|
|
|
|
Wohnort: ---
|
|
|
|
Version: 7.10, 2010a
|
|
|
|
|
|
Verfasst am: 05.01.2011, 11:08
Titel:
|
|
Du kannst deiner Variablen doch am Anfang einen Wert zuweisen und dann einfach später auf die Variable zugreifen udn überschreiben. Verstehe nicht so ganz wo das Problem liegt.
Willst du die Variable im m File ändern oder im Modell? Wo steht die Variable?
Wenn ich ein programmschreibe kann ich ja auch wie folgt vorgehen:
somit habe ich var den Startwert 6 gegeben, welcher dann immer um 4 erhöht wird um jetzt ein einfaches Beispiel aufzuzeigen.
_________________
Gruß
Peter
_________________
goMatlab-Knigge - dran gehalten?!
Schon in den FAQ gesucht? Oder der MATLAB Hilfe?
Ist vielleicht bei den Skripten oder den Tutorials was für dich dabei?
|
|
|
ahorn |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 05.01.2011, 11:42
Titel:
|
|
naja das is ja jetzt ne lauf variable die krieg ich auch noch hin
ich will dass ich für alle eingangsgrößen n wert habe im 1. durchgang und dann im 2. durch gang werden die größen mit neuen werten überschrieben
z.b.
ich brauch ja um meine aktuelle position zu berechnen einen winkel den geb ich am anfang vor das is meine startbedingung
wenn ich jetzt durch die ganze berechnung durch bin errechne ich einen neuen winkel und das ganze geht wieder von vorne los
ich brauch quasi ne lauf variable für die durchläufe damit ich schreiben kann
for (durchläufe =1)
winkel = 1
else
winkel = new_winkel
|
|
|
_Peter_ |
Moderator
|
|
Beiträge: 537
|
|
|
|
Anmeldedatum: 08.12.10
|
|
|
|
Wohnort: ---
|
|
|
|
Version: 7.10, 2010a
|
|
|
|
|
|
Verfasst am: 05.01.2011, 15:22
Titel:
|
|
Dann musst du dein System rekursiv aufbauen.
Ein Beispiel habe ich angehängt.
Den Wert für 'var' habe ich einfach in der Kommandezeile eingegeben mit
Das Simulink Modell greift dan direkt drauf zu und nimmt das als Startwert.
Um es dauerhaft zu haben, kannst du den Startwert in ein M-File schreiben und dann mittels dem Befehl
die simulation starten.
Anstatt dem hier gezeigten Add-Block kannst du natürlich auch ein Subsystem wählen udn dort deine Rechnugn einfügen beispielsweise.
Wenn du zeigst was du bisher hast, lässt sich dir vielleicht konkreter helfen, so kann ich dir nur ein allgemeines Beispiel geben, was dir hoffentlich hilft.
Beschreibung: |
|
Download |
Dateiname: |
Unbenannt.JPG |
Dateigröße: |
48.11 KB |
Heruntergeladen: |
2531 mal |
_________________
Gruß
Peter
_________________
goMatlab-Knigge - dran gehalten?!
Schon in den FAQ gesucht? Oder der MATLAB Hilfe?
Ist vielleicht bei den Skripten oder den Tutorials was für dich dabei?
|
|
|
ahorn |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 05.01.2011, 17:17
Titel:
|
|
mag jetzt vllt bissel kompliziert aussehn aber im prinzip kommt zwischen der winkelgeschwindigkeit und der drehmomenten (torque) nochn regler
Beschreibung: |
|
Download |
Dateiname: |
Clipboard02.jpg |
Dateigröße: |
60.54 KB |
Heruntergeladen: |
2165 mal |
|
|
|
ahorn |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 06.01.2011, 15:39
Titel:
|
|
also im prinzip such ich nur einen simulink block der meinen variablen für den 1. durchlauf einen wert zuweißt und danach den neuen wert nimmt
|
|
|
_Peter_ |
Moderator
|
|
Beiträge: 537
|
|
|
|
Anmeldedatum: 08.12.10
|
|
|
|
Wohnort: ---
|
|
|
|
Version: 7.10, 2010a
|
|
|
|
|
|
Verfasst am: 06.01.2011, 15:50
Titel:
|
|
Ich habe nochmal bisschen gesucht und was gefunden für dich.
Guck mal unter "Signal Attributes" den Block "IC" dort trägst du deinen Initialwert ein und als Eingang nimmste dann das berechnete Signal. Sollte gehen. Eventuell musst du noch ein Unit Delay Block zwischenschalten wenn du es rekursiv machst.
Ich kannte den Block bisher auch noch nicht.
_________________
Gruß
Peter
_________________
goMatlab-Knigge - dran gehalten?!
Schon in den FAQ gesucht? Oder der MATLAB Hilfe?
Ist vielleicht bei den Skripten oder den Tutorials was für dich dabei?
|
|
|
ahorn |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 06.01.2011, 16:53
Titel:
|
|
so erstmal vielen dank
das sieht verdammt gut aus
jetzt kommt allerdings n fehler der sagt das einer meiner funktionen ein "invalid algebraic loop" ist
ich hab in der funktion ne if schleife
muss ich jetzt die if schleife nachbauen (die schleife vergleicht werte und addiert bzw subrathiert diese anschließend)
oder gibts ne andere möglichkeit?
|
|
|
_Peter_ |
Moderator
|
|
Beiträge: 537
|
|
|
|
Anmeldedatum: 08.12.10
|
|
|
|
Wohnort: ---
|
|
|
|
Version: 7.10, 2010a
|
|
|
|
|
|
Verfasst am: 07.01.2011, 09:06
Titel:
|
|
Hast du vor dem IC Block mal ein "Unit Delay" Block gesetzt?
_________________
Gruß
Peter
_________________
goMatlab-Knigge - dran gehalten?!
Schon in den FAQ gesucht? Oder der MATLAB Hilfe?
Ist vielleicht bei den Skripten oder den Tutorials was für dich dabei?
|
|
|
ahorn |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 07.01.2011, 15:00
Titel:
|
|
jop egal ob mit oder ohne delay immer der selbe fehler
momentan siehts jetzt so aus (anhang)
willst dir den code mal genauer ansehn?
Beschreibung: |
|
Download |
Dateiname: |
Clipboard02.jpg |
Dateigröße: |
57.27 KB |
Heruntergeladen: |
2199 mal |
|
|
|
ahorn |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 09.01.2011, 16:45
Titel:
|
|
ok habs selber rausgefunden ich durfte einfach keinen wert von der funktion wieder in sich selbst reinleiten
sondern wie alles andere ausen herum...
danke für die hilfe
|
|
|
mirimoc |
Forum-Newbie
|
|
Beiträge: 8
|
|
|
|
Anmeldedatum: 19.06.14
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 24.06.2014, 21:36
Titel:
|
|
Kann mir jemand sagen, wie ahorn es meint 'von außen herum' den Wert einzuleiten ?
|
|
|
|
|
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.
|
|