ארכיון

Posts Tagged ‘מטריצה’

העולם דרך עיניהם של מהנדסי חשמל (מטריצות, פרק הסיום) – על ייצוג במרחב המצב

זהו. הגיע רגע האמת.

הרשימה הזאת היא למעשה הסיבה שבגינה התחלתי לכתוב על מטריצות.

הרשימה הבאה, כמו זאת שקדמה לה, עוסקת בטכניקה מתמטית ולכן דוברת מתמטיקה. הפעם התרתי כל רסן בעניין. ראו הוזהרתם!

זהירות מתמטיקה

***

ברשימה הקודמת הצגתי את בעיית האוסילטור ההרמוני, התנודה המחזורית הבסיסית, והראיתי כיצד ניתן לפרק את המשוואה שמתארת אותה, משוואה דיפרנציאלית מסדר שני, לשתי משוואות מסדר ראשון. את שתי המשוואות ניתן לארוז בתוך מטריצה ולתת למחשב לפתור. כלומר נוכל למצוא באמצעות המחשב את המקום ואת המהירות של הגוף בכל רגע.
[הערת שוליים: זאת לא הדרך היחידה, ואולי אפילו לא היעילה ביותר לפתור את הבעיה באמצעות מחשב, אבל זה פחות מעניין אותי כרגע מכיוון שאני אני חותר למקום אחר.]

בעיית האוסילטור ההרמוני יכולה לייצג תנודה של מטוטלת, תנודה של גוף מחובר לקפיץ, תנועה של נדנדה, מעגלי תהודה בחשמל ועוד.

בואו נתעכב לרגע על הנדנדה. ילדה יושבת על כיסא הנדנדה ובכל פעם שהיא מתקרבת לאבא הוא נותן לה דחיפה קלה. הפעולה הזאת של הדחיפה אינה מתוארת במשוואות שעסקתי בהן פעם קודמת. כל הכוחות שפעלו על הגוף היו כוחות שקשורים למשתנים הבסיסיים של המערכת (מקום ומהירות הגוף). דחיפותיו של האב מהוות מקור כוח חיצוני שמופעל על הגוף ואינו תלוי במערכת עצמה.

עבור בעיות אלה (בעגה: אוסילטור מאולץ) נקבל משוואה אחרת שיש בה איבר מסוג חדש שנקרא לו איבר מקור.

הנה המשוואה המקורית:

Picture1

L הוא המרחק של הגוף מנקודת שיווי משקל, L עם שתי נקודות מעליו מסמל נגזרת שניה בזמן של המרחק מנקודת שיווי משקל.

והנה המשוואה המעודכנת:

Picture2

F הכוח החיצוני המופעל על הגוף.

הפתרון, אם כך, יהיה תלוי גם בתכונות הבעיה המקורית (בעגה: הבעיה ההומוגנית) וגם בתכונות הכוח החיצוני.

אחד הדברים החדשים והמעניינים שמופיעים במערכות כאלה הוא תופעת התהודה. הפתרון של המערכת תלוי בתדירות הכוח המנדנד. אם האב מתאם את הרגעים שבהם הוא דוחף את הילדה לתדירות מאוד מסוימת, הגובה שתגיע אליו הילדה יגדל מאוד אפילו ללא הגברת כוח הדחיפה. כלומר, ישנם תדרי נדנוד שבהם המערכת, במובן מסוים, יוצאת מכלל שליטה. בתדרים נמוכים וגבוהים מתדרי התהודה פעולת הדחיפה משפיעה באופן מתון או אפילו מפריעה לתנועה. לעומת זאת, בתדר התהודה המערכת משתוללת והילדה עפה מהנדנדה, לא עלינו. ניתן לחשב את תדרי התהודה על ידי פתרון מתמטי של המערכת או לגלות אותם על ידי מדידה.

אבל,

ברשימה זאת אני לא רוצה לעסוק בפתרון המערכת הספציפית הזאת אלא דווקא בדרכים מיוחדות לייצג משפחה שלמה של בעיות דומות. מה שמקשר בין הבעיות הוא שהן מתארות מערכת שלתוכה מוזן אות כניסה (למשל הכוח החיצוני שמופעל על הגוף) ונמדד אות יציאה (למשל מיקום הגוף בכל רגע ביחס לנקודת שיווי משקל).

ככה מהנדסי חשמל רואים את העולם.

***

בואו ונניח שניתן לתאר את המערכת על ידי שתי המשוואות הבאות:

Picture3

x הוא וקטור משתני המצב, u המקור, כלומר הכוח החיצוני, x עם נקודה למעלה מסמל נגזרת אחת בזמן של וקטור משתני המצב. y מסמל את אות היציאה של המערכת, למשל באוסילטור את המרחק מנקודת שיווי המשקל בכל רגע. A,B,C,D הם קבועים שאינם תלויים בזמן (בעגה מערכת כזאת נקראת LTI, כלומר linear-time-invariant).

המשוואה העליונה מתארת את הפיזיקה של משתני המצב שבחרנו. למשל במקרה של אוסילטור הרמוני הראיתי בסוף הרשימה הקודמת שמשתני העזר שנבחרו היו המקום והמהירות של הגוף. זה לא מקרי שמשתני המצב הם נגזרות אחד של השני.

המשוואה התחתונה מגדירה את אות היציאה שהחלטנו למדוד.

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

נרשום שוב את המשוואה כולל איבר המקור:

Picture4

סימנתי את איבר המקור F באות u מטעמי נוחות והרגל.

משתני העזר שלי הם:

Picture5

לכן שתי המשוואות שמייצגות אותן הן:

Picture6

נסגור את שתי המשוואות בכתב מטריצי:

Picture7

נניח שאות היציאה שמעניין אותנו הוא מרחק הגוף מנקודת שיווי משקל בכל רגע. אם כך אנחנו מעוניינים רק באיבר הראשון בווקטור המצב. נתרגם לכתב מטריצי:

Picture8

ולכן המערכת מתוארת על ידי:

Picture9

כעת כל המידע על אופייה של המערכת גלום במקדמים שלה A,B,C,D שהם וקטורים ומטריצות. אני אנסה להסביר מדוע דרך דוגמה.

***

התמרת פורייה היא אופרציה מתמטית שמפרקת פונקציה לרכיבי התדר הבסיסיים שמרכיבים אותה. לדוגמה, צג האקולייזר במערכת הסטריאו שלכם מראה בכל רגע מה העוצמה של כל צליל שצריך לחבר כדי לקבל את המוזיקה שאתם שומעים. אם יש למשל הרבה בס אז עוצמת התדרים הנמוכים תהיה גבוהה. הסברתי בעבר על הנושא ברשימה על מוזיקה מרובעת.

אחת התכונות המוזרות של התמרת פורייה היא שאם מפעילים אותה על משתנה תחת נגזרת מקבלים את המשתנה ללא נגזרת כפול קבוע הקשור לתדר. כלומר ניתן להפעיל את ההתמרה על משוואה דיפרנציאלית, להפוך אותה לאלגברית, לפתור אותה בקלות, ואז לנסות להמיר חזרה לתחום הזמן (שזה לא ממש קל). כל עוד המשתנים תחת ההתמרה אנחנו נקרא להם הייצוג בתחום התדר, כי הפונקציות הופכות הרי לפירוק התדרים ולכן הן פונקציות של התדר ולא של הזמן.

בטיפול במערכות אלה נהוג להשתמש בהתמרה שנקראת 'התמרת לפלאס' במקום בהתמרת פורייה. קצרה היריעה מלעמוד על ההבדלים ביניהן, אבל לענייננו זה לא ישנה דבר.

נפעיל את התמרת לפלאס על הייצוג הכללי של מערכת המצב:

Picture10

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

קיבלנו שתי משוואות אלגבריות, כאשר אנחנו זוכרים שהמקדמים A,B,C,D הם מטריצות. נבודד את X מתוך המשוואה הראשונה באמצעות אלגברה של מטריצות ונציב אותו במשוואה השניה:

Picture11

I היא מטריצת היחידה.

קיבלנו ביטוי בתחום התדר עבור מוצא המערכת Y בהינתן המקור U. אם נחלק ביניהם נקבל ביטוי שנקרא פונקצית התמסורת (transfer function) של המערכת, כלומר מה יוצא ביחס למה שנכנס, הכל כתלות בתדר הנדנוד.

בואו ונתרגם את התוצאה למקרה של אוסילטור הרמוני פשוט ללא חיכוך על ידי הצבת המקדמים הרלוונטיים שקיבלנו קודם:

Picture12

ניתן לראות שקיבלנו במכנה פולינום עבור המשתנה s. נזכר שזה בדיוק הפולינום האופייני של המערכת ששורשיו מכתיבים את התנהגות המערכת כפי שראינו ברשימה הקודמת. אלה נקראים הקטבים של המערכת והם קובעים את התנהגותה. קיבלנו אותם מתוך המטריצה A (בעגה: מצאנו את הערכים העצמיים שלה). למעשה מרגע שניסחנו את הייצוג, יכולנו לגלות חלק חשוב מהתנהגות המערכת מתוך ניתוח המטריצה עצמה, ללא פתרון מלא שלה. למשל, אם אחד מקטבי המערכת ממשי וחיובי אז הפתרון בזמן יהיה תלוי בפונקציה אקספוננציאלית מתפוצצת ולכן המערכת אינה יציבה בזמן.

ישנן עוד תכונות רבות וחשובות שניתן לראות ישירות מתוך הייצוג, ללא פתרון מלא בזמן. ברגע שיש לנו את המקדמים A,B,C,D המערכת הפיזיקלית חשופה בפנינו. חשופה גם לאפיון אך גם לשליטה. למשל את בעיית היציבות שהזכרתי ניתן לתקן על ידי חיבור משוב במערכת, כלומר חיבור אות היציאה לתוך הכניסה, שישנה את הקטבים של המערכת. כמה הגבר יש לקבוע עבור אות המשוב כדי לייצב את המערכת? קל לקבוע בחישוב מתוך הייצוג.

***

ייצוג בעיות פיזיקליות כמערכת של כניסות ויציאות הוא כלי חזק של תכנון ושליטה בידי המהנדס. הוא נקרא 'ייצוג במרחב המצב' (state space representation) והוא חלק חשוב מתוך תורת הבקרה. כל החישוב האמיתי נעשה על גבי המחשב, לתוכו אנחנו מזינים את המטריצות שמייצגות את המערכת, ומבצעים את האפיון והתכנון של המערכת באמצעות כלים ממוחשבים מתוחכמים שנכתבו למטרות אלה.

זהו.

מטריצה אובר-אנד-אאוט.

מודעות פרסומת

אפילו שימפנזה – על פתרון מעגלים חשמליים באמצעות מטריצות

ברשימה הקודמת נתקלנו במושג 'מטריצה'. ראינו שניתן להציג מערכת משוואות ליניאריות באמצעות מטריצות ולהשתמש בתכונות המטריצה כדי למצוא את הפתרונות עבור הנעלמים. מה שלא ראינו זה איך זה עוזר לנו לשלם במכולת.

***

איור 1 הוא ייצוג סכמטי של מעגל חשמלי. ישנו מקור מתח חשמלי V, וחוטים מוליכים דרכם עובר זרם חשמלי I מהמקור לצרכן ומהצרכן למקור. הצרכן מסומן כנגד, שעליו מתקיים 'חוק אוהם', כלומר שיש יחס ישר בין המתח עליו לבין הזרם דרכו, וקבוע הפרופורציה הוא ההתנגדות החשמלית שמסומנת ב-R. הבחירה בצרכן כנגד אוהמי היא רק לשם פשטות. הצרכן יכול להיות כל מכשיר חשמלי או מעגל שתחברו לספק המתח, למשל טוסטר משולשים. את הזרם על הנגד נוכל לחשב על ידי הצבת מתח הספק וההתנגדות של הנגד לתוך חוק אוהם (I=V/R).

מעגל 1 איור 1: צרכן\נגד מחובר למקור מתח חשמלי וזרם חשמלי זורם במעגל. אם נניח נגד אוהמי נוכל להשתמש בחוק אוהם לחישוב הזרם.

חישבו על המעגל כעל מפל מים. בהדק החיובי של הספק יש מים במאגר גבוה, כלומר בחלק העליון של המפל. כוח הכובד גורם למים ליפול לגובה נמוך יותר ותוך כדי כך אנחנו יכולים להפיק מכך עבודה, למשל לסובב גלגל של תחנת קמח או טורבינה בתחנת כוח. אותו דבר קורה על הנגד שיכול להיות למשל סלילי החימום בטוסטר משולשים. נושאי המטען הגיעו לנגד באנרגיה פוטנציאלית גבוהה, ויצאו באנרגיה פוטנציאלית נמוכה, תוך יצירת חום. את המים בתחתית המפל ניתן לשאוב חזרה אל חלקו העליון. זה בדיוק מה שעושה ספק המתח מההדק השלילי לחיובי.

חשוב לשים לב שאם עוקבים אחרי מסלול סגור, גם במקרה של המים וגם במקרה החשמלי, ומחברים עליות וירידות באנרגיה צריכים לקבל סה"כ אפס מכיוון שהאנרגיה נשמרת (בעגה: כוח הכבידה והכוח החשמלי הם כוחות משמרים).

עד כאן הכל פשוט.

***

איור 2 הוא גם ייצוג סכמטי של מעגל חשמלי, אבל מאיים מעט יותר. השאלה כאן היא מהו הזרם על נגד R3. הבעיה היא שהפעם לא נוכל להשתמש בחוק אוהם כמו במעגל הקודם מכיוון שהנגד לא מחובר ישירות לספק המתח ולכן אין אנו יודעים מה המתח עליו ומה הזרם עליו. חלק מהמתח 'נפל' על נגד R1, ולכן המתח על R2 ו-R3 לא ידוע.

מעגל 2 איור 2: מעגל חשמלי עם שני חוגים. המתח על נגד R3 אינו ידוע ללא חישוב. I1 ו-I2 אינם הזרמים האמיתיים במעגל אלא זרמי החוגים שהם משתני עזר בדרך לפתרון הבעיה.

מי שלמד מעט אלקטרוניקה יודע שיש מספר שיטות פשוטות כדי לחשב את התשובה (לדוגמה חישוב התנגדות שקולה או שימוש בחוקי קירכהוף). הבעיה היא ששיטות אלה מסתבכות מאוד ככל שנסבך את המעגל וגם אינן מותאמות באופן מיטבי לפתרון באמצעות מחשב.

בכוונתי להציג שיטה אחרת שתראה בתחילה מסובכת הרבה יותר אבל ברגע שנבין אותה היא תהיה כל כך פשוטה, כך שאפילו שימפנזה יוכל לפתור כל מעגל, מסובך ככל שיהיה. חשוב מכך, השיטה לפעמים לא תהיה הכי נוחה לפתרון עבור אדם, אך היא מותאמת בצורה מושלמת לפתרון על ידי מחשב.

נזכר שבמסלול סגור סה"כ עליות ונפילות המתח צריכות להסתכם לאפס. נבחר שני מסלולים סגורים כאלה (מתוך שלושה אפשריים) ונכתוב עבור כל אחד משוואה (ראו איור 2). ספק המתח מעלה את המתח (מעלה את המים) ונגד מוריד אותו (מפיל את המים).

1

כעת נשתמש בסוג של טריק ונגדיר משתני עזר לבעיה. נגדיר זרם בכל חוג (I1 ו-I2 באיור 2). הזרמים האלה אינם אמיתיים כי הרי ברור שהזרם שונה בענפים שונים עקב פיצול בנקודת הצומת. אבל אנחנו נגדיר אותם כך בכל זאת.

נשתמש בחוק אוהם כדי להמיר את המתחים במשוואה לזרמים והתנגדויות. נשים לב שדרך נגד R2 עוברים שני הזרמים I1 ו-I2, ובכיוונים שונים ולכן ההשפעה של I2 על R2 היא של עליית מתח ולא נפילה.

2

נלוש מעט את המשוואות ונסדר אותן בצורה יותר נוחה:

3

הגענו לסט של שתי משוואות בשני נעלמים (הזרמים). ברשימה הקודמת ראינו איך לפתור את הבעיה בעזרת מטריצות. ראשית נרשום את המשוואות בצורה מטריצית:

4
*[הערת שוליים: מי שלא מתעניין במתמטיקה או בפתרון יכול לדלג בנקודה זאת ישירות לחלק הבא. היו סמוכים ובטוחים שהשיטה תניב פתרון נכון].*

נשתמש במטריצה ההופכית כדי למצוא את הפתרון:

5

R-1 היא המטריצה ההופכית של המטריצה R. ברשימה הקודמת הגדרנו מטריצה הופכית וראינו איך לחשב אותה. התשובה היא:

6

נשתמש בחוקי הכפל של מטריצות כדי להגיע לפתרון עבור הזרם שמעניין אותנו:

7

תם ונשלם. זרם החוג I2 הוא אולי לא זרם אמיתי אבל על R3 הוא בדיוק הזרם שאנחנו מחפשים. אם היינו מחפשים את הזרם על הנגד R2 היינו פשוט מחשבים לפי I1-I2.

***

אז מדוע הטרחתי אתכם עם הדרך הארוכה והמסובכת הזאת? אדגיש שוב שישנן דרכים פשוטות הרבה יותר לפתרון המעגל שמופיע באיור 2.

ברשותכם נחפור מעט לתוך המשוואה הראשונית בצורתה המטריצית. התבוננו במשוואה, האם אתם מבחינים בחוקיות כלשהי?

8

איברי האלכסון הראשי של מטריצה R הם סך כל ההתנגדויות על כל חוג. האיברים מחוץ לאלכסון הם ההתנגדויות המשותפות לשני החוגים בסימן מינוס (כל עוד זרמי החוגים בכיוונים הפוכים). כל איבר במטריצת המתחים הוא סך כל מקורות המתח בחוג הרלוונטי.

למעשה יכולנו לכתוב את המטריצה לפי החוקיות הזאת באופן אוטומטי ללא צורך בכתיבת משוואות. החוקיות נשמרת גם אם נזדקק למספר גדול יותר של חוגים ולמטריצות מסדר גבוה יותר.

שיטה זאת נקראת 'זרמי חוגים' (Mesh current) ובאמצעותה ניתן לפתור כל מעגל מהצורה שהצגתי כאן בלי לבצע שום ניתוח ולמעשה ללא צורך להפעיל את המוח, גם במקרה של מעגלים סבוכים שבהם מספר רב של נגדים ומקורות מתח. ניסחנו אלגוריתם שמוביל למטריצה ולחישוב שאותו מבצע המחשב. אנחנו יכולים לנוח!

כעת, בזמן שהמחשב מחשב עבורנו, יש לנו זמן ללכת לעבוד (אולי בתכנון מעגלים חשמליים), להרוויח מלא כסף, וללכת לקנות איתו במכולת.

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

מ.ש.ל

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

המחשב הוא גולם.

ואם אנחנו רוצים שהגולם יעבוד עבורנו עלינו לתרגם את המידע לצורות שהוא מבין.

המחשב אוהב מספרים. ככל שנצליח לנסח את הבעיות שלנו באמצעות מספרים בלבד ובאמצעות מבנים שמוכרים כבר בתוך המכונה, כך הפתרון יהיה פשוט יותר.

***

נבחן בעיה פשוטה ומוכרת במתמטיקה: פתרון שתי משוואות בשני נעלמים.

01

הכוונה היא שיש לנו שני משתנים x ו-y ואנחנו דורשים שיקיימו את שני התנאים שמוצגים דרך שתי המשוואות. במקרה הנתון יש רק פתרון אחד עבור x ו-y שיקיים את התנאים והוא x=y=1.

כעת בואו ונסבך את העסק. זה ישתלם לנו בהמשך.

***

נגדיר מטריצה (באופן לא פורמלי) כמערך דו-ממדי של מספרים, המסודרים בשורות וטורים. לדוגמה, נוכל להגדיר את המטריצה A הבאה:

02

ממדיה של מטריצה A הם 2×2, כלומר שתי שורות על שני טורים. יכולתי לבחור כל זוג מספרים שלמים עבור הממדים, כלומר מספר הטורים והשורות לא חייב להיות זהה.

נוכל להגדיר פעולות חשבוניות בין מטריצות. הצורה בה נגדיר את הפעולות היא קונסיסטנטית, יש בה הגיון פנימי כלשהו והיא תשתלם לנו בהמשך.

חיבור: רק עבור מטריצות זהות ממדים, נחבר איברים במיקום זהה.

03

כפל: נכפול שורה מסוימת ממטריצה A בטור מסוים ממטריצה B, נחבר תוצאות ונמקם במטריצה חדשה לפי מספר השורה הכופלת ומספר הטור הכופל. כלומר האיבר במקום (2,1) הוא התוצאה של כפל שורה 2 בטור 1.

המחשת הכפל בציור (עקבו אחרי החצים לפי צבעים משמאל לימין):

כפל מטריצות

ובצורה פורמלית יותר:

04

ניתן לכפול מטריצות גם אם ממדיהם שונים, כל עוד מספר השורות של B זהה למספר הטורים של A. לדוגמה:

05

מהי המטריצה המקבילה למספר 1? נדרוש שכל פעולת כפל עם מטריצה זאת לא תשנה את האיבר השני בכפל, כלומר A היא מטריצת יחידה אם A•B=B•A=B עבור כל B. המטריצה שמקיימת תכונה זאת נראית כך:

06

אתם מוזמנים לבדוק.

כעת נוכל להגדיר מהי מטריצה הופכית, כלומר 1 חלקי מטריצה. נדרוש שתוצאת הכפל בין מטריצה להופכית שלה תהיה תמיד מטריצת היחידה I. כלומר:

07

קיבלנו 4 משוואות ב-4 נעלמים (אברי ה-b). ניתן להראות שהתוצאה היא:

08

אתם מוזמנים לבדוק.

את כל חוקי החשבון כתבתי לשם פשטות עבור מטריצות קטנות בעלות ממדים 2×2 , אבל ניתן להכליל את החוקים למטריצות בכל גודל שנרצה. זה מסבך מעט את העסק ולא נחוץ לי כרגע.

השאלה היותר חשובה היא למה טרחתי להראות את כל זה?!

***

זוכרים את מערכת המשוואות שהתחלנו ממנה?

09

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

10

נסמן את המטריצות באותיות A, V, ו-R כפי שרואים למעלה ונקבל משוואה פשוטה שבה אנחנו בעצם מחפשים פתרון עבור V. להתרת המשוואה נכפיל את שני האגפים במטריצה ההופכית של A ונקבל:

11

שימו לב שהשתמשתי בתכונות מטריצת היחידה I.

המסקנה מהתרגיל היא שכדי למצוא את הפתרון עבור V כל שעלינו לעשות הוא להכפיל את ההופכית של A במטריצה R.

12

אבל למה טרחתי להראות את כל זה?! זה נראה הרבה יותר מסובך מהשיטה שלמדנו בחטיבת הביניים.

שימו לב שאם הייתי בוחר מערכת של 10 משוואות ו-10 נעלמים לא הייתם מסוגלים לפתור אותה בפחות מ-10 שעות בשיטה 'הישנה'.

מטריצות הן מבנה סדור של מספרים והן מקיימות חוקי מתמטיקה ברורים וחדים בין אחת לשניה. לכן קל לתכנת לתוך המחשב את המבנה שלהן ואת חוקי האלגברה שהן מקיימות. קיימות תוכנות רבות שפונקציות אלה כבר כתובות בהן.

אם כך נוכל לפתור כל מערכת משוואות ליניארית על ידי הקשת נתוני המטריצות השונות שמייצגות את הבעיה לתוך המחשב, ולקבל את הפתרון באופן מידי ללא טיפת מחשבה וללא אגל זעה בודד על המצח. צוואר הבקבוק בחישוב הפתרון יהיה חישוב המטריצה ההופכית, אבל זה כבר בעיה של הגולם*. שיעבוד!

*[הערת שוליים: ובעיה גם של מי שצריך לתכנת אותו, אבל את זה צריך לעשות רק פעם אחת].

***

"אבל מה בכלל אכפת לנו מכל המשוואות האלה? עם n משוואות ב-n נעלמים לא קונים במכולת!"

אההה! במקרה הרשימה הבאה תעסוק בדיוק בזה. אמנם לא נקנה במכולת, אבל נעשה עם מטריצות משהו אפילו יותר מעניין.

:קטגוריותכללי תגיות: ,