- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
MATLAB编译器和API
几乎所有使用过MATLAB的科技人员,无不为该软件的简洁、便捷和功能之强大和可靠所震撼,同时也对MATLAB产生了新的期望:一,希望程序能运行得更快;二,希望获得可摆脱MATLAB环境而独立运行的可执行软件;三,希望从其他“非MATLAB”的外部程序中调用MATLAB。
本章前6节介绍MATLAB版编译器(Compiler)。由于1.2版与2.0版差异较大,又由于2.0版缺少1.2版具有的优化功能,因此内容安排上将兼顾地论及两个版本。值得指出的是:除Mathworks外,还有其他一些公司生产的编译器,其中比较著名的是MathTools公司的Mediva;据该公司自称,性能优于Mathworks的,且具有绘图功能。
本章第7节论及API应用程序接口,扼要地介绍不同平台间的数据传送和MATLAB引擎技术。节后算例演示了,如何从外部调用MATLAB引擎。
编译器2.0概述
编译器2.0的功能
编译器2.0的性能改进
编译器2.0的局限性
把脚本文件改写为函数文件
【例12.1.4-1】有一个绘圆的M脚本文件circle.m如下。希望获得一个MEX绘圆程序。
(1)原始的绘圆脚本文件
[circle.m]
clf;r=2;t=0:pi/100:2*pi;x=r*exp(i*t);
plot(x,r*);axis(square)
(2)对这脚本文件直接编译将因错误而失败
mcc -x circle
??? Error: File circle is a Script M-file and cannot be compiled with the current Compiler.
Error in == H:\MATLAB53\toolbox\compiler\mcc.dll
(3)把脚本文件改写成函数文件。
[circle_f.m]:
function circle_f(r)
clf;t=0:pi/100:2*pi;x=r*exp(i*t);
plot(x,r*);axis(square)
(4)再对circle_f.m进行编译,将顺利通过。
mcc -x circle_f %mcc是编译指令,详见12.4节。
(5)运行生成的MEX文件circle_f.dll
circle_f(0.5) %调用circle_f绘制一半径为0.5的圆
which circle_f %查询所调用的circle_f的路径全称。
d:\mywork\circle_f.dll
图12.1.4-1 MEX文件circle_f.dll所画的圆
编译器的安装和配置
配置MATLAB编译器的前提准备
图 12.2.1-1 【Select MATLAB Componets】对话窗的选项局部图
为产生MEX文件进行预配置
对MATLAB编译器应用程序mex的设置
图 12.2.2.1-1 为产生MEX文件所产生的配置屏1
图 12.2.2.1-2 为产生MEX文件所产生的配置屏2
配置正确性的验证
(1)mex应用程序的验证
cd d:\mywork %把用户目录指定为当前目录
mex my_yprime.c %由my_yprime.c文件生成my_yprime.dll文件
my_yprime(1,1:4) %运行my_yprime.dll文件
which my_yprime %获得my_yprime.dll文件的位置信息
ans =
2.0000 8.9685 4.0000 -1.0947
d:\mywork\my_yprime.dll
(2)在MATLAB命令窗中验证mcc应用程序
mcc -x my_yprime_m %1
my_yprime_m(1,1:4)
which my_yprime_m
ans =
2.0000
8.9685
4.0000
-1.0947
d:\mywork\my_yprime_m.dll
(3)在 DOS提示符后验证mex、mcc应用程序
图 12.2.2.2-1 在DOS状态下验证编译指令
为产生独立外部应用程序进行预配置
对MATLAB编译器mbuild应用程序的设置(2.0版)
图 12.2.3.1-1 为产生独立外部应用程序所产生的配置屏1
图 12.2.3.1-2 为产生独立外部应用程序所产生的配置屏2
对MATLAB编译器mbuild应用程序的设置(1.2版)
配置正确性的验证
(1)mbuild应用程序的验证
cd d:\mywork %把用户目录指定为
文档评论(0)