|
|
Simple Iteration in Simulink |
|
Samson33 |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 22.12.2010, 21:36
Titel: Simple Iteration in Simulink
|
|
Hallo Leute,
cool, dass man auch als Gast schreiben kann erstmal
Also ich habe ein Problem bei der Implementierung eines Kalman Filters in Simulink.
Das eigentliche Problem habe ich jetzt aber runtergebrochen auf ein winziges Simulink-Modell + Programm.
Ich hoffe meine Idee is net vollkommen bescheuert.
Das Problem ist also recht simpel. Ich möchte einfach eine Iteration in Simulink haben. Das Problem sind die Initial-werte (t= 0).
Kann ich da irgendwas einbauen ?
Die If-abfrage in der *.m datei hats ja nicht gebracht.
Falls es unlösbar ist, könnt ihr mir eine andere Methode sagen ?
Viele Grüße,
Samson
Beschreibung: |
|
Download |
Dateiname: |
ez_iteration.m |
Dateigröße: |
129 Bytes |
Heruntergeladen: |
691 mal |
Beschreibung: |
|
Download |
Dateiname: |
iteration.mdl |
Dateigröße: |
25.93 KB |
Heruntergeladen: |
636 mal |
|
|
|
|
|
dany2k3k |
Forum-Fortgeschrittener
|
|
Beiträge: 66
|
|
|
|
Anmeldedatum: 01.02.10
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 23.12.2010, 09:26
Titel:
|
|
Hallo Samson,
ich glaube,über diese Art von Problem ist jeder schon mal gestolpert. Du hast eine klassische algebraische Schleife konstruiert. Dies bedeutet, dass du für die Berechnung eines Ergebnisses bereits das Ergebnis benötigst. Du prüfst im Funktionsblock,ob der in1 0 ist, dieser ist allerdings wiederum der Ausgang des Blockes..
Als einfachste Lösung könntest du im Rückwärtszweig ein 1/z Glied (genannt Unit delay) einbauen, dies findest du bei den discrete Bausteinen.
Als Anfangswert verendest du den Wert 0 , bei sample time -1 eingeben.
Falls dir zu viele Treppen drinn sinn,kannst du ja in den Solvereinstellung eine geringere Abtastzeit einstellen.
Weiters würde ich im function Block wirklich auf 0 überprüfen,nicht auf []..
also
if A==0 anstelle von if A==[]
Hoffe, das hilft etwas
LG
Daniel
|
|
|
Samson33 |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 23.12.2010, 12:59
Titel:
|
|
Hallo dany, danke für deine Antwort
dieses konnte ich mittlerweile lösen, ich habe
persistant benutzt !
jetzt hab ich wieder eine algebraische schleife am hut...
komm da auch nicht weiter, ich werde vermutlich bald schreiben ^^
|
|
|
Samson33 |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 23.12.2010, 14:36
Titel:
|
|
Hallo Leute, das Problem sieht jetzt wie folgt aus:
Ich möchte so eine Art korrektur Block haben ("Sum").
Einfachhalber is das einfach ein + Block.
Bsp: Input is mal konstant 1.
Input geht zum ersten mal rein. der obere input liefert ja nix.
also is der output y = 1.
dann im 2. schritt is der obere 1 und der untere ja der input 1 , d.h. y = 2.
wie mache ich das? :s
|
|
|
dany2k3k |
Forum-Fortgeschrittener
|
|
Beiträge: 66
|
|
|
|
Anmeldedatum: 01.02.10
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 25.12.2010, 16:29
Titel:
|
|
das ist genau die algebraische Schelfei,von der ich spreche
Deine Ansicht,dass im ersten Schritt noch nichts anliegt,ist falsch, das Ergebnis ist nicht einfach "1".
du benötigst für die Berechnung der Summe bereits das Ergebnis der Summe .. das ist die typischste algebraische Schleife die möglich ist.
Versuch mal diese Rechnung auf papier sinnvoll schreiben ..
Das geht gar nicht..
Wie ich bereits erwähnt habe,kannst du die algebraische Schelife auflösen,wenn du im Rrueckwaertszweig den 1/z reinhaengst , welchen du im discrete menue findest.
Mit diesem Block stimmt dann deine Auffassung,dass im ersten schritt noch nichts anliegt.. dann im naechten schritt dann das ergebnis aus dem vorrigen schritt herangezogen wird.
haeng den block einfach mal rein und versuchs,ich bin mir sicher,dass wird dein problem loesen ..
lg
daniel
Beschreibung: |
|
Download |
Dateiname: |
blabla.jpg |
Dateigröße: |
7.62 KB |
Heruntergeladen: |
1126 mal |
|
|
|
|
|
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.
|
|