Why does MATLAB only calculate to 4 significant digits?
It doesn’t. It uses full double-precision floating point numbers to calculate everything. By default it only prints a few decimal places to the screen. You can change this using the command format long. Type help format for more information.