Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
Download

11th grade-all tasks

2151 views
Kernel: SageMath (stable)

שמות:

import sympy as sp from sympy.plotting import plot sp.init_printing() %matplotlib -- inline

עבודת סיכום SymPy

תרגיל ראשון

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


א. ניתן לראות גליל כמנסרה ששני בסיסיה מעגלים ושצורת המעטפת שלה מלבן. פתחו ביטוי לחישוב שטח הפנים של גליל שרדיוסו r וגובהו h.
ב. נתון גליל שניפחו V ורדיוסו r. מצאו (בעזרת Sympy) ביטוי לגובהו והגדירו ביטוי לשטח הפנים כתלות בנפח והרדיוס.
ג. שרטטו גרף של שטח פני דוד שניפחו 150 ליטר כתלות ברדיוס (הקפידו על עבודה נכונה עם היחידות).
ד. עבור כל אחד מהנפחים 160L 40L,80L,120L,ו- 200L מצאו את רדיוס הגליל עבורו שטח הפנים מינימאלי.
ה. עבור כל אחד מהרדיוסים שמצאתם בסעיף הקודם מצאו את גובה הגליל המתאים.
ו. שרטטו גרף של גובה הגליל בו מתקבל מינימום שטח פנים כתלות ברדיוס. מה שיפוע הגרף? מה המסקנה?
ז. בעזרת Sympy הוכיחו את תוצאת הביטוי הקודם באופן אנאליטי.

תרגיל שני

בחבילה Sympy פונקציה בשם lambdify. פונקציה זו מקבלת ביטוי סימבולי ומחזירה פונקציה נומרית. בתאים שלמטה דוגמא לשימוש בפונקציה לקבלת פונקציית הניגזרת של ביטוי סימבולי כתלות בפרמטרים השונים.
a,x=sp.symbols('a,x') f=sp.exp(a*x)/x df=f.diff(x) f,d
(eaxx,axeaxeaxx2)\left ( \frac{e^{a x}}{x}, \quad \frac{a}{x} e^{a x} - \frac{e^{a x}}{x^{2}}\right )
g=sp.lambdify((x,a),df) g(0.5,2),g(0.5,1)
(0.0,3.2974425414)\left ( 0.0, \quad -3.2974425414\right )
כתבו פונקציה המקבלת ביטוי סימבולי של פונקציה מתמטית, ומחזירה רשימה של נקודות הקיצון של פונקציה זו תוך כדי ציון האם הנקודה היא נקודת מקסימום, מינימום או נקודת פיתול.

בהצלחה!
def getengepoints
--------------------------------------------------------------------------- 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'
Image in a Jupyter notebook