Hallo, ich bin ganz neu mit Matlab/Simulink und habe etwas Probleme, einige Konzepte zu erfassen (Programmiere sonst schon viele Jahre C++ etc.). Ich möchte z.B. folgendes tun: a.) Zwei Funktionen, eine update(x) und ergebnis(). Die Funktion update(x) verarbeitet x und speichert irgendwo ein Zwischenergebnis, und die Funktion ergebnis() liefert eben das Ergebnis und setzt das Zwischenergebnis wieder zurück. Also etwa so: a = ...; b = ...; update(a); update(b); x = ergebnis(); c = ...; d = ...; e = ...; update(c); update(d); update(e); y = ergebnis(); Ich möchte keine Funktionen mit variablen Parametern oder so. Sondern das Zwischenergebnis soll zwischen den Aufrufen erhalten bleiben. b.) In Simulink möchte ich einen Block programmieren, der auch einen eigenen Zustand/Zwischenergebnis hat, und mit einer festen Sample-Frequenz aufgerufen wird und dann eben jedesmal ein neues Ergebnis liefert, das aus dem aktuellen Eingangswert und dem vorherigen Ergebnis besteht. Wie löse ich diese beiden Probleme? Stichwort, Hinweise zu Doku oder Trivial-Beispiel reichen mir vollkommen, dann kann ich schon selbst weiter suchen. Aber im Moment weiß ich nicht nach welchen Stichwörtern ich suchen soll und habe das Gefühl, dass ich konzeptionell Matlab/Simulink noch nicht ganz verstanden habe.
Zu b) Matlab Function mit persistent variable. Taktrate mit Rechtsklick auf den Block und bei "Subsystem Parameters" einstellen. Vor und nach dem Block wirst du dann vermutlich rate Transition Blocks benötigen.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.