【发布时间】:2018-01-29 23:00:31
【问题描述】:
我在下面有这段代码,它打印一个矩阵。矩阵的每一列代表一个光束,每一行代表一个特定点的光束高度。 (见图像)。
import numpy as np
import sympy
Fh = 3
E1 = 20 #(N/mm²)
t = 1
L = 5
h_base = 2
h_min = 0
hx = []
for x in range(0, L):
for height_in_x in range(h_min, h_base + 1):
h = h_base - ((h_base - height_in_x) / L * x)
hx.append(h)
H_x = np.array(hx, dtype=np.float)
matrix_H_x = np.reshape(H_x, (L, h_base - h_min + 1))
print (matrix_H_x)
"""
[[ 2. 2. 2. ]
[ 1.6 1.8 2. ]
[ 1.2 1.6 2. ]
[ 0.8 1.4 2. ]
[ 0.4 1.2 2. ]]
问题:现在我需要使用这个值进行积分:表达式是:
result = -1/E1 + sympy.integrate((-Fh * L + Fh * **x**) / (t * **H_x** / 12))
但我应该保持 3 个结果独立,对于每一列(梁)见图片
地点:
x 是一个整数,在这种情况下从 0 到 L
Hx 是每个 x 距离内的光束高度。
我不知道获取高度的 for 循环是否是一个好的解决方案,也许我可以只使用 SymPy 函数来完成所有事情。
【问题讨论】:
标签: python function matrix sympy integral