版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Matlab的API接口技术Matlab及其应用哈尔滨工业大学动力工程控制与仿真研究所鲍文http://matlab.turbo.hit.ed目录API接口包含的内容:MEX文件Mat文件的读写作为客户运行的MatlabMatlab文件的编译方法需求:运算速度、接口技术一.C语言的设定过程设定C语言的环境:在matlab环境中或在它的目录下:
mex–setuplcc是matlab安装的时候自动安装的c语言环境。二.Mex文件2.1什么是mex文件?Matlab的扩展
Mex的扩展名Alpha
mexaxpIBM
RS/6000
mexrs6Linux
mexlxSolaris
mexsolWindows
dllDOS
mex2.2用C语言编写mex文件1、mex文件的入口函数void
mexFunction(//必须叫这个名字int
nlhs,mxArray
*plhs[],//输出的变量int
nrhs,const
mxArray
*prhs[])//进入的变量{
}nlhs
nrhs分别表示输出、输入的变量数目*plhs[]*prhs[]表示输出、输入的矩阵例如:x=fun(y,z)nlhs=1
nrhs=2
x=plhs[0]
y=prhs[0]
z=prhs[1]调用的流程图2简单的例子包含文件:#include
"mex.h"输出错误信息并退出:mexErrMsgTxt得到矩阵的行列数mxGetM、mxGetN判断矩阵的类型:mxIsDouble、mxIsComplex生成双精度矩阵mxCreateDoubleMatrix获取矩阵的数组表达:*x=mxGetPr(plhs[0])获取矩阵的第一个数:x=mxGetScalar(plhs[0])调试:mex–g
file.c3
Fortran的方法需要ms
fortran
power
station接口:subroutine
mexFunction(nlhs,
plhs,
nrhs,
printeger
plhs(*),
prhs(*)integer
nlhs,
nrhs三、Mat文件的读写matOpen打开mat文件
matClose关闭mat文件matGetDir获得mat文件中数组的列表
matGetArray从mat文件中读一个数组
matPutArray向mat文件中写一个数组
matGetNextArray从mat文件重读下一个数组
matDeleteArray从mat文件中删医数组举例Windows下的编译方法mex
-f
<matlab>\bin\win32\mexopts\<topts.ba<pathname>\matcreat.cOpts.Bat包含有:df50engmatopts.bat
DIGITAL
Visual
Fortranwatengmatopts.bat,
wat11engmatopts.bat,bccengmatopts.bat,msvc50engmatopts.bat,
msvcengmatopts.bat四、控制matlab运行4.1
sendkey方式–
vb中有函数sendkey4.2
Matlab
Engine方式engOpen开始MATLAB
engineengClose关闭MATLAB
engineengGetArray从MATLAB
engine获取一个矩阵engPutArray向MATLAB
engine送一个矩阵engEvalString执行MATLAB命令字符串engOutputBuffer获取MATLAB文本输出举例Windows下的编译方法(同读mat文件)mex
–f
<matlab>\bin\<opts.bat>
filename.df50engmatopts.bat
DIGITAL
Visual
Fortranwatengmatopts.bat,
wat11engmatopts.bat,bccengmatopts.bat,msvc50engmatopts.bat,
msvcengmatopts.bat其它的方法1、DDE2、AcitveXMatlab/regserver注册为一个ActiveX服务器使用标准的ActiveX方法可以调用matlab的运行五、m文件编译这一部分内容在compiler工具箱中5.1编译为mex文件mcc
-x
filename注意:load(file,’a’,’b’,’c’)可以load
file不可以Load(file,a,b,c,d)不可以不可以出现eval不支持的函数5.2编译为独立文件首先:mbuild-setupmcc
–m
filename.m需要的文件:•Application(executable)•
libmmfile.dll•libmatlb.dll•libmat.dll•libmx.dllibut.dll•libsgl.dll转化为c语言程序:mcc–c
filename.m在
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 吉首大学《解析几何》2021-2022学年第一学期期末试卷
- 吉首大学《导视系统设计》2021-2022学年第一学期期末试卷
- 《机床夹具设计》试题5
- 吉林艺术学院《音乐文论写作Ⅲ》2021-2022学年第一学期期末试卷
- 吉林艺术学院《社会市场调研》2021-2022学年期末试卷
- 2024年共同买彩票合同范本大全
- 2024年供货商改名合同范本
- 2024年墩顶围栏合同范本
- 2024年大型地坪租赁合同范本
- 2024年大律师忠诚协议书模板
- 海淀区高一年级第一学期期末数学试题含答案
- 2025年公务员考试时政专项测验100题及答案
- TSG ZF003-2011《爆破片装置安全技术监察规程》
- 大学美育学习通超星期末考试答案章节答案2024年
- 《春秋》导读学习通超星期末考试答案章节答案2024年
- 2022年黑龙江哈尔滨中考满分作文《这也是收获》5
- 2024-2025学年初中英语七年级上册(外研版)上课课件 Unit 5 Fantastic friends 2.Developing ideas
- 2024年纪检监察业务知识考试题库及答案
- 15 1 两种电荷 教学设计 人教版九年级物理全一册
- 2024年保密知识应知应会网络竞赛题库(含答案)
- 2024年人教版七年级上册地理期中测试试卷及答案
评论
0/150
提交评论