发布企业信息

Matlab 编译器2.0概述

作者:未知  信息来源:未知  2006-1-26

字体大小:  网友评论  进入论坛  

12 MATLAB编译器和API几乎所有使用过 MATLAB 的科技人员,无不为该软件的简洁、便捷和功能之强大和可靠所震撼,同时也对 MATLAB 产生了新的期望:一,希望程序能运行得更快。二,希望获得可摆脱 MATLAB 环境而独立运行的可执行软件。三,希望从其他“非 MATLAB ”的外部程序中调用 MATLAB 。本章前 6 节介绍 MA...

12 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 引擎。


12.1 编译器2.0概述
12.1.3 编译器2.0的局限性
12.1.4 把脚本文件改写为函数文件
【例 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 所画的圆

分页:
Google


推荐图文

广告

机械热点图文

  • 数控车床加工编程典型实例分析2
  • 内螺纹车削加工——数控车床编程实例42
  • 子程序编程方法-数控车床编程实例36
  • 塑料模具动画演示

机械风云人物

Copyright © 2004 51base.com Inc. All rights reserved.

无忧基地 版权所有│粤ICP备06098418号│XHTML | CSS

客服:+86-755-2212 2202 工作时间:周1~5 10点~16点

感谢中国网络提供带宽支持

《网络营销技巧》