0
我在Python中定义一个矩阵:(文档matrix.py的名称)从Python中导入矩阵Pyomo
N = 4
l = N
k = N
D = np.zeros((l,k))
for i in range(0,l):
for j in range(0,k):
if (i==j):
D[i,j] = 2
else:
D[i,j] = 0
D[0,0] = (2*N**2+1)/6
D[-1,-1] = -(2*N**2+1)/6
print(D)
我想在Pyomo使用它,而我所做的:
import matrix
。 。 。
m.f_x1 = Var(m.N)
def f_x1_definition(model,i):
for j in m.N:
return m.f_x1[j] ==sum(D[i,j]*m.x1[j] for j in range(value(m.n)))
m.f_x1_const = Constraint(m.N, rule = f_x1_definition)
,但我得到了一个错误: NameError: global name 'D' is not defined
我该怎么办呢?
Varia 'matrix.py'模块中定义的bles必须用'matrix.D'语法来访问。 – hpaulj
感谢您的回复。但是..我怎么这么做?我不知道你的意思。谢谢, – Michael