Simplest is to use imresize. I assume it used to be in the image processing TB, but has migrated to MATLAB itself, due to the general utility of that function.
T = [ 300 300 300 300 300
300 346.3 358.9 346.3 300
300 363.8 380.5 363.8 300
300 356.8 373.2 356.8 300
300 363.8 380.5 363.8 300
300 346.3 358.9 346.3 300
300 300 300 300 300];
Tnew = imresize(T,30,'bilinear');
pcolor(Tnew)
shading interp
Given the coarse starting array, it does not merit more that that. Be careful with the bicubic option with imresize here.
Another option is to use interp2.
Tnew = interp2(T,5,'bicubic');
surf(Tnew)
shading interp
To be honest, your array may be far too coarse to merit that treatment.