Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
Download

11th grade-all tasks

2151 views
Kernel: SageMath (stable)
import sympy as sp import matplotlib.pyplot as plt sp.init_printing()

מטריצות-בשביל מה זה טוב?

שמות:

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

פיתרון של מערכת משוואות ליניארית

שימוש אחד הוא בהצגה ופיתרון של מערכת משוואות ליניארית. נתונה מערכת המשוואות הבאה :
$$ 3x + 2y + z = 2$$ $$ x + 5y+z=1$$ $$2x-y-7z=14$$

נגדיר את מטריצת מטריצת המקדמים את המטריצה: (321151217) \begin{pmatrix} 3 & 2 & 1 \\ 1 & 5 & 1\\ 2 & -1& -7 \end{pmatrix} נגדיר שני ווקטורי עמוד: $$\begin{equation}

X= (xyz)\begin{pmatrix} x\\ y \\ z \end{pmatrix},

B=(2114)\begin{pmatrix} 2\\ 1\\ 14 \end{pmatrix} \end{equation}$$

תרגילים

1. מצאו בעזרת הפונקציה solve של החבילה sympy את הפתרון של מערכת המשוואות: 3x+2y+z=2 3x + 2y + z = 2 x+5y+z=1 x + 5y+z=1 2xy7z=142x-y-7z=14
2. הגדירו בעזרת sympy את מטריצת המקדמים A המטריצה B ואת מטריצת העמוד X.
3. הראו כי ניתן להציג את מערכת המשוואות בצורה: AX=BAX=B
4. הראו כי המכפלה A1BA^{-1}B נותנת וקטור שרכביו הם פתרונות המערכת.
5. מסתו של הגוף היא 4kg4kg. הוא נע לכיוון אופקי בתאוצה קבועה של20m/s220m/s^2. על הגוף פועלים שני כוחות, עוח F1F_1 הפועל בזווית 30o30^o לתאוצה ולמעלה וכוח F2F_2 הפועל מטה.
א. הרכיבו מערכת משוואות באמצעותה תוכלו לחש את גודלו של כל אחד מהכוחות.
ב. הגדירו את מטריצת המקדמים.
ג. בעזרת sympy מצאו פתרון למערכת המשוואות.

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

fig = plt.figure(figsize = (5,5)) plt.arrow(0, 0, 0.5, 0.5, head_width=0.05, head_length=0.1, fc='m', ec='m') plt.text(0.3,0.25, "$F_1$",fontsize = 15) plt.title('Force diagram')
<matplotlib.text.Text at 0x7f397c9aab70>
Image in a Jupyter notebook

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

בסעיף זה תלמדו לפתוח קובץ נתונים המכיל שיעורי נקודות במישור והכנסת הנתונים לרשימה באופן כזה שכל מקום ברשימה מכיל את שיעורי אחת הנקודות.
בתת המחיצה meeting6 שבמחיצה data נמצא קובץ בשם nospmis.txt. כדי לפותוח קובץ משתמשים בפקודה:
f=open("path /file_name",'r')
כאשר path הוא הנתיב המלא לקובץת במקרה זה /home/user/meeting6 ו- file_name הוא שם הקובץ. הפרמטר השני בפונקציה open מציין שהקובץ הוא לקריאה בלבד. כדי לקרוא את תוכן קובץ בשם f לרשימה בשם data משתמשים בקטע קוד כדוגמת זה שבהמשך:
for line in f.readlines(): x,y=line.split() data.append([float(x),float(y)])
הפונקציה readlines מחזירה רשימה שכל איבר בה הוא שורה אחת מהקובץ. הפונקציה split מפרידה מחרוזת למילים, במקרה זה לתווים המיצגים מספרים .
6. קראו את הקובץ nospmis.txt לרשימה, ובעזרת הפונקציה Matrix היפכו רשימת נתונים זו למטריצה שבה כל שורה מכילה שני נותונים נומריים. נתונים אלו הם שיעורי נקודה במישור.
נגדיר את שני ווקטורי העמוד הבאים:
e1 = sp.Matrix([[1, 0]]).T e2 = sp.Matrix([[0, 1]]).T e1, e2
([10],[01])\left ( \left[\begin{matrix}1\\0\end{matrix}\right], \quad \left[\begin{matrix}0\\1\end{matrix}\right]\right )
7.הראו כי כל וקטור דו מימדי שרכיביו הם 1 C1C_1 ו- C2C_2 ניתן לכתוב בצורה: C1e1+C2e2C_1\cdot e_1+C_2\cdot e_2. הווקטורים ק1ק_1 ו- e2e_2 מכונים בסיס אורתונורמאלי.
8. נניח כי נתונה מערכת צירים אחת, שהזווית בינה לבין ציר ה- x של מערכת הצירים בה נתונים רכיבי e1e_1 ו-e2e_2 היא θ\theta. בטאו את רכיבי הווקטורים e1e_1 ו- e2e_2 במערכת המסובבת באמצעות θ\theta.
9.נתונים הווקטרוים i=[10]i=\left[\begin{matrix}1\\0\end{matrix}\right] ו-j=[01]j=\left[\begin{matrix}0\\1\end{matrix}\right]. ווקטורים אלו מהווים בסיס אותונורמאלי במערכת המסובבת. בטאו את הווקטורים e1e_1 ו- e2e_2בעזרת i ו- j.
10. בטאו את הווקטור CC בעזרת הווקטורים i ו- j.
11. מצאו מטריצה S שאם תוכפל בווקטור C תיתן את רכיבי הווקטור C במערכת המסובבת.
12. חשבו את איברי המטריצה S עבור θ=30o\theta=30^o
8. הכפילו את המטריצה המכילה את הנקודות ב-S ושרטטו על אותה מערכת צירים, בשני צבעים שונים, את תמונת האישיות כאשר היא ישרה וכאשר היא מסובבת.