# Checkbox Matrix

Is it possible to create a dynamically changing binary $n \times n$ matrix $A$, which appears to the user as a $n \times n$ matrix/table of checkboxes and the user can change the entries of $A$ by checking or unchecking these checkboxes? If yes, what would be the easiest way?

-

## 1 Answer

Modifying last example in Manipulate>Neat Examples (also the second example in this answer):

Manipulate[
ArrayPlot[Take[data, n, n]],
{{data, RandomInteger[{0, 1}, {20, 20}]}, ControlType -> None},
{{n, 5}, 1, 20, 1},
Dynamic[
Panel[Grid[Outer[Checkbox[Dynamic[data[[#1, #2]]], {0, 1}] &, Range[n], Range[n]]]]]]


-
Thank you. Suppose now I would like to use the chosen matrix in following calculations, how would I get further access to the chosen matrix? –  Thomas Jul 2 at 12:50
@Thomas, you can use Manipulate[ArrayPlot[mat=Take[data, n, n]],...] to hold the chosen matrix in global variable mat. –  kguler Jul 2 at 13:13