2017-04-24 3 views
1

아주 기본적인 Maple 스킬과 매트릭스를 그래픽으로 블록으로 표현하는 방법이 확실하지 않습니다. 매트릭스에서 1은 블록에 해당하고 0은 빈 공간에 해당합니다.매트릭스로 표현 된 매트릭스 - Maple - 셀룰러 오토매틱

아래 코드에서 루프의 중앙 열에 '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을 사용하면 대부분의 방법을 사용할 수 있다고 생각합니다. 이러한 플롯의 시퀀스는 -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) 
+0

감사합니다. sparsematrixplot 명령이 잘 작동합니다! 나는 이것으로부터 행렬의 배열을 만들려고했지만 실패했다. 이걸 어떻게 할 수 있는지 말해 줄 수 있겠 니? – Student201

+1

"array"대신에 "sequence"라고 말해야합니다. 예제를 추가했습니다. –

+0

건배, 완벽하게 작동했습니다. 좋은 하루 되세요. – Student201

관련 문제