Take the 2-minute tour ×
Mathematica Stack Exchange is a question and answer site for users of Mathematica. It's 100% free, no registration required.

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?

share|improve this question

1 Answer 1

up vote 4 down vote accepted

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]]]]]]

enter image description here

share|improve this answer
    
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

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.