Is your matrix complete? Otherwise, try sparse - save a lot of memory if there are a lot of null elements.
AFAIK, float16 not supported. The lowest, you can go to float -datatype with single , which is a 32-bit data type:
A = single( rand(50) );
You can multiply by a constant and apply to int16 , but you will lose precision.
source share