We can deduce that you probably have four cores (1 core = 25% usage), that your algorithm is mostly iterative and does not involve large arrays (automatic vectorization would use more cores), and that if you are reading files then you are not reading large volumes of data (operating system would automatically cache files using more memory.)
Depending what your algorithm does, it might be possible to vectorize it, which provides more opportunities for MATLAB to automatically invoke high-performance multithreaded libraries.
If you are applying to same iterative algorithm to a number of different starting points with the calculations being independent of each other, then it might be possible to improve by running several copies of the algorithm at the same time using the Parallel Computing toolbox.
But we do not have enough information to give more than generalities.
Best Answer