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