简支板梁桥横向分布影响线

N=9

r=0.02144
import numpy as np
import matplotlib as mpl
import matplotlib.pyplot as plt
from scipy import linalg
def plate_coef(N,r):
a=np.zeros(N*N).reshape(N,N)
a[N-1][N-1]=1.0
for i in range(N-1):
a[i][i]=2*(1+r)
if(i0 ):
a[i][i-1]=-(1-r)
#print a
#print a[:-1,:-1]
z=np.zeros(N*N).reshape(N,N)
for i in range(N):
b=np.zeros(N)
if(i0):
b[i-1] = -1.0
#print ‘b=’,b,’i=’,i
x=linalg.solve(a,b)
#print ‘x=’,x
z[i]=x*(-1.0)
for j in range(N-1):
z[i][j+1] += x[j]
for j in range(N):
if(i==j):
z[i][j] += 1.0
#print ‘z=’,z[i]
return z

z=plate_coef(N,r)

print z

[[0.24217125 0.19766566 0.14857354 0.11250225 0.08629054 0.06764125
0.05491997 0.04701182 0.04322373]
[0.19766566 0.19307913 0.16159437 0.12236183 0.09385296 0.07356926
0.0597331 0.05113188 0.04701182]
[0.14857354 0.16159437 0.16686742 0.14294508 0.10964055 0.0859448
0.06978118 0.0597331 0.05491997]
[0.11250225 0.12236183 0.14294508 0.15414614 0.13503693 0.10585246
0.0859448 0.07356926 0.06764125]
[0.08629054 0.09385296 0.10964055 0.13503693 0.15035806 0.13503693
0.10964055 0.09385296 0.08629054]
[0.06764125 0.07356926 0.0859448 0.10585246 0.13503693 0.15414614
0.14294508 0.12236183 0.11250225]
[0.05491997 0.0597331 0.06978118 0.0859448 0.10964055 0.14294508
0.16686742 0.16159437 0.14857354]
[0.04701182 0.05113188 0.0597331 0.07356926 0.09385296 0.12236183
0.16159437 0.19307913 0.19766566]
[0.04322373 0.04701182 0.05491997 0.06764125 0.08629054 0.11250225
0.14857354 0.19766566 0.24217125]]
[0.24217125 0.19766566 0.14857354 0.11250225 0.08629054 0.06764125
0.05491997 0.04701182 0.04322373]

x=np.linspace(1,N,9)
plt.plot(x,z[:,:4])

发表评论

电子邮件地址不会被公开。 必填项已用*标注