How to call MATLAB function from Fortran 77 subroutine
3 ビュー (過去 30 日間)
古いコメントを表示
Hello, I want fortran subroutine to call simple matlab function (.m) file during execution. The output of matlab function is stored in fortran subroutine. I have prepared following codes: 1. is Fortran 77 subroutine 2. is Matlab program. I want to know how to call matlab program from fortran 77 subroutine and exchange data. Any input will be appreciated: Fortran code:
program Frotran_Learning_1
implicit none
integer :: a
real :: c,b
write (*,*) 'Enter the values for a & b:'
read (*,*) a,b
c = product(a,b)
write (*,*) 'The product of a and b is: '
write (*,*) c
end program Frotran_Learning_1
MATLAB Code:
function [ z ] = product( x,y )
%multiplies x and y
z=x*y;
end
Can anybody please tell me how to inteface this two? Thank you in advance,
Nik
0 件のコメント
回答 (1 件)
James Tursa
2017 年 4 月 26 日
See the External Interfaces API section of the doc. The Engine would be one option. Or rewriting your Fortran as a mex routine is another option.
https://www.mathworks.com/help/matlab/programming-interfaces-for-c-c-fortran-com.html
4 件のコメント
James Tursa
2017 年 4 月 26 日
編集済み: James Tursa
2017 年 4 月 26 日
"... I have separate fortran compiler which is invoked from abaqus ..."
So does this mean you are using a Fortran compiler that is not officially supported by MATLAB?
It is not too difficult to write Fortran source code to call an m-file, and I can certainly help with that, but first you need to be able to build Engine or mex routines. That requires either using a supported Fortran compiler, or somehow finding 3rd party instructions for compiling & linking your particular compiler with MATLAB. Have you done this?
参考
カテゴリ
Help Center および File Exchange で Fortran with MATLAB についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!