我有以下代码
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]
如何保存/命名每次迭代的结果?在MATLAB中,我们只需创建一个零矩阵并在每次迭代时填充它。在这里它不起作用。或者换句话说,如何从结果中重新调用每3行,以便在将来的函数中使用它?
答案 0 :(得分:0)
您可以定义一个功能
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]