Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
Download

11th grade-all tasks

2151 views
Kernel: Python 3 (Ubuntu Linux)

משוואות דיפרנציאליות


א. מה זו משוואה דיפרנציאלית

משוואה דיפרנציאלית זו משוואה המכילה ביטויים מתמטיים בהם משולבים משתנים ונגזרותיהם. למשל המשוואה:dydx=xy\frac{dy}{dx}=-\frac{x}{y} היא משוואה דיפרנציאלית מסדר ראשון. פרושה של משוואה זו הוא שהנגזרת הראשונה של המשתנה התלוי y, נמצאת ביחס ישר למנת המשתנה הבלתי תלוי x במשתנה התלוי y. המשוואה:d2ydx2=3x2y\frac{d^2y}{dx^2}=3\cdot x^2\cdot y היא משוואה מסדר שני. גם המשוואה d2ydx2+3dydx+y=0\frac{d^2y}{dx^2}+3\cdot \frac{dy}{dx}+y=0 היא משוואה דיפרנציאלית מסדר שני. כפי שבוודאי כבר הבנתם, סדר המשוואה הוא הסדר הגבוה ביותר של הנגזרת המופיעה בה.

תרגיל

מה הסדר של כל אחת מהמשווארות הדיפקנציאליות שבהמשך?:d3ydx3dydx=3x2+y \frac{d^3y}{dx^3}-\frac{dy}{dx}=3\cdot x^2+y d2ydx2+3(dydx)3+y=0\frac{d^2y}{dx^2}+3\cdot(\frac{dy}{dx})^3+y=0

פתרון המשוואה הדיפרנציאלית הוא פונקציה f(x)f(x) שאם תוצב במשוואה, במקום המשתנה הבלתי תלוי, יתקבל פסוק אמת. פתרון של המשוואהdydx=xy\frac{dy}{dx}=-\frac{x}{y} יכולה להיות הפונקציה :f(x)=ax2f(x)=\sqrt{a-x^2} כאשר a הוא קבוע. בעזרת Sympy ניגזור ונציב את הפתרון במשוואה.
import sympy as sp sp.init_printing() sp.var('x') y = sp.Function('y') eq = sp.Eq(y(x).diff(x), -x / y(x)) eq
ddxy(x)=xy(x)\frac{d}{d x} y{\left (x \right )} = - \frac{x}{y{\left (x \right )}}
a = sp.var('a') f = sp.sqrt(a-x ** 2) f.diff(x) - eq.rhs.subs(y(x), f)
00

הצבה של f(x)f(x) במשוואה הדיפרנציאלית נותנת פסוק אמת ולכן הפונקציה ax2\sqrt{a-x^2} היא פתרון של המשוואה. עבור כל בחירה של a נקבל פונקציה היכולה לשמש פיתרון למשוואה הדיפרנציאלית. הפיתרון הכללי של משוואה דיפרנציאלית הוא למעשה לא פונקציה אחת אלה משפחה של פונקציות. הפיתרון הכללי של המשוואה מכיל פרמטרים שמספרם שווה לסדר המשוואה.

הפתרון הכללי של משוואה דיפרנציאלית מסדר ראשון יכיל פרמטר חופשי אחד ומשוואה דיפרנציאלית מסדר שני תכיל שני פרמטרים. אם ידוע ערך פונקציית הפתרון בנקודות מסוימות שמספרן כמספר הפרמטרים, אפשר לקבוע ערך מספרי לפרמטרים, והפיתרון הוא פתרון פרטי. לדוגמא אם יודעים כי פתרון המשוואה dydx=xy\frac{dy}{dx}=-\frac{x}{y} עובר דרך הנקודה (1,1) אפשר לקבוע את ערכו של של a:

sp.var('a x y') eq = sp.Eq(y,sp.sqrt(a - x ** 2)) sp.solve(eq, a)
[x2+y2]\left [ x^{2} + y^{2}\right ]
_[0].subs([(x, 1), (y, 1)])
22

במקרה זה הפונקציה y(x)=2x2y(x)=\sqrt{2-x^2} היא הפתרון הפרטי של המשוואה הדיפרנציאלית הנתנה. פתרונן האנליטי של משוואות דיפרנציאליות איננו מלאכה פשוטה ולא תמיד ניתן למצוא למשוואה פיתרון אנליטי. לחבילות השונות של Python מספר כלים המסייעים במציאת פיתרון, בפרק זה תכירו אחדים מהם.

תרגיל

א. הראו כי גם הפונקציה y(x)=ax2y(x)=-\sqrt{a-x^2} יכולה להיות פתרון דיפרנציאלי למשוואה dydx=xy\frac{dy}{dx}=-\frac{x}{y}. האם זה פתרון כללי או פרטי?

ב. האם הפונקציה 3x2\sqrt{3-x^2} יכולה להיות פתרון למשוואה הדיפרנציאלית dydx=xy\frac{dy}{dx}=-\frac{x}{y} ? אם כן, האם זה פתרון כללי או פרטי?

ג. כמה פרמטרים (חוץ מ- k ו-m) יכיל הפתרון הכללי של המשוואה: d2xdt2+kmx=0\frac{d^2x}{dt^2}+\frac{k}{m}\cdot x=0

ד. הראו כי הפונקציה x(t)=Asin(ωt+ϕ)x(t)=A\cdot sin(\omega\cdot t+\phi) כאשר AA ו-ϕ\phi פרמטרים היא פתרון של המשוואה הדיפרנציאלית בסעיף הקודם.

import sympy as sp sp.init_printing() sp.var('x') y = sp.Function('y') eq = sp.Eq(y(x).diff(x), -x / y(x)) a = sp.var('a') f = -sp.sqrt(a-x ** 2) f.diff(x) - eq.rhs.subs(y(x), f) #since the answer remains zero for the exponantial equasasion it is a general solution #it can solve the equasasion, but only in a spasific case #four A,w,t,o=sp.symbols('A w t phi') xt = A*sp.sin(w*t+o) xt1=xt.diff(t) xt1 xt2=xt1.diff(t) xt2
Aw2sin(ϕ+tw)- A w^{2} \sin{\left (\phi + t w \right )}

ב. תרשים כיוונים

נתונה המשוואה הדיפרנציאלית dydx=f(x,y)\frac{dy}{dx}=f(x,y) . נניח כי ידוע כי פתרון מסוים של הפונקציה עובר דרך הנקודה (x0,y0)(x_0,y_0). אם נציב את x0x_0 ו- y0y_0 בפונקציה f(x,y)f(x,y) נקבל את שיפוע המשיק לפונקציית הפתרון y(x)y(x) בנקודה P=(x0,y0)P=(x_0,y_0). באופן דומה, עבור כל נקודה במישור נוכל למצוא את כיוון המשיק לפתרון מסוים העובר דרך הנקודה.


תרגיל
ידוע כי הפונקציה g(x)g(x) היא פתרון של המשוואה הדיפרנציאלית dgdxxg=4\frac{dg}{dx}-x\cdot g=4 אם הפונקציה עוברת דרך הנקודה (2,1)(-2,1) מה שיפועה שם?

#dg/dx-x*g=4 #dg/dx=x*g-4 #x=-2,g=1 #M=-2*1-4=-6 #yes roi daria allowed that #delete the lines below: #import sympy as sp #sp.init_printing() #x=sp.symbols('x') #g=sp.Function('g') #x0=-2 #y0=1 #c = g(x).diff(g) #c = c.subs({x:x0,g:y0}) #eq = sp.Eq(-x*g=4) #eq1 = eq.subs({x:x0,g:y0}) #sol = sp.solve(eq1,[g(x),x])[0] #sol
File "<ipython-input-1-e81d061e9f31>", line 7 eq = sp.Eq(g(x).diff(g)-x*g=4) ^ SyntaxError: keyword can't be an expression
כדי לגלות פתרון איכותי של משוואה דפרנציאלית, נהוג ליצור במישור סריג של נקודות. בכל אחת מנקודות הסריג מציירים חץ קטן שכיוונו ככיוון המשיק לפונקציה y(x)y(x) אילו עברה דרך הנקודה. תרשים כזה מכונה תרשים כיוונים . תרשים הכיוונים הוא כלי מצוין למציאת פתרון למשוואה דיפרנציאלית ולו גם באופן איכותי בלבד. לחבילה matplotlib ולנגזרות שלה pylab ו- pyplot פונקציה בשם quiver המאפשרת לשרטט תרשים חיצים (או תרשים כיוונים במקרה שלנו). קטע הקוד שבהמשך מייצר תרשים כיוונים של המשוואה dydx=xy\frac{dy}{dx}=-\frac{x}{y} ברבע הראשון של המישור.
%matplotlib inline import matplotlib.pyplot as plt import numpy as np x=np.linspace(0.01, 10, 19) y=np.linspace(0.01, 10, 19) X,Y=np.meshgrid(x, y) dydx=lambda x, y: -x / y vx=np.sqrt(1 / (1 + dydx(X, Y) ** 2)) vy=-np.sqrt(1.0 - vx ** 2) plt.figure(figsize=(7, 7)) plt.quiver(X , Y, vx, vy, pivot = 'tail') plt.title('fig 1')
Text(0.5,1,'fig 1')
Image in a Jupyter notebook

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

תרגיל
ראינו כי פתרון פרטי של המשוואה הדיפרנציאלית הוא:y(x)=2x2y(x)=\sqrt{2-x^2}. הוסיפו את שרטוט פתרון זה לגרף.

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

נניח כי הנקודה (x,y) היא נקודה על היקף מעגל שראשיתו בראשית בנקודה (0,0) (ראו תרשים שלמעלה). המשיק למעגל בנקודה (x,y) ניצב לישר המחבר נקודה זו למרכז המעגל. שיפוע הישר המחבר את נקודת ההשקה למרכז המעגל הוא yx\frac{y}{x} . המשיק למעגל בנקודה הוא הניצב לישר זה ולכן שיפעו הוא xy-\frac{x}{y} . משוואת מעגל שריבוע רדיוסו (a)\sqrt(a) ומרכזו בראשית היא y2+x2=ay^2+x^2=a או y=ax2y=\sqrt{a-x^2} .

תרגילים

1. נתונה המשוואה הדיפרנציאלית dydx=yx\frac{dy}{dx}=\frac{y}{x}
א. כיצד יראה לדעתכם תרשים כיוונים של המשוואה?
ב. אמתו את תשובתכם באמצעות תרשים כיוונים
ג. רשמו פתרון כללי למשוואה
ד. מה הפתרון הפרטי אם ידוע כי y(2)=3y(2)=3?
2. הכוח אותו מפעיל האוויר על גוף הנע בתוכו, נמצא ביחס ישר לריבוע מהירות הגוף. מקדם הפרופורציה הוא מספר התלוי בשטח חתך הגוף צורתו וצפיפות האוויר, נסמן קבוע זה ב- c.

א. נניח כי גוף ניזרק מעלה במהירות v0v_0 הראו כי מהירות הגוף מקימת את המשוואה הדיפרנציאלית: dvdt=gcmvv\frac{dv}{dt}=-g-\frac{c}{m}|v|v (גודל הביטוי vv|v|v הוא כגודלה של ריבוע המהירות והוא חיובי כאשר המהירות חיובית ושלילי כאשר המהירות שלילית).

ב. הראו כי המימד של. c הוא יחידת מסה מחולקת ביחידת מרחק.

ג. כתבו תוכנית באמצעותה תוכלו לקבל תרשים כיוונים של המשוואה הדיפרנציאלית כתלות בפרמטרים g, c ו- m. מומלץ לעבוד במערכת יחידות שבה g=1. במילים אחרות, לחלק את המשוואה ב- g.

ד. עבור גוף מסוים נתון: c=1.2 kg/m ו- m=0.4kg. הגוף ניזרק מעלה במהירות 10m/s. תארו בעזרת תרשים הכיוונים את אופן תנועת הגוף.

ה. תארו את תנועת הגוף שבסעיף הקודם אילו ניזרק מטה במהירות -10m/s.

ו. אפשר לראות שכעבור פרק זמן מספיק ארוך גוף הנופל בהשפעת התנגדות האוויר נופל במהירות קצובה. כיצד תלוי גודלה של מהירות זו ב- c, m ו-g?