This thread may be a little old, but I just encountered the "Error: A test did not resolve to TRUE or FALSE" and arrived at a different solution than earlier posters proposed.

The solution involves preventing the If statement from seeing the defective result returned by TI-Basic's defective boolean operator logic. And to do that we use string().

The following If statement would throw the error:

If 270_ohm=300_ohm Then

But string() isolates the If statement from the defective result returned by the boolean = operator when the statement is false:

If string(270_ohm=300_ohm)="true" Then

So, if I understand your original question correctly: if you entered true and false into the cells of the matrix, the solution would look like:

myMatrix:=[1,true;2,false;3,"some text"]

If you then looped though the matrix rows using the following If statement, row 1 would display true while rows 2 and 3 would display false.

If string(myMatrix[row,2])="true" Then

disp true

Else

disp false

Endif

If you did not use the string() as shown above but simply said »If myMatrix[row,2] Then«, the third row of the matrix would cause the error to be thrown.

All of the above was typed in rather than copied from a syntax-checked file, so there may be some typos but the concept is valid.