Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
Download

11th grade-all tasks

2151 views
Kernel: Python 3 (old Anaconda 3)

תרגיל מס 2 ב- SymPy

Name=['Roey Dvir'] import sympy as sp sp.init_printing()

שאלה 1

בעזרת הנוסחא gt22\frac{g\cdot t^2}{2} אפשר לחשב את המרחק שגוף נופל עובר. "גוף נופל" הוא גוף המשוחרר ממנוחה. אבן הנופלת מגג בניין חולפת על פני חלון באורך ll במשך Δt\Delta t. מה מרחק הקצה העליון של החלון מהגג? פתרו בעזרת SymPy בלבד.
import sympy as sp sp.init_printing() g,t1,t2,l,Δt= sp.symbols("g t1 t2 l Δt") y1=(g*t1**2)/2 y2=(g*t2**2)/2 eq1=sp.Eq(y2-y1,l) t2ValueInt1=sp.solve(eq1,[t2,t1])[1][t2] dt=t2ValueInt1-t1 eq2=sp.Eq(dt,Δt) t1ValueInΔt=sp.solve(eq2,[t1])[0] Δy=(g*t1ValueInΔt**2)/2 display(Δy.simplify())
(gΔt22l)28gΔt2\frac{\left(g Δt^{2} - 2 l\right)^{2}}{8 g Δt^{2}}

שאלה 2

נתון כי בשאלה הקודמת Δt=0.2s\Delta t=0.2s ו- l=2ml=2 m. חשבו את מרחק הקצה העליון של החלון מהגג.
ΔyValue=Δy.subs([(Δt,0.2),(l,2),(g,9.8)]) display(ΔyValue)
4.151040816326534.15104081632653

שאלה 3

מהירות שחיין במים עומדים היא c. השחיין שוחה מרחק d במורד נהר וחוזר במעלה הנהר. מהירות זרימת המים בנהר v. פתחו ב-Sympy ביטוי למשך הזמן הדרוש לשחיין לבצע את הדרך הלוך ושוב.
c,d,v,t1,t2 = sp.symbols('c d v t1 t2') d1 = sp.Eq(d, c * t1 + v * t1) d2 = sp.Eq(d, c * t2 - v * t2) time1 = sp.solve(d1, (t1, c, d, v))[0][t1] time2 = sp.solve(d2, (t2, c, d, v))[0][t2] tf1 = time2 + time1 display(tf1.simplify())
2cd(cv)(c+v)\frac{2 c d}{\left(c - v\right) \left(c + v\right)}

שאלה 4

רוחב הנהר בשאלה הקודמת הוא d. פתחו ביטוי לכיוון שבו על השחיין לשחות כדי להתקדם בכיוון הניצב לגדת הנהר.
c,v = sp.symbols('c v') alpha = sp.asin(v/c)+270/180*sp.pi alpha
asin(vc)+1.5π\operatorname{asin}{\left (\frac{v}{c} \right )} + 1.5 \pi

שאלה 5

עבור שאלות 3 ו- 4 חשבו את היחס בין הזמן הדרוש לשחיין לשחות מרחק d במורד הנהר ולחזור לבין הזמן הדרוש לו לחצות את הנהר הלוך ושוב.
t3 = sp.symbols('t3') d3=sp.Eq(d,c*sp.cos(alpha-1.5*sp.pi)*t3) time3=sp.solve(d3,[t3])[0] time4=time3 tf2=time3+time4 x=tf1/tf2 x
c21v2c2(cv)(c+v)\frac{c^{2} \sqrt{1 - \frac{v^{2}}{c^{2}}}}{\left(c - v\right) \left(c + v\right)}

שאלה 6

נתון בניין בגובה H. מתחתית הבניין זורקים מעלה אבן במהירות v0. מצאו גבול תחתון למהירות הדרושה כדי שהאבן תגיע לראש הבניין. נניח כי מקנים לגוף מהירות גדולה יותר, פתחו ביטוי לזמנים בהם חולפת האבן על פני הבניין והפכו בעזרת הפונקציה lambdify את הביטוי לפונקציה נומרית.
import sympy as sp from sympy.abc import x, z sp.init_printing() H,v0,t,g = sp.symbols("H v0 t g") eq1=sp.Eq(0,v0**2-2*g*H) v0min = sp.solve(eq1,[v0])[1] display(v0min) print("v0 >= ",v0min) eq2=sp.Eq(v**2,v0**2-2*g*H) t1=sp.solve(eq2,[t])[0] t2=sp.solve(eq2,[t])[1] display(t1,t2)
2Hg\sqrt{2} \sqrt{H g}
v0 >= sqrt(2)*sqrt(H*g)
1g(v02Hg+v02)\frac{1}{g} \left(v_{0} - \sqrt{- 2 H g + v_{0}^{2}}\right)
1g(v0+2Hg+v02)\frac{1}{g} \left(v_{0} + \sqrt{- 2 H g + v_{0}^{2}}\right)
/ext/anaconda3/lib/python3.5/site-packages/numpy/__init__.py:1: RuntimeWarning: invalid value encountered in sqrt """
[0.204081632653,10.0]\left [ 0.204081632653, \quad 10.0\right ]
[nan,nan]\left [ nan, \quad nan\right ]
[4.48538661702,4.5499228958]\left [ 4.48538661702, \quad 4.5499228958\right ]
[4.41665098479,4.62073261745]\left [ 4.41665098479, \quad 4.62073261745\right ]
הראו שהפונקציה שקיבלתם עבור הזמן עובדת באמצעות מספר דוגמאות מתאימות
tf=sp.lambdify((x,z),[(t1.subs([(H,x),(v0,z),(g,9.8)])),(t2.subs([(H,x),(v0,z),(g,9.8)]))]) display(tf(10,50),tf(100,1959**0.5),tf(100,1960.1**0.5),tf(100,1961**0.5))
/ext/anaconda3/lib/python3.5/site-packages/numpy/__init__.py:1: RuntimeWarning: invalid value encountered in sqrt """
[0.204081632653,10.0]\left [ 0.204081632653, \quad 10.0\right ]
[nan,nan]\left [ nan, \quad nan\right ]
[4.48538661702,4.5499228958]\left [ 4.48538661702, \quad 4.5499228958\right ]
[4.41665098479,4.62073261745]\left [ 4.41665098479, \quad 4.62073261745\right ]

שאלה 7

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

שאלה 8

נתון הפולינום x36x2+5x+12x^{3} - 6 x^{2} + 5 x + 12 מצאו את כל השורשים שלו, פעם בעזרת הפונקציה solve ופעם באמצעות הפונקציה factor.
x = sp.symbols("x") func = x**3-6*x**2+5*x+12 display(func) sol1 = sp.solve(func, x) display(sol1) func = func.factor() display(func) sol2 = [sp.nsolve(func, x, 4), sp.nsolve(func, x, 3), sp.nsolve(func, x, -1)] display(sol2)
x36x2+5x+12x^{3} - 6 x^{2} + 5 x + 12
[1,3,4]\left [ -1, \quad 3, \quad 4\right ]
(x4)(x3)(x+1)\left(x - 4\right) \left(x - 3\right) \left(x + 1\right)
[4.0,3.0,1.0]\left [ 4.0, \quad 3.0, \quad -1.0\right ]

שאלה 9

פונקציית מקום זמן של חלקיק ניתנת על ידי: x(t)=A2tT x(t)=A\cdot 2^{-\frac{t}{T}}
כאשר T הוא קבוע הניתן בשניות ו-A ניתן במטרים. פתחו ביטוי למהירות ותאוצת החלקיק כתלות בזמן. כמו כן שרטטו גרפים דינאמיים של המקום, המהירות והתאוצה. שנו את A בתחום שבין 0.1 ל-5 ואת T בתחום שבין 0.1 ל- 2.
import sympy as sp sp.init_printing() A,t,T=sp.symbols("A t T") x=A*2**(-t/T) v=x.diff(t) a=x.diff(t).diff(t) display(x,v,a) #help(sp.plot) sp.plot(x.subs([(T,1),(A,2)]), (t, 0, 30), title="x(t)") sp.plot(v.subs([(T,1),(A,2)]), (t, 0, 30), title="v(t)") sp.plot(a.subs([(T,1),(A,2)]), (t, 0, 30), title="a(t)")
2tTA2^{- \frac{t}{T}} A
AT2tTlog(2)- \frac{A}{T} 2^{- \frac{t}{T}} \log{\left (2 \right )}
AT22tTlog2(2)\frac{A}{T^{2}} 2^{- \frac{t}{T}} \log^{2}{\left (2 \right )}
Image in a Jupyter notebookImage in a Jupyter notebookImage in a Jupyter notebook
<sympy.plotting.plot.Plot at 0x7f57f2807cc0>