2017-01-16 4 views
0

I derzeit an einem Raumfahrzeugkörper arbeite mit Stellantrieb, und angesichts der folgenden Gleichung:Updating Wert in Simulink

J·w_dot = -w^x·J·w + u         (1) 

wo w^x ist eigentlich eine Notation der 3x3-Matrix

[ 0 -w3 w2 
    w3 0 -w1 
-w2 w1 0] 

durch Umordnen (1), habe ich w_dot = (-w^x·J·w + u)/J. Und hier stelle ich das Problem, ich muss ständig Wert für w_dot aktualisieren, aber ich habe keine Ahnung, wie. Ich habe versucht, die Speicher Block, aber es nur alle 0,2 Sekunden aktualisieren, die nicht für das System geeignet ist.

Dies ist meine aktuelle Einstellung:

enter image description here

ich den Integrator Block denken könnte derjenige sein, der jeden einzelnen Zyklus aktualisiert werden, als Ausgangszustand festgelegt werden kann.

Antwort

1

Ja, Ihre Lösung scheint richtig zu sein; Der Integratorblock bewirkt, dass das System zeitkontinuierlich und nicht zeitdiskret ist. Dadurch werden die Ergebnisse so genau ausgegeben, wie Simulink dies erreichen kann.

können Sie Anfangswerte gesetzt für den Integrator durch einen Doppelklick auf den Integrator Block, das Setzen der „Initial condition source“ auf „external“, dann verbindet einen anderen Eingang oder konstant Block, Ausgang, oder was auch immer Sie wollen Bereitstellung des Anfangswertes.

Übrigens, ist J die inertia tensor? In diesem Fall kann man nicht einfach "teilen". Sie sollten mit der Umkehrung multiplizieren (Einstellung "Matrix" als "Multiplication" Option in Teilen Blockoptionen)