Матрица представлена ​​в виде блоков - Клен - Сотовый автомат

У меня есть только базовые навыки Maple, и я не знаю, как представлять матрицу графически, как блоки, где 1 в матрице соответствует блоку, а 0 - пустому пространству.

Пожалуйста, смотрите мой код ниже, где я добавляю "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;

1 ответ

Решение

Я верю команде 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)
Другие вопросы по тегам