Guten Morgen miteinander,
Mich plagt ein Problem für welches ich noch keine zufriedenstellende
Lösung gefunden hab.
Wie handhabt man das mit der klassischen Zustandsraumdarstellung, wenn
ein Element der B-Matrix von einem Zustand im x-Vektor abhängt?
Ich bräuchte eiegntlich sowas wie
Momentan mach ich das einfach numerisch in Octave. Aber das ist relativ
langsam, weil alles mit einer For-Schleife abgefrühstückt wird, die
durch meine Messdaten nudelt.
In etwas so:
1 | for i=1:length(input1)
|
2 | g_input = y(1) * param;
|
3 |
|
4 | u(1) = g_input * input1(i);
|
5 | u(2) = input2(i);
|
6 | u(3) = input3(i);
|
7 |
|
8 | x = x + ( ((A*x)+(B*u)) * dt(i);
|
9 | y = x;
|
10 | end
|
Die Ausgangsgleichung kann man weglassen weil D = 0 und C =
Einheitsmatrix. Da nehm ich einfach den x-Vektor.
dt is einfach ein Diff aus dem Zeit-Vektor der Messdaten.
Das funktioniert so auch ohne Probleme, aber es is halt Langsam.
Besser wäre es ja, könnte ich alles in die ABCD-Matrizen packen und dann
lsim(...) benutzen. Das wäre wesentlich schneller.
Ich tue mir nur schwer mit der Struktur halt.
Was überseh ich da? Ist es ggf. garkein LTI-System dann?
Gruß Fett