תורת הבקרה/פתרון משוואת המצב עבור מערכת קבועה בזמן

מתוך ויקיספר
קפיצה אל: ניווט, חיפוש

משוואת המצב -

\ \dot \vec x= A\vec x+B\vec u

היא מד"ר מסדר ראשון, אלא שהמשתנים הם וקטורים והמקדמים הם מטריצה.

מכאן והלאה, אם לא צוין אחרת, x הוא וקטור מסדר n.

כניסה אפס[עריכה]

נפתור באמצעות הפרדת משתנים:

\ \dot \vec x= A\vec x \quad\Rightarrow\quad {dx(t)\over x(t)}=Adt \quad\Rightarrow\quad x(t) = e^{At+C}

במקום קבוע מעריכי C נציב קבוע כפלי, שהוא למעשה תנאי ההתחלה:

\ x(t) = x(t_0)e^{At}

המטריצה \ e^{At} נקראת מטריצת מצב-מעבר (state-transition matrix), ונדון עליה בהמשך. כמו כן, הביטוי \ x(t_0)e^{At} הוא הפיתרון ההומוגני של המשוואה שנפגוש בהמשך:


כדאי לדעת:

במטלאב: את אקספוננט המטריצה A יש לחשב באמצעות הפונקציה expm, ולא באמצעות exp הרגיל, אשר מחשב איבר-איבר.

כניסה שונה מאפס[עריכה]

במקרה זה לא ניתן לבצע הפרדת משתנים. הטריק הוא להכפיל ב-\ e^{-At} ואז נקבל נגזרת של מכפלה:

\ e^{-At}\dot x(t)- e^{-At}Ax(t)= {d\over dt}\left[e^{-At}x(t)\right] = e^{-At}Bu(t)

נבצע אינטגרציה על הביטוי האחרון מהזמן ההתחלתי t0 ועד לזמן הנוכחי t, ונקבל:

Blue think.svg \ \tau הוא משתנה דמה!
x(t) = e^{A(t-t_0)}x(t_0) + \int_{t_0}^{t}e^{A(t - \tau)}Bu(\tau)d\tau

באופן דומה, עבור משוואת הפלט נקבל:

y(t) = Ce^{A(t-t_0)}x(t_0) + C\int_{t_0}^{t}e^{A(t - \tau)}Bu(\tau)d\tau + Du(t)

זהו הפתרון הכללי של משוואת מצב LTI עם כניסה שונה מאפס.

מטריצת המעבר[עריכה]

מטריצת המעבר קיבלה את שמה בעקבות הקישור שהיא ממלאת:

\ \vec x(t_1)= e^{A(t_1-t_0)}\cdot \vec x(t_0)

כלומר, מקשרת בין וקטורי המצב בין שני זמנים כלשהם.

מטריצת המעבר מוגדרת:

\ \phi(t_1,t_0)=e^{A(t_1-t_0)}= \phi(t_1-t_0)

תכונות מטריצת המעבר[עריכה]

  1. \ \dot\phi(t,t_0)=A\phi (t,t_0)
  2. \ \phi(t_0,t_0)=I
  3. \ \phi(t_2,t_0)=\phi(t_2,t_1)\cdot \phi(t_1,t_0)
  4. \ \phi(t_0,t_1)=\phi^{-1}(t_1,t_0)
  5. הערכים העצמיים של A הם קטבי המערכת.
  6. טרנספורמציה לינארית של משתני המצב לא תשנה את הקטבים.

חישוב מטריצת המעבר[עריכה]

באמצעות טור טיילור[עריכה]

\ e^{At}= I+At+ {1\over 2!}(At)^2+\cdots = \sum_{n=0}^{\infty} {(At)^n\over n!}

מטלאב:

expm(A);


באמצעות התמרת לפלס[עריכה]

\ \dot\vec x=A\vec x \quad\Rightarrow\quad s\vec X(s)-\vec X_0=A\vec X(s) \quad\Rightarrow\quad \vec X(s)=[sI-A]^{-1} \vec X_0

נבצע התמרה הפוכה, חזרה למישור הזמן:

\ \vec x(t)= \mathcal{L}^{-1} \left\{\left[sI-A\right]^{-1}\vec X_0 \right\}

כך שבזמן אפס:

\ \phi(t)=\phi(t,0)= \mathcal{L}^{-1} \left\{\left[sI-A\right]^{-1} \right\}

כלומר מטריצת המעבר היא:

\ \phi(t)=e^{At}= \mathcal{L}^{-1} \left\{\left[sI-A\right]^{-1} \right\}

דוגמאות[עריכה]

(להשלים)

טרנספורמציה לינארית של משתני המצב[עריכה]

כזכור, מערכת משתני המצב מוגדרת כך:

\begin{cases}\dot \vec x= A\vec x+B\vec u \\ \vec y= C\vec x+D\vec u \end{cases}

נגדיר וקטור מצב חדש באמצעות מטרית המעבר Q:

\ \vec z= Q\vec x,\ \vec z(t_0)=Q\vec x_0

כאשר Q מן הסתם הפיכה, כלומר: \ \mbox{det} Q\neq 0, ואז:

\ \begin{cases} \vec x=Q^{-1}\vec z \\ \dot\vec x= Q^{-1} \dot\vec z \end{cases}

אם נציב ביטויים אלו למערכת משתני המצב, נקבל:

\begin{cases}\dot \vec z= QAQ^{-1}\vec z+QB\vec u \\ \vec y= CQ^{-1}\vec z+D\vec u \end{cases}

נגדיר את הביטויים:

\ \begin{cases}\tilde A= QAQ^{-1},\ \tilde B=QB \\ \tilde C = CQ^{-1}\end{cases}

ואז:

\begin{cases}\dot \vec z= \tilde A\vec z+\tilde B\vec u \\ \vec y= \tilde C\vec z+D\vec u \end{cases}

טרנספורמציה קנונית: לכסון משוואת המצב[עריכה]

נסמן \ \lambda_i,\ \vec v_i הערכים העצמיים והוקטורים העצמיים המתאימים להם, של המטריצה A, ונניח בפיתוח זה כי הם שונים זה מזה, כלומר:

\ \lambda_i\vec v_i=A\vec v_i\ ,\quad \lambda_i\neq\lambda_j\ \quad\forall i\neq j;\;\; i,j=1,...,n

נגדיר:

\ V=Q^{-1}

כך ש:

\ \vec x=V\vec z,\quad \vec z_0=V^{-1}\vec x_0

ו-V היא מטריצת הוקטורים העצמיים, כך ש:

\ V=[\vec v_1\ \vec v_2\ \cdots\ \vec v_n]

ו-Λ היא מטריצה אלכסונית של הערכים העצמיים:

\ \Lambda=\mbox{diag}(\lambda_1,\lambda_2,\ \cdots\ \lambda_n)

נבצע את המכפלה AV לשם הבהרה:

\ AV= [A\vec v_1\ A\vec v_2\ \cdots\ A\vec v_n]= [\lambda_1\vec v_1\ \lambda_2\vec v_2\ \cdots\ \lambda_n\vec v_n]= \underbrace{[\vec v_1\ \vec v_2\ \cdots\ \vec v_n]}_V \underbrace{\begin{bmatrix}
\lambda_1 & \cdots & 0 \\
\vdots & \ddots & \vdots \\
0 & \cdots & \lambda_n
\end{bmatrix}}_{\Lambda}=V\Lambda

ולכן:

\ A=V\Lambda V^{-1}

כך שמתקבל:

\begin{cases}\dot \vec z= \Lambda\vec z+V^{-1} B\vec u \\ \vec y= CV\vec z+D\vec u \end{cases}

מטריצת מעבר[עריכה]

Blue think.svg \ \dot\vec z=\Lambda\vec z+V^{-1}B\vec u
\ \phi(t)=e^{\Lambda t}= \begin{bmatrix}
e^{\lambda_1 t} & \cdots & 0 \\
\vdots & \ddots & \vdots \\
0 & \cdots & e^{\lambda_n t}
\end{bmatrix}

לשם המשך הפיתוח, נשתמש בקשר הבא:

\ A=V\Lambda V^{-1} \quad\Rightarrow\quad A^n=V\Lambda^n V^{-1}

כך שמתקיים:

\ e^{At}=I+At+{(At)^2\over 2}+\cdots = VV^{-1}+ V\Lambda V^{-1}t+ {(V\Lambda V^{-1})^2\over 2!}t^2+\cdots=
\ =V(I+\Lambda t+ {(\Lambda t)^2\over 2!}+\cdots)V^{-1}= V e^{\Lambda t}V^{-1}

לסיכום:

\ e^{At}= Ve^{\Lambda t}V^{-1} \quad\Longleftrightarrow\quad e^{\Lambda t}=V^{-1}e^{At}V

ערכים עצמיים מריבוי r[עריכה]

(להשלים)