is it possible to call MATLAB code in a FORTRAN ?

Hey all,
Is it possible to connect a MATLAB function with a FORTRAN code? In fact, I use FORTRAN for programming and not to re-schedule already existing functions in matlab, I try to find a solution to call these functions directly from FORTRAN. Any idea ?
best regards,
S.S.

 Accepted Answer

Hi,
have a look at the MATLAB Engine

2 Comments

Moved S.S. answer to a comments:
Hi Friedrich,
I already saw this function, but i need more explanation. how to call the matlab code from a subroutine for example? the steps?
thank you
best regards
Under the above link there is a subsection called "Call MATLAB Functions from Fortran Applications". Look at it and you will find an example:
"The program fengdemo.F, in the matlabroot/extern/examples/eng_mat folder, illustrates how to call the engine functions from a standalone Fortran program. To see the code, open this file."
Simply follow the doc and you will find what you need.

Sign in to comment.

More Answers (1)

For mex functions there is a routine called mexCallMATLAB that allows you to call a MATLAB function from your Fortran or C/C++ code. There is no official equivalent for Engine applications. However, there is an FEX submission called engCallMATLAB that mimics this functionality (actually there are two separate submissions, one for C and one for Fortran). It does the work of copying your inputs to the Engine, calling the function, retrieving the outputs, and cleaning the Engine workspace. You can find the submissions here:
There is a short test example supplied with the submissions. You, the programmer, still have to do the work of converting your Fortran arrays/scalars to/from mxArray variables.

Categories

Asked:

on 5 May 2014

Answered:

on 6 May 2014

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!