Найдите максимальное и минимальное значение матрицы и установите для оттенка фона значение
Hue(a(i,j)) = (a(i,j) - min)/(max - min))
Вы можете получить, например, (код в Mathematica, не возражайте, просто в качестве примера):
a = Table[x + Sin[3 x + y^2], {x, -3, 3, 0.1}, {y, -3, 3, 0.1}];
ArrayPlot[a, ColorFunction -> (Hue[(# - min)/(max - min), 1, 1] &)],
ColorFunctionScaling->False ]

Редактировать
Для справки, 3D-график этой функции
