szukanie zaawansowane
 [ Posty: 5 ] 
Autor Wiadomość
Mężczyzna Offline
PostNapisane: 4 lis 2016, o 20:31 
Użytkownik

Posty: 15
Lokalizacja: Olsztyn
Hej wszystkim :)
Mam pytanie odnośnie zamiany systemu na system w postaci równań stanu (macierze A, B, C, D)
W simulinku zbudowałem system o następujących równaniach:

\frac{dx _{1} }{dt}={x _{2}(t)

\frac{dx _{2} }{dt}={x _{3}(t)

\frac{dx _{3} }{dt}=b_{1}*x_{2}(t) + b_{2}*x_{2}^2(t) + x_{3}(t)*b_{3} + u(t)*a + b_{0} *a;

y(t)=x_{1}(t)



Tak, wiem że postać przypomina postać w przestrzeni stanu. Mam jednak problem ze stałym elementem b_{0} *a - jak go uwzględnić? Czy przypadkiem się on nie zeruje?

Pozdrawiam!
Góra
PostNapisane: 4 lis 2016, o 21:12 
Użytkownik
Nie, dlaczego ma się zerować? Jet to zwykła stała
Góra
Mężczyzna Offline
PostNapisane: 4 lis 2016, o 21:14 
Użytkownik

Posty: 15
Lokalizacja: Olsztyn
W takim razie w jaki sposób uwzględnić ją w zapisie macierzowym?
Nigdzie nie widziałem, żeby jakakolwiek stała była uwzględniana - taka stała nigdzie też po prostu nie występowała :D
Góra
Mężczyzna Offline
PostNapisane: 4 lis 2016, o 21:35 
Użytkownik
Avatar użytkownika

Posty: 1362
Lokalizacja: Rzeszów/Kraków
Możesz dać macierz sterowania B = \left[\begin{array}{ccc}0&0&0\\0&0&0\\0&0&a \end{array}\right] zaś sterowanie v(t) = \left[\begin{array}{ccc}0\\0\\u(t) + b_0\end{array}\right]. Trochę na pałę, ale zakładając, że znasz postać swojej funkcji u(t) oraz te stałe to powinno zadziałać. Swoją drogą - równania stanu w klasycznej formie pisze się dla układów liniowych, stacjonarnych. Twój nie jest liniowy, więc po co męczyć się z jakąś postacią macierzową? Możesz to po prostu zapisać w postaci
\dot{x} (t) = f(t, x(t), u(t))
y(t) = g(t, x(t), u(t) )
To jest najogólniejsza postać z możliwych, no ale wybrałeś układ nieliniowy, więc masz za swoje. No chyba, że to Ci potrzebne do jakichś przybliżeń układem liniowym w otoczeniu punku równowagi, w takim razie nie wiem, nie znam się.


Dopiero teraz zauważyłem jeszcze jedną rzecz. U Ciebie y(t) = x_1 (t).
y to najczęściej jest wyjście i tego się szuka. No to przecież jak znasz x_1 , x_2 to od razu masz odpowiedź układu: y(t) = \int_{t_0}^{t} x_2(\tau) \dd \tau :)
Góra
Mężczyzna Offline
PostNapisane: 15 maja 2017, o 17:14 
Użytkownik

Posty: 15
Lokalizacja: Olsztyn
Temat porzuciłem na jakiś czas, teraz mam szansę do niego powrócić.

NogaWeza napisał(a):
Możesz dać macierz sterowania B = \left[\begin{array}{ccc}0&0&0\\0&0&0\\0&0&a \end{array}\right] zaś sterowanie v(t) = \left[\begin{array}{ccc}0\\0\\u(t) + b_0\end{array}\right]. Trochę na pałę, ale zakładając, że znasz postać swojej funkcji u(t) oraz te stałe to powinno zadziałać. Swoją drogą - równania stanu w klasycznej formie pisze się dla układów liniowych, stacjonarnych. Twój nie jest liniowy, więc po co męczyć się z jakąś postacią macierzową? Możesz to po prostu zapisać w postaci
\dot{x} (t) = f(t, x(t), u(t))
y(t) = g(t, x(t), u(t) )
To jest najogólniejsza postać z możliwych, no ale wybrałeś układ nieliniowy, więc masz za swoje. No chyba, że to Ci potrzebne do jakichś przybliżeń układem liniowym w otoczeniu punku równowagi, w takim razie nie wiem, nie znam się.


Dopiero teraz zauważyłem jeszcze jedną rzecz. U Ciebie y(t) = x_1 (t).
y to najczęściej jest wyjście i tego się szuka. No to przecież jak znasz x_1 , x_2 to od razu masz odpowiedź układu: y(t) = \int_{t_0}^{t} x_2(\tau) \dd \tau :)


NogaWeza, wydaje mi się że się mylisz, aby obliczyć y trzeba obliczyć x1, zeby obliczyć x1 trzeba obliczyć x2 a żeby obliczyć x2 musze wyznaczyć x3.

Pisząc ten przykład popełniłem błąd. Układ powinen być liniowy, więc jego postać powinna być bez kwadratu przy zmiennej x2:
\frac{dx _{1} }{dt}={x _{2}(t)

\frac{dx _{2} }{dt}={x _{3}(t)

\frac{dx _{3} }{dt}=b_{1}*x_{2}(t) + x_{3}(t)*b_{2} + u(t)*a + b_{0} *a;

I rzeczywiście zgadłeś:
NogaWeza napisał(a):
To jest najogólniejsza postać z możliwych, no ale wybrałeś układ nieliniowy, więc masz za swoje. No chyba, że to Ci potrzebne do jakichś przybliżeń układem liniowym w otoczeniu punku równowagi, w takim razie nie wiem, nie znam się.

Układ ten jest układem nieliniowym po linearyzacji w otoczeniu punktu równowagi.
Opis w postaci równań stanu:
\begin{cases}   \frac{dx}{dt} = Ax+Bu  \\ y  = Cx+Du \end{cases}

Potrzebny jest do zaprojektowania układu sterowania opisanym wyżej obiektem regulacji.

No i znów zastanawiam się co z tą stałą zrobić. Jak coś wymyślę - napiszę :D
Góra
Utwórz nowy temat Odpowiedz w temacie  [ Posty: 5 ] 


 Zobacz podobne tematy
 Tytuł tematu   Autor   Odpowiedzi 
 program do równań (istnieje taki wogóle)?  matekleliczek  1
 Program do liczenia układów równań  Golab14  5
 matlab-ułamek łańcuchowy  marolo2  4
 [matlab] prosty niedzialajacy programik  rahl  3
 układ siedmiu równań  zbylo04  3
 
Atom [Regulamin Forum] [Instrukcja LaTeX-a] [Poradnik] [F.A.Q.] [Reklama] [Kontakt]
Copyright (C) Karpatka.pl