CoCalc Public FilesYud Aleph class / מבחן.ipynbOpen with one click!
Author: may elimelech
Views : 16
Compute Environment: Ubuntu 18.04 (Stable)
In [ ]:
np.diff()#עושה חיסור של איבר קודם ואיבר עכשיו np.heaviside(y,0)#מינוס הופך לאפס ,פלוס הופך לאחד ואפס זה מה שאני בוחרת np.arange() np.array([])#יוצרת מערך
In [4]:
import matplotlib.pyplot as plt import numpy as np b=np.zeros([51]) b[0]=1 b[1]=1 for j in range(2,50): b[j]=b[j-1]+b[j-2] for h in range(len(b)-1): if(b[h]%5==0): print(b[h])
5.0 55.0 610.0 6765.0 75025.0 832040.0 9227465.0 102334155.0 1134903170.0 12586269025.0
In [ ]:
#אלגוריתם שיטת הטרפז חישוב שטח
In [3]:
import matplotlib.pyplot as plt import numpy as np x=np.arange(0,1,0.001) y=x**2 myint=np.sum(((y[1:]+y[:-1])/2)*np.diff(x)) print(myint)
0.33233449950000005
In [ ]:
#דוגמה לשאלה
In [4]:
import matplotlib.pyplot as plt import numpy as np x=np.arange(3,5,0.001) y=(x-1)*(x-3)*(x-5)*(x-7) myint=np.sum(((y[1:]+y[:-1])/2)*np.diff(x)) print(myint)
11.733322668668595
In [72]:
import matplotlib.pyplot as plt import numpy as np x=np.arange(2,8,0.001) y=x*(x**2-1)*(np.sin(x)-0.5)*(6*x-2) x2=np.arange(7,8,0.001) y2=x2*(x2**2-1)*(np.sin(x2)-0.5)*(6*x2-2) myint=np.sum(((y2[1:]+y2[:-1])/2)*np.diff(x2)) print(myint) plt.plot(x,y)
7439.919927740341
[<matplotlib.lines.Line2D at 0x7efc46d8db90>]
In [35]:
import matplotlib.pyplot as plt import numpy as np x=np.arange(2,3,0.001) y=(x**3-1)*(np.sin(x)**2-1)*(4*x-4)-np.sin(x)+1 x2=np.arange(2,4,0.001) y2=(x2**3-1)*(np.sin(x2)**2-1)*(4*x2-4)-np.sin(x2)+1 myint=np.sum(((y2[1:]+y2[:-1])/2)*np.diff(x2)) print(myint) plt.plot(x,y)
-402.6129253735211
[<matplotlib.lines.Line2D at 0x7f9124628e90>]
In [36]:
import matplotlib.pyplot as plt import numpy as np print(np.diff(np.diff([1,1,1,2,2,2])))
[ 0 1 -1 0]
In [ ]:
#/////////////////////////////////////////////////////////////////////////////////////////////////////////////// #////////////////////////////////////////////////////////////////////////////////////////////////////////////// #////////////////////////////////////////////////////////////////////////////////////////////////////////////// #/////////////////////////////////////////////////////////////////////////////////////////////////////////////// #////////////////////////////////////////////////////////////////////////////////////////////////////////////// #////////////////////////////////////////////////////////////////////////////////////////////////////////////// #נגזרת
In [10]:
import matplotlib.pyplot as plt import numpy as np x=np.arange(0,2,0.001) y=x**3-9*x**2-23*x-15 y1=np.diff(y)/np.diff(x) plt.plot(x,y) plt.plot(x[1:],y1)
[<matplotlib.lines.Line2D at 0x7efc47936bd0>]
In [ ]:
In [ ]:
#/////////////////////////////////////////////////////////////////////////////////////////////////////////////// #////////////////////////////////////////////////////////////////////////////////////////////////////////////// #////////////////////////////////////////////////////////////////////////////////////////////////////////////// #/////////////////////////////////////////////////////////////////////////////////////////////////////////////// #////////////////////////////////////////////////////////////////////////////////////////////////////////////// #////////////////////////////////////////////////////////////////////////////////////////////////////////////// #שורשים ונקודות קיצון
In [67]:
import matplotlib.pyplot as plt import numpy as np x=np.arange(0,3,0.01) y=x**3-4.5*x**2+5.75*x-1.875 z1=np.heaviside(y,0) z2=np.abs(np.diff(z1))#אפשר גם בלי זה פשוט הופך את המינוס לפלוס vec=np.argwhere(z2==1) print(x[vec]) plt.plot(x,y) plt.plot(x[1:],z2)
[[0.5 ] [1.49] [2.5 ]]
[<matplotlib.lines.Line2D at 0x7efc4754cf10>]
In [12]:
import matplotlib.pyplot as plt import numpy as np x=np.arange(0.5,2.2,0.01) y=x**3-4.5*x**2+6.5*x-3 yroots=np.diff(np.heaviside(y,0)) roots=np.argwhere(yroots!=0) plt.plot(x,y) plt.plot(x[roots],y[roots],'go') print(x[roots])
[[0.99] [1.49] [2. ]]
In [ ]:
#מציאת נקודות קיצון
In [41]:
x=[-1,0,-1,-1] for j in range(2000): x=np.heaviside(np.heaviside(x,-1),-1) print(x)
[-1. 0. -1. -1.]
In [15]:
import matplotlib.pyplot as plt import numpy as np def find_roots(x,y): z=np.diff(np.heaviside(y,0)) return np.argwhere(z!=0) x=np.arange(0,6,0.01) y=x**5-25*x**4+230*x**3-950*x**2+1689*x-945 y1=np.diff(y)/np.diff(x) vec2=find_roots(x[1:],y1) plt.plot(x,y) plt.plot(x[vec2],y[vec2],'go')
[<matplotlib.lines.Line2D at 0x7efc4752d190>]
In [ ]:
#מציאת נק קיצון ושורשים
In [2]:
import matplotlib.pyplot as plt import numpy as np def find_roots(x,y): z=np.diff(np.heaviside(y,0)) return np.argwhere(z!=0) x=np.arange(0.5,2.2,0.01) y=x**3-4.5*x**2+6.5*x-3 yroots=np.diff(np.heaviside(y,0)) roots=np.argwhere(yroots!=0) y1=np.diff(y)/np.diff(x) vec2=find_roots(x[1:],y1) plt.plot(x,y) plt.plot(x[roots],y[roots],'go') plt.plot(x[vec2],y[vec2],'ro')
[<matplotlib.lines.Line2D at 0x7fe6ad2e26d0>]
In [13]:
import matplotlib.pyplot as plt import numpy as np x=np.arange(-3,3,0.01) y=x*(x+1)*(x+2)*(x-1)*(x-2) yroots=np.diff(np.heaviside(y,0)) roots=np.argwhere(yroots!=0) plt.plot(x[roots],y[roots],'go') plt.plot(x,y) print(x[roots])
[[-2.00000000e+00] [-1.00000000e+00] [-6.39488462e-14] [ 1.00000000e+00] [ 2.00000000e+00]]
In [73]:
import matplotlib.pyplot as plt import numpy as np def find_roots(x,y): z=np.diff(np.heaviside(y,0)) return np.argwhere(z!=0) x=np.arange(-3,3,0.01) y=x*(x+1)*(x+2)*(x-1)*(x-2) y1=np.diff(y)/np.diff(x) vec2=find_roots(x[1:],y1) plt.plot(x,y) plt.plot(x[vec2],y[vec2],'go')
[<matplotlib.lines.Line2D at 0x7f9117f74d50>]
In [64]:
import matplotlib.pyplot as plt import numpy as np def find_roots(x,y): z=np.diff(np.heaviside(y,0)) return np.argwhere(z!=0) x=np.arange(-3,3,0.01) y=x*(x+1)*(x+2)*(x-1)*(x-2) g=np.diff(y)/np.diff(x) #g1=np.diff(g)/np.diff(x) yroots=np.diff(np.heaviside(g,0)) roots=np.argwhere(yroots!=0) plt.plot(x[roots],g[roots],'go') plt.plot(x[1:],g) #print(x[roots])
[<matplotlib.lines.Line2D at 0x7f9124091890>]
In [88]:
import matplotlib.pyplot as plt import numpy as np def find_roots(x,y): z=np.diff(np.heaviside(y,0)) return np.argwhere(z!=0) x=np.arange(-3,3,0.01) y=x*(x+1)*(x+2)*(x-1)*(x-2) y1=np.diff(y)/np.diff(x) x2=x[1:] g=np.diff(y1)/np.diff(x2) vec2=find_roots(x2[1:],g) plt.plot(x[1:],y1) plt.plot(x[vec2],y1[vec2],'go')
[<matplotlib.lines.Line2D at 0x7f91179dfd90>]
In [72]:
import matplotlib.pyplot as plt import numpy as np def find_roots(x,y1): z=np.diff(np.heaviside(y1,0)) return np.argwhere(z!=0) x=np.arange(-3,3,0.01) y=x*(x+1)*(x+2)*(x-1)*(x-2) y1=np.diff(y)/np.diff(x) #y11=np.diff(y1)/np.diff(x) vec2=find_roots(x[1:],y1) plt.plot(x[1:],y1) plt.plot(x[vec2],y1[vec2],'ro')
[<matplotlib.lines.Line2D at 0x7f9124bfb190>]
In [80]:
print(np.diff(np.heaviside([1,1,1,2,2,2,1,1,1],0)))
[0. 0. 0. 0. 0. 0. 0. 0.]
In [76]:
import matplotlib.pyplot as plt import numpy as np x=np.arange(-3,3,0.01) y=x*(x+1)*(x+2)*(x-1)*(x-2) yroots=np.diff(np.heaviside(y,0)) roots=np.argwhere(yroots!=0) plt.plot(x[roots],y[roots],'go') plt.plot(x,y) print(x[roots])
[[-2.00000000e+00] [-1.00000000e+00] [-6.39488462e-14] [ 1.00000000e+00] [ 2.00000000e+00]]
In [31]:
import matplotlib.pyplot as plt import numpy as np def mse(x): b=np.sum(x**2) c=b/len(x) print(c) mse(np.array([1,2,3,4,5]))
11.0
In [78]:
import matplotlib.pyplot as plt import numpy as np x=np.arange(2,3,0.001) y=(x**3-1)*(np.sin(x)**2-1)*(4*x-4)-np.sin(x)+1 x2=np.arange(2,4,0.001) y2=(x2**3-1)*(np.sin(x2)**2-1)*(4*x2-4)-np.sin(x2)+1 myint=np.abs(np.sum(((y2[1:]+y2[:-1])/2)*np.diff(x2))) print(myint) plt.plot(x,y)
402.6129253735211
[<matplotlib.lines.Line2D at 0x7f9117c462d0>]
In [45]:
import matplotlib.pyplot as plt import numpy as np x=np.array([1,2,3]) y=x[1:]*x[:-1]-x[0] print(y)
[1 5]
In [33]:
import matplotlib.pyplot as plt import numpy as np def mse(x): b=np.sum(x**2) c=b/len(x) print(c) y1=np.array([1,2,3]) y2=np.array([3,4,5]) t=y1-y2 mse(t)
4.0
In [ ]:
#/////////////////////////////////////////////////////////////////////////////////////////////////////////////// #////////////////////////////////////////////////////////////////////////////////////////////////////////////// #////////////////////////////////////////////////////////////////////////////////////////////////////////////// #/////////////////////////////////////////////////////////////////////////////////////////////////////////////// #////////////////////////////////////////////////////////////////////////////////////////////////////////////// #////////////////////////////////////////////////////////////////////////////////////////////////////////////// #טור טיילור
In [16]:
import matplotlib.pyplot as plt import numpy as np der=np.array([np.cos(0),-np.sin(0),-np.cos(0),np.sin(0)]) x= np.arange(0,0.1,0.01) y=x*0 for n in range(20): y=y+der[n%4]*(x**n)/np.math.factorial(n) plt.plot(x,y)
[<matplotlib.lines.Line2D at 0x7efc47499210>]
In [17]:
import matplotlib.pyplot as plt import numpy as np der=np.array([np.sin(0),2*np.cos(0),-4*np.sin(0),-8*np.cos(0)]) x= np.arange(0.0001,12.56,0.01) y=x*0 plt.figure(figsize=(15,15)) for n in range(20): y=y+der[n%4]*(2*x**n)/np.math.factorial(n) plt.subplot(5,4,n+1) plt.plot(x,y)
In [ ]:
#/////////////////////////////////////////////////////////////////////////////////////////////////////////////// #////////////////////////////////////////////////////////////////////////////////////////////////////////////// #////////////////////////////////////////////////////////////////////////////////////////////////////////////// #/////////////////////////////////////////////////////////////////////////////////////////////////////////////// #////////////////////////////////////////////////////////////////////////////////////////////////////////////// #////////////////////////////////////////////////////////////////////////////////////////////////////////////// #משוואות דיפרנציליות
In [18]:
import matplotlib.pyplot as plt#y1=0.6y-1 import numpy as np h=5/100 x=np.linspace(0,5,100) y=x*0 y[0]=-6 for j in range (len(x)-1): y[j+1]=h*(0.6*y[j]-1)+y[j] plt.plot(x,y,'r')
[<matplotlib.lines.Line2D at 0x7efc46f89050>]
In [48]:
import matplotlib.pyplot as plt#y1=0.6y-1 import numpy as np h=0.0001 x=np.arange(2,5,h) y=x*0 y[2]=2 y1=np.diff(y)/np.diff(x) for j in range (len(x)-1): y[j+1]=2*h*y[j]+y[j] plt.plot(x,y,'r') plt.plot(x[1:],y1,'r')
[<matplotlib.lines.Line2D at 0x7f9124c09c10>]
In [12]:
import matplotlib.pyplot as plt#y1=0.6y-1 import numpy as np h=2/100 x=np.linspace(0,2,100) y=x*0 y[0]= 1 for j in range (len(x)-1): y[j+1]=h*(y[j]+np.cos(y[j]))+y[j] plt.plot(x,y,'r')
[<matplotlib.lines.Line2D at 0x7fe6acf3cfd0>]
In [ ]:
#/////////////////////////////////////////////////////////////////////////////////////////////////////////////// #////////////////////////////////////////////////////////////////////////////////////////////////////////////// #////////////////////////////////////////////////////////////////////////////////////////////////////////////// #/////////////////////////////////////////////////////////////////////////////////////////////////////////////// #////////////////////////////////////////////////////////////////////////////////////////////////////////////// #////////////////////////////////////////////////////////////////////////////////////////////////////////////// #וקטורים
In [4]:
#כפל מספר קדימה ועכשווי import numpy as np y=np.array([1,2,3,4,5]) b=y[1:]*y[:-1] print(b)
[ 2 6 12 20]
In [11]:
#כפל שלוש מספרים קדימה ועכשווי import numpy as np y