Say I have a matrix of:
tmp1 = 5;
tmp2 = 5;
tmp3 = RandomChoice[{0, 1, 2, 3, 4, 5}, {tmp1, tmp2}];
MatrixForm[tmp3]
How to do a conditional operation of elements - 1 if non-zero, else do nothing, as in the attached:
. Maybe using Positive?
|
Say I have a matrix of:
How to do a conditional operation of elements - 1 if non-zero, else do nothing, as in the attached: |
||||
|
Another possibility is to use Sign[]. To make each positive element of the matrix decrease by one:
|
|||||
|
|
You have lots of options. Among them
And numerically for the entire matrix:
|
|||
|
|
tmp3 /. (x_ ?Positive -> x - 1)? – b.gatessucks Nov 13 '12 at 15:14tmp3 /. x_?Positive :> x - 1ortmp3 - Boole[Positive[tmp3]]then? – J. M.♦ Nov 13 '12 at 15:17