You can try in one cell
Dynamic@MatrixPlot[matrix, ColorFunction -> ColorData["Rainbow"]]
Then in another cell (no need for Table, RandomReal can generate a matrix as is) also Do
is little better than For
Do[matrix = RandomReal[{0, 10}, {10, 10}]; Pause[.1],{k,10}]
Added a pause so you can see the update, else it will happen too fast. (ps. first time, you can ignore the error when matrix is not yet defined, one you execute the second cell, it will work). I suggest you use Manipulate or Animate for this instead:
Animate[k; MatrixPlot[RandomReal[{0, 10}, {10, 10}], ColorFunction -> ColorData["Rainbow"]], {k, 10}]