
Лаб. 6 КП МатАн
.docxЛР6
import numpy as np import sympy as sp from numpy import * from sympy import * import matplotlib.pyplot as plt
Упражнение 1
Упражнение 2
def field(f, g, a, b, n): dx=(b-a)/n fy=[0]*(n+1) gy=[0]*(n+1) k=0 rx=[0]*(n+1) for i in arange(a, b+dx, dx): fy[k]=f.subs(x,i) gy[k]=g.subs(x,i) rx[k]=i k+=1 for i in range(1,n+1): plt.plot([rx[i-1],rx[i]],[fy[i-1],fy[i]],'-',color='indigo') plt.plot([rx[i-1],rx[i]],[gy[i-1],gy[i]],'-',color='teal') k=0 for i in arange(a, b+dx, dx): plt.plot([i,i],[fy[k],gy[k]],'-',color='coral') k+=1 plt.grid() plt.show() x=Symbol('x') f=x**2-1 g=x**2+1 a=-5 b=5 n=50 field(f, g, a, b, n)
Пример 1
import matplotlib.pyplot as plt import numpy as np fig = plt.figure() ax = fig.add_subplot(projection = '3d') xs = np.linspace(-1, 1, 50) ys = np.linspace(-1, 1, 50) X, Y = np.meshgrid(xs, ys) Z = 4*np.sin(2*np.pi*X)*np.cos(1.5*Y)*(1-X**2)*Y*(1-Y) ax.plot_wireframe(X, Y, Z, rstride = 2, cstride = 2)
<mpl_toolkits.mplot3d.art3d.Line3DCollection at 0x75ff5d8>
Пример 2
import matplotlib.pyplot as plt from matplotlib import cm import numpy as np fig, ax = plt.subplots(subplot_kw={"projection": "3d"}) # построение поверхности surf = ax.plot_surface(X, Y, Z, cmap=cm.YlGnBu_r, linewidth=0) # цветовой индикатор fig.colorbar(surf, shrink=0.5, aspect=5) plt.show()
Упражнение 3
fig = plt.figure() ax = fig.add_subplot(projection = '3d') xs = np.linspace(0.1, 2) ys = np.linspace(0.1, 2) X, Y = np.meshgrid(xs, ys) Z = 1/X+1/Y ax.plot_wireframe(X, Y, Z, rstride = 2, cstride = 2)
<mpl_toolkits.mplot3d.art3d.Line3DCollection at 0x6374c08>
fig, ax = plt.subplots(subplot_kw={"projection": "3d"}) # построение поверхности surf = ax.plot_surface(X, Y, Z, cmap=cm.cool, linewidth=0) # цветовой индикатор fig.colorbar(surf, shrink=0.5, aspect=5) plt.show()
Пример 3
import matplotlib.pyplot as plt from matplotlib import cm fig, ax = plt.subplots(subplot_kw={"projection": "3d"}) ax.contour(X, Y, Z, cmap=cm.YlGnBu_r) # Plot contour curves plt.show()
Пример 4
cs = plt.contourf(Z) plt.colorbar(cs, shrink=0.9, aspect=5)
<matplotlib.colorbar.Colorbar at 0x574abb0>
cs = plt.contour(Z)
Упражнение 4
import matplotlib.pyplot as plt from matplotlib import cm fig, ax = plt.subplots(subplot_kw={"projection": "3d"}) ax.contour(X, Y, Z, cmap=cm.cool) # Plot contour curves plt.show()
cs = plt.contourf(Z) plt.colorbar(cs, shrink=0.9, aspect=5)
<matplotlib.colorbar.Colorbar at 0x5aee918>
cs = plt.contour(Z) plt.colorbar(cs, shrink=0.9, aspect=5)
<matplotlib.colorbar.Colorbar at 0x7d498f0>
Упражнение 5
xs = np.linspace(0.1, 2, num=20) print(xs) ys = np.linspace(0.1, 2, num=20) X, Y = np.meshgrid(xs, ys) Z = 1/X+1/Y cs = plt.contour(Z) plt.grid() plt.show()
[0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1. 1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.9 2. ]
xs = np.linspace(0.1, 2, num=20) print(xs) ys = np.linspace(0.1, 2, num=20) X, Y = np.meshgrid(xs, ys) Z = 1/X+1/Y levels = np.arange(0.5, 3.5, 0.1) cs = plt.contour(X, Y, Z, levels=levels) plt.clabel(cs) plt.grid() plt.show()
[0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1. 1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.9 2. ]
Пример 5
import matplotlib.pyplot as plt fig1 = plt.figure() ax1 = fig1.add_subplot(231,projection='3d') ax2 = fig1.add_subplot(232,projection='3d') ax3 = fig1.add_subplot(233,projection='3d') ax4 = fig1.add_subplot(234,projection='3d') ax5 = fig1.add_subplot(235,projection='3d') ax6 = fig1.add_subplot(236,projection='3d') # построим поверхность на трех верхних графиках ax1.plot_surface(X, Y, Z, edgecolor='royalblue', lw=0.5, rstride=8, cstride=8, alpha=0.01) ax2.plot_surface(X, Y, Z, edgecolor='royalblue', lw=0.5, rstride=8, cstride=8, alpha=0.01) ax3.plot_surface(X, Y, Z, edgecolor='royalblue', lw=0.5, rstride=8, cstride=8, alpha=0.01) # Построение линий уровня в разных проекциях вместе с самой поверхностью ax1.contour(X, Y, Z, zdir='z', offset=-1, cmap='coolwarm') ax2.contour(X, Y, Z, zdir='x', offset=-1, cmap='coolwarm') ax3.contour(X, Y, Z, zdir='y', offset=1, cmap='coolwarm') # Построение линий уровня в разных проекциях отдельно от поверхностей ax4.contour(X, Y, Z, zdir='z', offset=-1, cmap='coolwarm') ax5.contour(X, Y, Z, zdir='x', offset=-1, cmap='coolwarm') ax6.contour(X, Y, Z, zdir='y', offset=1, cmap='coolwarm') plt.show()
Упражнение 6
import matplotlib.pyplot as plt fig1 = plt.figure() ax1 = fig1.add_subplot(231,projection='3d') ax2 = fig1.add_subplot(232,projection='3d') ax3 = fig1.add_subplot(233,projection='3d') ax4 = fig1.add_subplot(234,projection='3d') ax5 = fig1.add_subplot(235,projection='3d') ax6 = fig1.add_subplot(236,projection='3d') # построим поверхность на трех верхних графиках ax1.plot_surface(X, Y, Z, edgecolor='royalblue', lw=0.5, rstride=8, cstride=8, alpha=0.01) ax2.plot_surface(X, Y, Z, edgecolor='royalblue', lw=0.5, rstride=8, cstride=8, alpha=0.01) ax3.plot_surface(X, Y, Z, edgecolor='royalblue', lw=0.5, rstride=8, cstride=8, alpha=0.01) # Построение линий уровня в разных проекциях вместе с самой поверхностью ax1.contour(X, Y, Z, zdir='z', offset=-1, cmap='coolwarm') ax2.contour(X, Y, Z, zdir='x', offset=-1, cmap='coolwarm') ax3.contour(X, Y, Z, zdir='y', offset=1, cmap='coolwarm') # Построение линий уровня в разных проекциях отдельно от поверхностей ax4.contour(X, Y, Z, zdir='z', offset=-1, cmap='coolwarm') ax5.contour(X, Y, Z, zdir='x', offset=-1, cmap='coolwarm') ax6.contour(X, Y, Z, zdir='y', offset=1, cmap='coolwarm') plt.show()
Пример 6
import numpy as np t = np.linspace(-6,6,50) x = np.cos(t) y = np.sin(t) z = t fig1 = plt.figure() 6 ax = fig1.add_subplot(111, projection='3d') ax.plot(x,y,z)
[<mpl_toolkits.mplot3d.art3d.Line3D at 0x6b4da88>]
Упражнение 7
import numpy as np t = np.linspace(-4*np.pi,4*np.pi,50) x = 2*np.cos(t) y = e**(-abs(t-2)) z = 2*t fig1 = plt.figure() ax = fig1.add_subplot(111, projection='3d') ax.plot(x,y,z,'--r')
[<mpl_toolkits.mplot3d.art3d.Line3D at 0x8b0f710>]
Пример 7
u = np.linspace(-2*np.pi, 2*np.pi, 50) v = np.linspace(-2*np.pi, 2*np.pi, 50) U,V = np.meshgrid(u,v) XX = U * np.cos(V) YY = U * np.sin(V) ZZ = U fig1 = plt.figure() ax = fig1.add_subplot(111, projection='3d') surf2 = ax.plot_surface(XX,YY,ZZ,cmap=cm.YlGnBu_r ) fig1.colorbar(surf2, shrink=0.8, aspect=5)
<matplotlib.colorbar.Colorbar at 0x6356a68>
Пример 8
from sympy import symbols, sin, cos from sympy.plotting import plot3d 8 x, y = symbols('x y') plot3d(cos(x)*sin(y), (x, -3, 3), (y, -3, 3))
<sympy.plotting.plot.Plot at 0x8bb4418>
Упражнение 8
u = np.linspace(0, 2*np.pi, 50) v = np.linspace(0, 2*np.pi, 50) U,V = np.meshgrid(u,v) XX = np.cos(U) YY = np.sin(V) ZZ = np.cos(U) * np.sin(V) fig1 = plt.figure() ax = fig1.add_subplot(111, projection='3d') surf2 = ax.plot_wireframe(XX,YY,ZZ) #fig1.colorbar(surf2, shrink=0.8, aspect=5) #ax.plot_wireframe(X, Y, Z, rstride = 2, cstride = 2)
Упражнение С1
def field(f, g, a, b, n): dx=(b-a)/n fy=[0]*(n+1) gy=[0]*(n+1) k=0 rx=[0]*(n+1) for i in arange(a, b+dx, dx): fy[k]=f.subs(x,i) gy[k]=g.subs(x,i) rx[k]=i k+=1 for i in range(1,n+1): plt.plot([rx[i-1],rx[i]],[abs(fy[i-1]),abs(fy[i])],'-',color='indigo') plt.plot([rx[i-1],rx[i]],[abs(gy[i-1]),abs(gy[i])],'-',color='teal') k=0 for i in arange(a, b+dx, dx): plt.plot([i,i],[abs(fy[k]),abs(gy[k])],'-',color='coral') k+=1 plt.grid() plt.show() x=Symbol('x') f=x-x g=(1-x**2)**(1/2) a=-1 b=1 n=50 field(f, g, a, b, n)
x=Symbol('x') f=sqrt((4-x**2)) g=sqrt((1-x**2)) a=-1.58 b=1.58 n=50 field(f, g, a, b, n)
Упражнение С2
fig = plt.figure() ax = fig.add_subplot(projection = '3d') xs = np.linspace(-2*np.pi, 2*np.pi) ys = np.linspace(-2*np.pi, 2*np.pi) X, Y = np.meshgrid(xs, ys) Z = np.cos(X*Y) ax.plot_wireframe(X, Y, Z, rstride = 2, cstride = 2)
<mpl_toolkits.mplot3d.art3d.Line3DCollection at 0xc1188d0>
fig, ax = plt.subplots(subplot_kw={"projection": "3d"}) # построение поверхности surf = ax.plot_surface(X, Y, Z, cmap=cm.cool, linewidth=0) # цветовой индикатор fig.colorbar(surf, shrink=0.5, aspect=5) plt.show()
fig = plt.figure() ax = fig.add_subplot(projection = '3d') xs = np.linspace(-2*np.pi, 2*np.pi) ys = np.linspace(-2*np.pi, 2*np.pi) X, Y = np.meshgrid(xs, ys) Z = 1/(np.sin(X)*np.sin(Y)) ax.plot_wireframe(X, Y, Z, rstride = 2, cstride = 2)
<mpl_toolkits.mplot3d.art3d.Line3DCollection at 0xb1932b0>
fig, ax = plt.subplots(subplot_kw={"projection": "3d"}) # построение поверхности surf = ax.plot_surface(X, Y, Z, cmap=cm.cool, linewidth=0) # цветовой индикатор fig.colorbar(surf, shrink=0.5, aspect=5) plt.show()
Упражнение С3
import matplotlib.pyplot as plt from matplotlib import cm fig, ax = plt.subplots(subplot_kw={"projection": "3d"}) ax.contour(X, Y, Z, cmap=cm.cool) # Plot contour curves plt.show()
cs = plt.contour(Z) plt.colorbar(cs, shrink=0.9, aspect=5)
<matplotlib.colorbar.Colorbar at 0xc74ebd8>
import matplotlib.pyplot as plt from matplotlib import cm fig, ax = plt.subplots(subplot_kw={"projection": "3d"}) ax.contour(X, Y, Z, cmap=cm.cool) # Plot contour curves plt.show()
cs = plt.contour(Z) plt.colorbar(cs, shrink=0.9, aspect=5)
<matplotlib.colorbar.Colorbar at 0xb2a9d68>
Упражнение С4
cs = plt.contourf(Z) plt.colorbar(cs, shrink=0.9, aspect=5)
<matplotlib.colorbar.Colorbar at 0xcc96358>
cs = plt.contourf(Z) plt.colorbar(cs, shrink=0.9, aspect=5)
<matplotlib.colorbar.Colorbar at 0xbc6bc90>