MATLAB具有强大的矩阵处理、数值计算以及作图功能。能否使matlab与其他的程序设计语言甚至外部仪器和设备进行通话呢?即在其他的程序设计语言 中调用matlab,或者在matlab中调用其他的程序设计语言编写的函数或子程序,或者将外部设备的数据直接输入matlab工作空间进行处理,从而 发挥他们各自的优势,为特定的应用服务。
作为目前市面上作为强大的科学计算软件,matlab也实现了从多与外部程序或设备的接口。通过mex文件的建立,matlab能够调用c、c++、 fortran的程序设计语言的子程序;通过使用matlab引擎,可在c、c++、fortran程序代码中直接调用matlab中的函数与命令;通过 matlab c/c++数学函数库直接实现c/c++与matlab的混合编程,并建立可独立运行程序;通过matlab提供的串口接口,可以实现从外部设备(如 modem)直接输入数据到matlab工作空间,再利用matlab进行处理。
1.MEX文件
mex文件是按一定格式使用c/c++、fortran等语言编写的动态链接库函数,在windows操作环境中,其后缀名为 dll(dynamic link library),它的主要目的是在matlab中调用c/c++和fortran编写的子程序。她是matlab的一类外部程序调用接口,可以在 matlab系统象调用matlab的内建函数一样调用已经存在的用c/c++、fortran语言编写的子程序,而无需将他们重新编写为matlab的 m文件,从而使资源得到充分利用。
mex文件是一种动态链接库的子程序,这些子程序可由matlab解释器自动载入并执行。调用mex文件与调用matlab的内建函数的方式完全相同,只 需在matlab命令提示符下键入mex文件名即可,当然,该mex文件必须位于matlab的当前工作目录下。
mex文件有以下一些用处:
①、对于原先已经存在的c/c++
matlab接口简介
最新推荐文章于 2021-12-31 17:00:25 发布