Some call patterns, when operating on "large enough" data (size can depend on the exact pattern), will call LAPACK or BLAS to do the work. Both of those libraries are highly optimized and multithreaded even without the Parallel Processing Toolbox.
Call patterns that do not happen to match the ones handled by the libraries, or if the data is not "big enough", are handled single processor unless the Parallel Processing Toolbox is used (and parallel processing is requested.)
The Parallel Processing Toolbox allows explicit requests for parallelization; code (at some level!) has to be written specially to use it. There are several facilities in the PCT, to allow the code to be broken up in different ways. But MATLAB will not just "figure out for itself" which parallel processing to use: it has to be coded in. Sometimes the changes might be quite small, but sometimes the code changes might be extensive.
Best Answer