2

我正在尝试找到一种将 41x41 数组转换为最大值矩阵的方法。我试过aa1:matrix([aa]); 如果我尝试matrixp(aa1)它会产生 true 但矩阵只包含第一个值。

有人有想法吗?

4

1 回答 1

2

IIUC Maxima 数组是hashes,因此顺序不像矩阵那样牢固。除此之外,它似乎应该有一些关于如何生成数组的知识genmatrix,请参阅第五个常见问题解答条目

所以如果数组是这样生成的:

(%i1) for i thru 4 do for j thru 4 do A[i,j]: i+j$

我们有:

(%i2) listarray(A);
(%o2)   [2, 3, 4, 5, 3, 4, 5, 6, 4, 5, 6, 7, 5, 6, 7, 8]
(%i3) arrayinfo(A);
(%o3)   [hashed, 2, [1, 1], [1, 2], [1, 3], [1, 4], [2, 1], [2, 2], [2, 3], [2, 4], [3, 1], [3, 2], [3, 3], [3, 4], [4, 1], [4, 2], [4, 3], [4, 4]]

A可以像这样转换为 4x4 矩阵:

(%i4) genmatrix(A,4,4);
        [ 2  3  4  5 ]
        [            ]
        [ 3  4  5  6 ]
(%o4)   [            ]
        [ 4  5  6  7 ]
        [            ]
        [ 5  6  7  8 ]
于 2013-03-15T08:41:25.427 回答