矩阵表示为块 - Maple - 元胞自动机
Matrix represented as blocks - Maple - Cellular automaton
我只有非常基本的 Maple 技能,不确定如何将矩阵以图形方式表示为块,其中矩阵中的 1 对应一个块,0 对应一个空 space。
请查看下面的代码,我在其中添加了一个“1”,即循环中中央列的一个块。我想知道这是否可以用任何方式在枫木中制作动画,“1”作为实心方块。
这是某人使用其他软件实现的结果的图片。
任何帮助将不胜感激,谢谢。
restart;
with(LinearAlgebra):
with(MTM);
with(RandomTools);
M := Matrix([[0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [1, 1, 1, 1, 1]]);
for a to 4 do if (sum(M, 1))[3] < 5
then z := max(ListTools[SearchAll](0, M..., 3)));
M(z, 3) := M(z, 3)+1
end if;
print(M):
end do;
我相信 Maple 命令 plots:-sparsematrixplot
将帮助您完成大部分工作。可以使用 plots:-display 命令及其 insequence
选项对一系列此类图进行动画处理。比如10个随机矩阵:
L := NULL;
to 10 do
L := L, plots:-sparsematrixplot(LinearAlgebra:-RandomMatrix(6, 6, generator = 0 .. 1));
end do;
plots:-display(L, insequence)
我只有非常基本的 Maple 技能,不确定如何将矩阵以图形方式表示为块,其中矩阵中的 1 对应一个块,0 对应一个空 space。
请查看下面的代码,我在其中添加了一个“1”,即循环中中央列的一个块。我想知道这是否可以用任何方式在枫木中制作动画,“1”作为实心方块。
这是某人使用其他软件实现的结果的图片。 任何帮助将不胜感激,谢谢。
restart;
with(LinearAlgebra):
with(MTM);
with(RandomTools);
M := Matrix([[0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [1, 1, 1, 1, 1]]);
for a to 4 do if (sum(M, 1))[3] < 5
then z := max(ListTools[SearchAll](0, M..., 3)));
M(z, 3) := M(z, 3)+1
end if;
print(M):
end do;
我相信 Maple 命令 plots:-sparsematrixplot
将帮助您完成大部分工作。可以使用 plots:-display 命令及其 insequence
选项对一系列此类图进行动画处理。比如10个随机矩阵:
L := NULL;
to 10 do
L := L, plots:-sparsematrixplot(LinearAlgebra:-RandomMatrix(6, 6, generator = 0 .. 1));
end do;
plots:-display(L, insequence)