【发布时间】:2019-11-15 11:31:26
【问题描述】:
我尝试使用以下代码打印出一个矩阵,但是,它显示了名称错误。 我想知道我应该在哪里具体定义矩阵? python能把Qb的缩写识别成Q_bar吗?
import numpy as np
Q11 = 14.583
Q12 = 1.4583
Q23 = 0
Q22 = 3.646
Q33 = 4.2
theta = 60
def Q_bar(Q11, Q12, Q22, Q33, theta):
n = np.sin(theta*np.pi/180)
m = np.cos(theta*np.pi/180)
Qb_11 = Q11*m**4 + 2*(Q12 + 2*Q33)*n**2*m**2 + Q22*n**4
Qb_22 = Q11*n**4 + 2*(Q12 + 2*Q33)*n**2*m**2 + Q22*m**4
Qb_33 = (Q11 + Q22 - 2*Q12 - 2*Q33)*n**2*m**2 + Q33*(m**4 + n**4)
Qb_12 = (Q11 + Q22 - 4*Q33)*n**2*m**2 + Q12*(m**4 + n**4)
Qb_13 = (Q11 - Q12 - 2*Q33)*n*m**3 + (Q12 - Q22 + 2*Q33)*n**3*m
Qb_23 = (Q11 - Q12 - 2*Q33)*n**3*m + (Q12 - Q22 + 2*Q33)*n*m**3
Qb_matrix = np.array([[Qb_11, Qb_12, Qb_13],[Qb_12, Qb_22, Qb_23],[Qb_13, Qb_23, Qb_33]])
return(Qb_matrix)
print(Qb_matrix)
【问题讨论】:
-
你永远不会调用你的函数,所以它里面的代码永远不会运行。此外,如果您确实调用了函数,则需要捕获返回值,因为
Qb_matrix将仅存在于函数的范围内
标签: arrays python-3.x matrix nameerror