Fortran Source MEX Files
A MEX file lets you call a Fortran subroutine from MATLAB. To create a MEX file, you need:
The ability to write Fortran source code. You can create these files with the MATLAB Editor.
A compiler supported by MATLAB. For an up-to-date list of supported compilers, see Supported and Compatible Compilers.
mexbuild script. For more information, see Executable Fortran MEX Files.
For examples, see Tables of MEX Function Source Code Examples.
For information about writing S-functions using Fortran code, see your Simulink® documentation.
MEX files are not appropriate for all applications. MATLAB is a high-productivity environment whose specialty is eliminating time-consuming, low-level programming in compiled languages like Fortran. In general, do your programming in MATLAB. Do not use MEX files unless your application requires it.
- Create Fortran Source MEX File
This example shows how to write a MEX file to call a Fortran subroutine,
timestwo, in MATLAB using a MATLAB matrix.
- Handle Complex Fortran Data
This example shows how to pass complex data to a MEX file using the interleaved complex Fortran Matrix API.
- Pass Separate Complex Numbers to Fortran Functions
Write MEX functions in MATLAB R2017b and earlier to call LAPACK or BLAS functions.
- User Messages
To print text in the MATLAB Command Window, use the
- Error Handling
mexErrMsgIdAndTxtfunction prints error information and terminates your binary MEX file.
- Components of Fortran MEX File
The gateway routine is the entry point to the MEX file.
- MATLAB Fortran API Libraries
The Fortran Matrix API and the Fortran MEX API describe functions you can use in your gateway and computational routines that interact with MATLAB programs and the data in the MATLAB workspace.
- Data Flow in Fortran MEX Files
Suppose that your MEX file
myFunctionhas two input arguments and one output argument.
- Handling Large mxArrays
Binary MEX files built on 64-bit platforms can handle 64-bit
- Upgrade Fortran MEX Files to use 64-bit API
Upgrade Fortran MEX files to use 64-bit API.