Пусть функция nm зависит от дискретных аргументов = 0,1, … , , = 0,1, … , и удовлетворяет следующим соотношениям: U0m=A*(1-m/M)+B*(m/M),Un0=A,UnM=B Un+1m=a* Unm+1 + b* Unm+ c* Unm-1 На языке питон реализовать программу, позволяющую для конкретных значений параметров N,M ,A ,B ,a ,b ,c вычислить все значения функции Unm
Функция для вычисления значения функции U на каждом шаге
def calculate_values(N, M, A, B, a, b, c):
Создаем пустой двумерный массив для хранения значений функции Unmvalues = [[0 for i in range(M+1)] for j in range(N+1)] # Заполняем значения в первой строке и столбце for m in range(M+1): values[0][m] = A*(1-m/M) + B*(m/M) for n in range(1, N+1): values[n][0] = A values[n][M] = B # Вычисляем оставшиеся значения функции Unm по формуле for n in range(1, N+1): for m in range(1, M): values[n][m] = a*values[n-1][m+1] + b*values[n-1][m] + c*values[n-1][m-1] return valuesУказываем значения параметров
def calculate_values(N, M, A, B, a, b, c):
Создаем пустой двумерный массив для хранения значений функции Unmvalues = [[0 for i in range(M+1)] for j in range(N+1)]# Заполняем значения в первой строке и столбце
for m in range(M+1):
values[0][m] = A*(1-m/M) + B*(m/M)
for n in range(1, N+1):
values[n][0] = A
values[n][M] = B
# Вычисляем оставшиеся значения функции Unm по формуле
for n in range(1, N+1):
for m in range(1, M):
values[n][m] = a*values[n-1][m+1] + b*values[n-1][m] + c*values[n-1][m-1]
return valuesУказываем значения параметров
N = 5
Вычисляем значения функции UnmM = 5
A = 1
B = 2
a = 0.1
b = 0.2
c = 0.3
result = calculate_values(N, M, A, B, a, b, c)
Выводим значения функции на экранfor row in result:
print(row)