如何 save/name 来自 SageMath 中的循环
How to save/name result from loop in SageMath
我有以下代码
N = 3
Z = matrix(24, 3); Z
for i in range(N - 1):
for j in range(N - 1):
for k in range(N - 1):
m = matrix([[0, i, j], [i, 0, k], [j, k, 0]]); m
结果是:
[0 0 0]
[0 0 0]
[0 0 0]
[0 0 0]
[0 0 1]
[0 1 0]
[0 0 1]
[0 0 0]
[1 0 0]
[0 0 1]
[0 0 1]
[1 1 0]
[0 1 0]
[1 0 0]
[0 0 0]
[0 1 0]
[1 0 1]
[0 1 0]
[0 1 1]
[1 0 0]
[1 0 0]
[0 1 1]
[1 0 1]
[1 1 0]
如何save/name取悦每次迭代的结果?在 MATLAB 中,我们只需创建一个零矩阵并在每次迭代时填充它。在这里它不起作用。或者换句话说,我如何从结果中每 3 行重新调用一次,以便我可以在以后的函数中使用它?
你可以定义一个函数
def m(i, j, k):
return matrix([[0,i,j],[i,0,k],[j,k,0]])
然后直接调用它
sage: m(1,0,1)
[0 1 0]
[1 0 1]
[0 1 0]
我有以下代码
N = 3
Z = matrix(24, 3); Z
for i in range(N - 1):
for j in range(N - 1):
for k in range(N - 1):
m = matrix([[0, i, j], [i, 0, k], [j, k, 0]]); m
结果是:
[0 0 0]
[0 0 0]
[0 0 0]
[0 0 0]
[0 0 1]
[0 1 0]
[0 0 1]
[0 0 0]
[1 0 0]
[0 0 1]
[0 0 1]
[1 1 0]
[0 1 0]
[1 0 0]
[0 0 0]
[0 1 0]
[1 0 1]
[0 1 0]
[0 1 1]
[1 0 0]
[1 0 0]
[0 1 1]
[1 0 1]
[1 1 0]
如何save/name取悦每次迭代的结果?在 MATLAB 中,我们只需创建一个零矩阵并在每次迭代时填充它。在这里它不起作用。或者换句话说,我如何从结果中每 3 行重新调用一次,以便我可以在以后的函数中使用它?
你可以定义一个函数
def m(i, j, k):
return matrix([[0,i,j],[i,0,k],[j,k,0]])
然后直接调用它
sage: m(1,0,1)
[0 1 0]
[1 0 1]
[0 1 0]