There are several ways to scale the values in a matrix to a given range. One common Pythonic approach is to use the MinMaxScaler class of the scikit-learn library.
Here's an example to scale value within range [0, 5]:
>>> from sklearn.preprocessing import MinMaxScaler
>>> import numpy as np
>>> x=np.asarray([[-1, 3], [-5, 6], [7, 10], [1, -18]])
>>> x
array([[ -1, 3],
[ -5, 6],
[ 7, 10],
[ 1, -18]])
>>> scaler = MinMaxScaler(feature_range=(0, 5))
>>> x1=scaler.fit_transform(x)
>>> x1
array([[1.66666667, 3.75 ],
[0. , 4.28571429],
[5. , 5. ],
[2.5 , 0. ]])