#Пользовательские функции пайтон
a=5
A=[]
for i in range(3):
A.append([0 for j in range(3)])
A
def matr_jest(n, h, R):
A=[[0 for j in range(n)] for i in range(n)]
for i in range(n):
for j in range(n):
if i==j:
A[i][j]=2*R[i]/(h)**2
elif j==i+1 or j==i-1:
A[i][j]=-R[i]/(h)**2
return A
import numpy as np
n=int(input('задайте число узлов n='))
x0=int(input('Введите значение левой границы x0='))
xn=int(input('Введите значение правой границы xn='))
h=(xn-x0)/(n-1)
X=[i*h for i in range(n)]
R=[((6+24)/2)*x*(1-x) for x in X]
A=matr_jest(n,h,R)
E=float(input('Введите модуль упругости E='))
import numpy as np
V0=np.ones(n)
V0[0],V0[n-1]=0,0
Lambda0=np.sqrt(sum([v**2 for v in V0]))
A=np.array(A)
A[0],A[n-1]=0,0
A[:,0],A[:,n-1]=0,0
A[0][0],A[n-1][n-1]=1,1
invA=np.linalg.inv(A)
k=Lambda0
c=1
while k>E:
c+=1
y1=np.dot(1/Lambda0,V0)
V1=np.dot(invA,y1)
Lambda1=np.sqrt(sum([v**2 for v in V1]))
k=abs(Lambda1-Lambda0)
V0=V1
Lambda0=Lambda1
Pkr=round(1/Lambda1,3)
print('Количество итераций:',c)
print('Prk=',Pkr)