Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
Download

11th grade-all tasks

2151 views
Kernel: Python 3 (old Anaconda 3)

שם: רועי דביר

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

הפונקציה המעריכית ובסיס הלוגריתמים הטבעי e.

מה המשותף לגידול מושבת חיידקים, חישובי ריבית והתפרקות רדיואקטיבית? התשובה לשאלה זו היא הפונקציה המעריכית. הצורה הכללית של הפונקציה המעריכית היא: f(x)=abxf(x)=a^{b\cdot x} .
a ו- b הם פרמטרים. בסעיף זה תכירו את הפונקציה המעריכית ואת תכונותיה.

נתונה מושבת חיידקים בעלת משאבים לא מוגבלים. חיידק מתחלק בכל 20 דקות. אם מספר החיידקים בזמן מסוים הוא N0N_0 אזי כעבור 20 דקות מספרם יגדל ל-2N02N_0 וכעבור עוד 20 דקות מספרם יגדל ל-4N04N_0. השורה השנייה בטבלה מתארת את מספר החיידקים כתלות בזמן.
806040200t(min)
16N016N_08N08N_04N04N_02N02N_0N0N_0NN
N024N_02^4N023N_02^3N022N_02^2N021N_02^1N020N_02^0NN

השורה השלישית בטבלה מתארת את מספר החלקיקים כתלות במספר פרקי הזמן של 20 דקות שחלפו. אפשר לראות מהטבלה כי הביטוי הכללי למספר החיידקים כתלות בזמן הוא:

N(t)=N02t/20N(t)=N_0\cdot 2^{t/20}
בכל מקרה שבו מושבת חיידקים מתפתחת ללא מגבלה, ניתן למצוא את מספר החיידקים בזמן tt באמצעות הנוסחא: N(t)=N02t/TN(t)=N_0\cdot 2^{t/T}
בנוסחה זו:
N0N_0 הוא מספר החידקים בזמן t=0t=0 ו- TT משך הזמן הממוצע מהרגע שחידק נוצר ועד שהוא מתחלק. N(t)N(t) הוא מספר החידקים בזמן tt.

שאלה

התוכלו להעריך במשך כמה זמן צולם הסרטון שלמטה?
from IPython.display import HTML HTML('<iframe width="640" height="390" src="//www.youtube.com/embed/gEwzDydciWc" frameborder="0" allowfullscreen></iframe>')
בכל שניה של הסירטון מתפצל חיידק ל-2, וחיידק מפצל כל 20 דקות משמע שכל שמשכה של כל שניה של הסרטון הינו 20 דקות ולכן משך הסירטון הוא בערך 15*20*60 שניות שזה יוצא 18000 שניות כלומר 5 שעות
...

דוגמה

נניח כי אדם לוקח הלוואה לא צמודה בבנק בריבית של 5% לשנה. אם הקרן היא 1000 ₪ אזי אחרי שנה האדם יצטרך להחזיר לבנק סכום שגודלו: 10001.05=1050 1000\cdot 1.05=1050 ₪ לאחר שנתיים סכום של: (10001.05)1.05=10001.052=1102.5(1000\cdot 1.05)\cdot 1.05=1000\cdot1.05^2=1102.5₪ ולאחר שלוש שנים סכום שגודלו: ((10001.05)1.05)1.05=10001.053=1157.625((1000\cdot1.05)\cdot1.05)\cdot1.05=1000\cdot1.05^3=1157.625 ₪

גם בתרחיש זה אפשר לתאר את גודל הסכום אותו האדם יצטרך להחזיר כעבור זמן באמצעות הנוסחה 10001.05t1000\cdot 1.05^t .

תרגילים

1. ייבאו את הסיפרייה- matplotlib.pyplot כ- plt.
import matplotlib.pyplot as plt import sympy as sp
2. נניח כי צלחת פטרי מכילה 2 חיידקים. כל 20 שניות כל חיידק מתחלק.
a. צרו טבלה של מספר החיידקים כתלות בזמן מזמן אפס עד 5 דקות כל 20 שניות.
b. שרטטו גרף של מספר החיידקים כתלות בזמן . בעזרת הפקודות xlabel, ylabel ו-title השייכות לחבילה pyplot. תנו כותרות לגרף ולצירים.
import matplotlib.pyplot as plt import sympy as sp N0, T, t = sp.symbols("N0 T t") N=N0*2**(t/T) N=N.subs({N0:2,T:20}) x=range(0,320,20) y = [N.subs({t:i}) for i in x] plt.plot(x,y) plt.xlabel('Time (S)') plt.ylabel('N') plt.title('Number of Bacteria Per Second') plt.grid(True) plt.show()
Image in a Jupyter notebook
3.ייבאו את החבילה sympy כ- sp ושרטטו באמצעותה על מערכות צירים נפרדות את הגרפים של כל אחת מהפונקציות הבאות:
y(x)=1.2xy(x)=1.2^xf(x)=4.2xf(x)=4.2^xg(x)=7.3xg(x)=7.3^x
##### %matplotlib -- inline import sympy as sp x=sp.symbols("x") y=1.2**x f=4.2**x g=7.3**x a=100 sp.plot(y,(x,-10,10),title="$y(x)$") sp.plot(f,(x,-10,10),title="$f(X)$") sp.plot(g,(x,-10,10),title="$g(x)$")
4.מה המשותף לכל הפונקציות?
#כולן שואפות ל- 0 #כשאיקס שואף למינוס אינסוף #קצב גדילה, דעיכה אחידים #כולן מעריכיות,אקספוננציאליות #מזכיר log
#שנו את ערכי # b ו-a c,בתחומים # $-5<b<5, 0.1<a<10$ #עבור איזה ערכים של a ו-b הפונקציה עולה? יורדת? קבועה?
%matplotlib -- inline import sympy as sp sp.var("x,a,b") def graph(f,a1=1,b1=1): sp.plot(f.subs([(a,a1),(b,b1)]),(x,-3,3)) f = a**(b*x) graph(f,1,4) graph(f,4,0) graph(f,2,4) graph(f,2,-4) #if a=1 or b=0 then f=constant #if a>0 and b<0 then f'<0 #if a>0 and b>0 then f'>0
Image in a Jupyter notebookImage in a Jupyter notebookImage in a Jupyter notebookImage in a Jupyter notebook
6. נתונה הפונקציה 1.5x1.5^x. מצאו בעזרת כללי החזקה מספר d כך שייתקים 1.5x=d0.25x 1.5^x=d^{0.25x}.
אמתו את תשובתכם .
d=sp.symbols("d") y=d**(0.25*x) f=1.5**x eq=sp.Eq(y,f) dval=sp.solve(eq,[d])[0].subs([(x,1)]) dval
5.06255.0625
7. מה הניגזרת של הפונקציה f(x)=abxf(x)=a^{b*x}?
a,b,x=sp.symbols("a b x") f=a**(b*x) f.diff(x)
abxblog(a)a^{b x} b \log{\left (a \right )}
8. נתונה הפונקציה f(x)=axf(x)=a^x. מצאו מה צריך להיות ערכו של a כדי שניגזרת הפונקציה בכל נקודה תהיה שווה לפונקציה.
sp.var('x a',real=True) f=a**x fdif=f.diff(x) eq=sp.Eq(sp.log(a),1) aval=sp.solve(eq,a)[0] "a =",aval,"=",aval.evalf()
('a =', E, '=', 2.71828182845905)
9. נכנה בשם ee את המספר עבור מתקיים d(ex)dx=ex \frac{d(e^x)}{dx}=e^x.
א. מה ערכה של הפונקציה exe^x בנקודה x=0?
ב. מה שיפוע המשיק לגרף שלexe^x בנקודה x=0?
ג. הסבירו מדוע שיפוע המיתר העובר דרך נקודת החיתוך של הגרף בציר ה-y ודרך הנקודה (h,eh)(h,e^h) שווה ל- eh1h\frac{e^h-1}{h}.
ד. מדוע עבור hh קטן מאד, קרוב לאפס מתקיים eh1h1\frac{e^h-1}{h}\approx1
ה. הראו כי בקרוב מתקיים e(1+h)1he\approx(1+h)^{\frac{1}{h}}
f=sp.exp(x) display(f.subs([(x,0)]))
11
fdif=f.diff(x) display(fdif.subs([(x,0)]))
11
h=sp.symbols("h") #The formula for calculating a slope of a straight line is (y-y0)/(x-x0), at the intersection point with the y axis x0=0 which means e**0=1 so y0=1. At the other point the x=h while the y=e**h. Thus we can calculate the slope: x0=0 y0=fdif.subs([(x,x0)]) slope=(sp.exp(h)-y0)/(h-x0) display(slope)
1h(eh1)\frac{1}{h} \left(e^{h} - 1\right)
#When h is really really small the x is getting closer and closer to y=e**0=1 which is because e**h is almost 1 then e**h-1 is approaching to zero but it's almost h so because e**h-1~h then e**h~h+1, (e**h-1)/h~(h+1-1)/h~h/h~1
#Because e**h~h+1 as I found, then we can get to the h root which is (e**h)**(1/h)~(h+1)**(1/h) so from here we can show: e~(h+1)**(1/h)
10. ככל ש- hh קטן יותר כך הביטוי (1+h)h (1+h)^h קרוב יותר לערכו של ee. נתון כי h=1xh=\frac{1}{x} הסבירו מדוע ערכו של הביטוי (1+1x)x(1+\frac{1}{x})^x מתקרב ל- ee עבור x גדול מאד.
#Because e~(h+1)**(1/h) then e**(h**2)~(h+1)**h and we know that if h gets smaller then e**(h**2) will also get closer to e #e equals to n times 1 divided by n!(n approuches to infinity), and given x at this expression, the bigger the x the closer n is to infinity, thus, the closer it is to e. #Because when x gets smaller, h gets smaller too and when h gets smaller the value of (1+h)**h gets closer and closer to e
11. שרטטו גרף של הפונקציה y(x)=(1+1x)xy(x)=(1+\frac{1}{x})^x ומצאו בעזרתו ערך מקורב ל- ee. דייקו בלפחות שלוש ספרות אחרי הנקודה.
x=sp.symbols("x") y=(1+1/x)**x sp.plot(y,(x,0,10**5)) eValFromGraph=2.718 eVal=(1+1/(10**11))**(10**11) eVal
Image in a Jupyter notebook
2.718282053357112.71828205335711
12. כתבו פונקציה המקבלת פרמטר בשם delta. על הפונקציה להחזיר ערך מקורב ל- ee בשיעור delta. עשו זאת מבלי להשתמש בערך המדוייק של ee.
import math def approach_e1(n): #More accurate e=0 for i in range(n+1): e+=1/(math.factorial(i)) return e def approach_e2(delta): e=(1+delta)**(1/delta) return e display(approach_e1(10000),approach_e2(0.000000000001))
2.71828182845904552.7182818284590455
2.71852349603723782.7185234960372378