Simulizer

Result panels

Simulizer는 실행 결과를 다섯 가지 패널로 보여 줍니다. 각 패널은 서로 다른 종류의 결과에 적합합니다.

Graph (GraphArray)

배열 한 개를 받아 선 그래프로 그립니다. 함수 그래프, 시계열, 시간에 따른 변수의 변화 등을 볼 때 씁니다.

  • 언제 — 결과가 순서 있는 수열일 때.
  • 블록 — 디버그 카테고리의 그래프로 보내기.

Series

여러 곡선을 한 패널 안에서 비교할 때 씁니다. 두 함수를 비교하거나 여러 실행 결과를 겹쳐 볼 때 유용합니다.

  • 언제 — 여러 곡선을 동일 좌표축에서 보고 싶을 때.
  • 블록시리즈 패널 만들기 + 시리즈에 추가.

Matrix (MatShow)

행렬을 색으로 채운 격자로 보여 줍니다. 격자 시뮬레이션의 매 시간 단계 스냅샷이나 행렬 자체의 모습을 볼 때 씁니다.

  • 언제 — 결과가 2차원 격자거나 행렬일 때.
  • 블록행렬 표시.

Progress bar (ProgressBar)

긴 반복문이 얼마나 진행됐는지 막대로 보여 줍니다. 결과 자체가 아니라 실행이 잘 진행되고 있는지 확인하기 위한 패널입니다.

  • 언제 — 반복 횟수가 수만 회 이상이라 끝나는 데 시간이 걸릴 때.
  • 블록진행 막대 만들기 + 진행 막대 업데이트.

Log (TextLog)

문자열이나 숫자를 한 줄씩 적어 두는 텍스트 출력입니다. 디버깅, 중간값 확인, 최종 스칼라 결과 표시에 씁니다.

  • 언제작은 값 몇 개를 글로 보고 싶을 때.
  • 블록로그로 보내기.

Pitfalls

  • 한 실행에서 너무 많은 점을 그래프로 보내면 화면이 느려집니다. 대략 10만 점이 넘으면 다운샘플링하세요.
  • 행렬이 너무 크면(예: 1000×1000) MatShow가 그리는 데 한참 걸립니다. 큰 격자는 마지막 상태만 보내거나 몇 시간 단계마다 한 번씩 보내는 식으로 줄이세요.
  • 진행 막대를 너무 자주(매 반복마다 등) 업데이트하면 오히려 실행이 느려집니다. 100회마다 한 번씩 업데이트하는 정도가 적당합니다.

Combining panels

한 번의 실행에서 여러 패널에 동시에 결과를 보낼 수 있습니다. 예:

  • 그래프로 곡선을 보내고,
  • 로그에 평균과 최댓값을 출력하고,
  • 진행 막대로 반복 진행 상황을 확인합니다.

이렇게 보낸 패널은 모두 오른쪽 패널 영역에 함께 표시됩니다.