Yes, there are two ways. The first is using "MEX-files." MATLAB's MEX-file facility allows any C or FORTRAN subroutine to be called directly from MATLAB. The MEX facility dynamically links your C or FORTRAN subroutine to the MATLAB program at runtime. From inside your C or FORTRAN subroutine, you can then call any MATLAB function. To call a MATLAB function from your program, you start MATLAB, then call your program. Your program is then in control and can access any MATLAB function.
The second way to call MATLAB routines from your program is to use MATLAB as a computational engine. A set of subroutines is provided that allows you to start MATLAB, send data and commands to it, get data back, and terminate MATLAB. This way you can call any MATLAB routine from your FORTRAN or C function.