我有一个线性方程组的解列表如下:
w[2, 2] -> 0.0000183294,
w[2, 3] -> 0.0000296603,
w[2, 4] -> 0.0000233449,
w[3, 2] -> 0.0000230831,
当我调用,例如:w[3,2]
,我得到w[3,2]
作为输出,而不是0.0000230831
。
我如何将这些答案分配给一个名为W[i,j]
的二维数组,以便我可以通过它们的索引调用它们?
解决方案列表是替换规则,要使它们工作,您必须应用这些规则。假设您有一个Solve[]
语句生成您的解决方案列表,下面将创建一个函数W[i,j]
,如果w[i,j]
存在于列表中,该函数将返回其值。
sol = Solve[...];
W[i_, j_] := w[i, j] /. sol
作为题外话,您应该理解单括号F[i,j,...]
表示变量i, j,…和双括号F[[i,j]]
表示一个索引为i和j的二维数组。一般来说,使用替换列表来构建函数比用它们来构建数组更快更好。