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

Simulink startwert für ersten durchlauf

 

Ahorn

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 04.01.2011, 16:48     Titel: Simulink startwert für ersten durchlauf
  Antworten mit Zitat      
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

Moderator


Beiträge: 537
Anmeldedatum: 08.12.10
Wohnort: ---
Version: 7.10, 2010a
     Beitrag Verfasst am: 05.01.2011, 11:08     Titel:
  Antworten mit Zitat      
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:
Code:

var = 6;
for i = 1 : 10
   var = var + 4;
   disp(var);
end
 


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?
Private Nachricht senden Benutzer-Profile anzeigen
 
ahorn

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 05.01.2011, 11:42     Titel:
  Antworten mit Zitat      
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

Moderator


Beiträge: 537
Anmeldedatum: 08.12.10
Wohnort: ---
Version: 7.10, 2010a
     Beitrag Verfasst am: 05.01.2011, 15:22     Titel:
  Antworten mit Zitat      
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
Code:

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
Code:

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.

Unbenannt.JPG
 Beschreibung:
Rekursive Schaltung

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?
Private Nachricht senden Benutzer-Profile anzeigen
 
ahorn

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 05.01.2011, 17:17     Titel:
  Antworten mit Zitat      
mag jetzt vllt bissel kompliziert aussehn aber im prinzip kommt zwischen der winkelgeschwindigkeit und der drehmomenten (torque) nochn regler

Clipboard02.jpg
 Beschreibung:

Download
 Dateiname:  Clipboard02.jpg
 Dateigröße:  60.54 KB
 Heruntergeladen:  2165 mal
 
ahorn

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 06.01.2011, 15:39     Titel:
  Antworten mit Zitat      
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

Moderator


Beiträge: 537
Anmeldedatum: 08.12.10
Wohnort: ---
Version: 7.10, 2010a
     Beitrag Verfasst am: 06.01.2011, 15:50     Titel:
  Antworten mit Zitat      
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?
Private Nachricht senden Benutzer-Profile anzeigen
 
ahorn

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 06.01.2011, 16:53     Titel:
  Antworten mit Zitat      
so erstmal vielen dank

das sieht verdammt gut aus Smile

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

Moderator


Beiträge: 537
Anmeldedatum: 08.12.10
Wohnort: ---
Version: 7.10, 2010a
     Beitrag Verfasst am: 07.01.2011, 09:06     Titel:
  Antworten mit Zitat      
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?
Private Nachricht senden Benutzer-Profile anzeigen
 
ahorn

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 07.01.2011, 15:00     Titel:
  Antworten mit Zitat      
jop egal ob mit oder ohne delay immer der selbe fehler
momentan siehts jetzt so aus (anhang)

willst dir den code mal genauer ansehn?

Clipboard02.jpg
 Beschreibung:

Download
 Dateiname:  Clipboard02.jpg
 Dateigröße:  57.27 KB
 Heruntergeladen:  2199 mal
 
ahorn

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 09.01.2011, 16:45     Titel:
  Antworten mit Zitat      
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

Forum-Newbie


Beiträge: 8
Anmeldedatum: 19.06.14
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 24.06.2014, 21:36     Titel:
  Antworten mit Zitat      
Kann mir jemand sagen, wie ahorn es meint 'von außen herum' den Wert einzuleiten ?
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.