Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лаб. 7 КП МатАн.docx
Скачиваний:
4
Добавлен:
30.08.2024
Размер:
951.4 Кб
Скачать

Индивидуальное задание

x, y, dx, dy = sp.symbols('x y dx dy') f = x**3+y**3-15*x*y delx=0.1 dely=-0.2 x0=1.4 y0=1.4 teilorfirst(f, x, y, dx, dy, x0, y0, delx, dely)

dx*(3*x**2 - 15*y) + dy*(-15*x + 3*y**2) + x**3 - 15*x*y + y**3 -22.4000000000000

dx*(3*x**2 - 15*y) + dy*(-15*x + 3*y**2) + x**3 - 15*x*y + y**3

import matplotlib.pyplot as plt import numpy as np fig = plt.figure() xs = np.linspace(-6 ,6, 50) ys = np.linspace(-6, 6, 50) X, Y = np.meshgrid(xs, ys) Z = X**3+Y**3-15*X*Y ZZ = (X-1.4)*(3*x0**2 - 15*y0) + (Y-1.4)*(-15*x0 + 3*y0**2) + x0**3 - 15*x0*y0 + y0**3 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.cool, linewidth=0) surf1 = ax.plot_surface(X, Y, ZZ, cmap=cm.winter, linewidth=0) # цветовой индикатор fig.colorbar(surf, shrink=0.5, aspect=5) fig.colorbar(surf1, shrink=0.5, aspect=5) plt.show()

<Figure size 640x480 with 0 Axes>

x, y, dx, dy = sp.symbols('x y dx dy') f = x**3+y**3-15*x*y delx=0.1 dely=-0.2 x0=1.4 y0=1.4 teilorsecond(f, x, y, dx, dy, x0, y0, delx, dely)

-15*dx*dy + dx*(3*x**2 - 15*y) + dy*(-15*x + 3*y**2) + x**3 - 15*x*y + y**3 -22.1000000000000

-15*dx*dy + dx*(3*x**2 - 15*y) + dy*(-15*x + 3*y**2) + x**3 - 15*x*y + y**3

import matplotlib.pyplot as plt import numpy as np fig = plt.figure() xs = np.linspace(-6, 6, 50) ys = np.linspace(-6, 6, 50) X, Y = np.meshgrid(xs, ys) Z = X**3+Y**3-15*X*Y ZZ = (X-1.4)*(3*x0**2 - 15*y0) + (Y-1.4)*(-15*x0 + 3*y0**2) + x0**3 - 15*x0*y0 + y0**3 ZZZ = -15*(X-1.4)*(Y-1.4) + (X-1.4)*(3*x0**2 - 15*y0) + (Y-1.4)*(-15*x0 + 3*y0**2) + x0**3 - 15*x0*y0 + y0**3 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.cool, linewidth=0) surf1 = ax.plot_surface(X, Y, ZZ, cmap=cm.winter, linewidth=0) surf2 = ax.plot_surface(X, Y, ZZ, cmap=cm.spring, linewidth=0) # цветовой индикатор fig.colorbar(surf, shrink=0.5, aspect=5) fig.colorbar(surf1, shrink=0.5, aspect=5) fig.colorbar(surf2, shrink=0.5, aspect=5) plt.show()

<Figure size 640x480 with 0 Axes>

Упражнение с1

r, t, p = sp.symbols('r t p') # формулы перехода от декартовой системы координат к полярной x = r * sp.cos(t) * sp.cos(p) y = r * sp.sin(t) * sp.cos(p) zz= r * sp.sin(p) # вектор функций перехода для составления матрицы A = sp.Matrix([[x, y, zz]]) sp.pprint(A)

[r⋅cos(p)⋅cos(t) r⋅sin(t)⋅cos(p) r⋅sin(p)]

B = sp.Matrix([[sp.diff(A,r)], [sp.diff(A,t)] , [sp.diff(A,p)]]) sp.pprint(B.T)

⎡cos(p)⋅cos(t) -r⋅sin(t)⋅cos(p) -r⋅sin(p)⋅cos(t)⎤ ⎢ ⎥ ⎢sin(t)⋅cos(p) r⋅cos(p)⋅cos(t) -r⋅sin(p)⋅sin(t)⎥ ⎢ ⎥ ⎣ sin(p) 0 r⋅cos(p) ⎦

# вычисление якобиана sp.pprint(B.det()) sp.pprint(sp.simplify(B.det())) # упрощение выражения с помощью simplify

2 2 2 2 2 2 2 2 3 r ⋅sin (p)⋅sin (t)⋅cos(p) + r ⋅sin (p)⋅cos(p)⋅cos (t) + r ⋅sin (t)⋅cos (p) + r 2 3 2 ⋅cos (p)⋅cos (t) 2 r ⋅cos(p)