Національний технічний університет України
«Київський політехнічний інститут імені Ігоря Сікорського»
Навчально-науковий інститут атомної та теплової енергетики
Кафедра цифрових технологій в енергетиці
ЛАБОРАТОРНА РОБОТА №1
з дисципліни «Чисельні методи»
Варіант № 21
Варіант роботи
Функція:
?
4
+5
?
3
−100+
sin
4?
Інтервал [a;b]: a = 0; b = 5
Вигляд графіку функції
/
Вигляд графіку похідних функції
/
Висновок: під час виконання даної лабораторної роботи було досліджено методи чисельного диференціювання. Було обчислено похідну для заданої функції для певного інтервалу, а також побудовано графік самої функції та її похідних.
Код програми
import numpy as np
import matplotlib.pyplot as plt
import pandas as pd
from mpl_toolkits.mplot3d import Axes3D
def f(x, y):
return x**4 + 5*x**3 - 100 + np.sin(4*y)
Nx = 10
Ny = 5
x_values = np.linspace(0, 5, Nx)
y_values = np.linspace(0, 5, Ny)
X, Y = np.meshgrid(x_values, y_values)
Z = f(X, Y)
fig = plt.figure(figsize=(12, 6))
ax1 = fig.add_subplot(121, projection='3d')
ax1.plot_surface(X, Y, Z, cmap='viridis')
ax1.set_title('Function: $x^4 + 5x^3 - 100 + \sin(4y)$')
plt.show()
df_dx = 4*X**3 + 15*X**2
df_dy = 4*np.cos(4*Y)
fig = plt.figure(figsize=(12, 6))
ax1 = fig.add_subplot(121, projection='3d')
ax1.plot_surface(X, Y, df_dx, cmap='viridis')
ax1.set_title('Function: $4x^3 + 15x^2$')
ax2 = fig.add_subplot(122, projection='3d')
ax2.plot_surface(X, Y, df_dy, cmap='viridis')
ax2.set_title('Function: $4cos(4y)$')
plt.show()
data_function = {'x': X.flatten(), 'y': Y.flatten(), 'f(x, y)': Z.flatten()}
data_derivatives = {'x': X.flatten(), 'y': Y.flatten(), 'df/dx': df_dx.flatten(), 'df/dy': df_dy.flatten()}
df_function = pd.DataFrame(data_function)
df_derivatives = pd.DataFrame(data_derivatives)
result = pd.merge(df_function, df_derivatives, on=['x','y'])
print(result)