
KP_4_Mansurov_1323
.docx```//Задание 4 вариант 30 стр 227
import numpy as np
import math
def main():
h = 0.1
Nx = int(1 / h) + 1 # Number of nodes in x
Nt = int(1 / h) + 1 # Number of nodes in t
grid = np.zeros((Nx, Nt))
ut = np.zeros((Nx, Nt)) # Values of the time derivative
x_values = np.zeros(Nx) # Values of x
t_values = np.zeros(Nt) # Values of t
# Fill in the values of x and t
for i in range(Nx):
x_values[i] = i * h
for j in range(Nt):
t_values[j] = j * h
for i in range(Nx):
x = x_values[i]
f0 = 0.5 * (x + 1) ** 2
ut0 = (x + 0.5) * math.cos(math.pi * x)
grid[i, 0] = f0
ut[i, 0] = ut0
for j in range(Nt):
t = t_values[j]
w1 = 0.5
w2 = 2 - 3 * t
grid[0, j] = w1
grid[Nx - 1, j] = w2
print("Grid and initial conditions:")
for i in range(Nx):
for j in range(Nt):
print(f"u({x_values[i]}, {t_values[j]}) = {grid[i, j]}")
print(f"ut({x_values[i]}, {t_values[j]}) = {ut[i, j]}")
if __name__ == "__main__":
main()