11th grade-all tasks
Kernel: SageMath (stable)
שמות:
In [1]:
עבודת סיכום SymPy
תרגיל ראשון
"יוחנן בוילר" הוא מהנדס בחברה המייצרת דודי מים חמים. במסגרת עבודתו נידרש יוחנן לתכנן דוד גלילי המיועד לחמום 150 ליטר (1 ליטר = 1000 סמ"ק) מים. יוחנן נידרש לתכנן את מימדי הדוד באופן כזה, שאובדן החום ממנו לסביבה יהיה הקטן ביותר האפשרי. ככל ששטח פני הדוד יהיה קטן יותר כך אובדן החום ממנו לסביבה יקטן. בעבודה זו עליכם למצוא מהם המימדים האידיאלים לדוד (רדיוס וגובה).
א. ניתן לראות גליל כמנסרה ששני בסיסיה מעגלים ושצורת המעטפת שלה מלבן. פתחו ביטוי לחישוב שטח הפנים של גליל שרדיוסו r וגובהו h.
In [0]:
ב. נתון גליל שניפחו V ורדיוסו r. מצאו (בעזרת Sympy) ביטוי לגובהו והגדירו ביטוי לשטח הפנים כתלות בנפח והרדיוס.
In [0]:
ג. שרטטו גרף של שטח פני דוד שניפחו 150 ליטר כתלות ברדיוס (הקפידו על עבודה נכונה עם היחידות).
In [0]:
ד. עבור כל אחד מהנפחים 160L 40L,80L,120L,ו- 200L מצאו את רדיוס הגליל עבורו שטח הפנים מינימאלי.
In [0]:
ה. עבור כל אחד מהרדיוסים שמצאתם בסעיף הקודם מצאו את גובה הגליל המתאים.
In [0]:
ו. שרטטו גרף של גובה הגליל בו מתקבל מינימום שטח פנים כתלות ברדיוס. מה שיפוע הגרף? מה המסקנה?
In [0]:
ז. בעזרת Sympy הוכיחו את תוצאת הביטוי הקודם באופן אנאליטי.
תרגיל שני
בחבילה Sympy פונקציה בשם lambdify. פונקציה זו מקבלת ביטוי סימבולי ומחזירה פונקציה נומרית. בתאים שלמטה דוגמא לשימוש בפונקציה לקבלת פונקציית הניגזרת של ביטוי סימבולי כתלות בפרמטרים השונים.
In [2]:
Out[2]:
In [3]:
Out[3]:
כתבו פונקציה המקבלת ביטוי סימבולי של פונקציה מתמטית, ומחזירה רשימה של נקודות הקיצון של פונקציה זו תוך כדי ציון האם הנקודה היא נקודת מקסימום, מינימום או נקודת פיתול.
בהצלחה!
In [0]:
In [3]:
Out[3]:
---------------------------------------------------------------------------
AttributeError Traceback (most recent call last)
<ipython-input-3-a8322d6296b7> in <module>()
----> 1 sp.plot(sp.exp(x),(x,-1,1))
/usr/local/lib/python3.5/dist-packages/sympy/plotting/plot.py in plot(*args, **kwargs)
1293 plots = Plot(*series, **kwargs)
1294 if show:
-> 1295 plots.show()
1296 return plots
1297
/usr/local/lib/python3.5/dist-packages/sympy/plotting/plot.py in show(self)
194 self._backend.close()
195 self._backend = self.backend(self)
--> 196 self._backend.show()
197
198 def save(self, path):
/usr/local/lib/python3.5/dist-packages/sympy/plotting/plot.py in show(self)
1027
1028 def show(self):
-> 1029 self.process_series()
1030 #TODO after fixing https://github.com/ipython/ipython/issues/1255
1031 # you can uncomment the next line and remove the pyplot.show() call
/usr/local/lib/python3.5/dist-packages/sympy/plotting/plot.py in process_series(self)
978 mpl_toolkits = import_module('mpl_toolkits',
979 __import__kwargs={'fromlist': ['mplot3d']})
--> 980 Axes3D = mpl_toolkits.mplot3d.Axes3D
981 if parent.xscale and not isinstance(self.ax, Axes3D):
982 self.ax.set_xscale(parent.xscale)
AttributeError: 'NoneType' object has no attribute 'mplot3d'
In [0]: