通行证│用户名: 密码: 验证码: 验证码,看不清楚?请点击刷新验证码 电信网通铁通移动   在线
资源搜索:
热门搜索:Linux VB C语言 PhotoShop Flash TCP/IP
   首页 | 文章 | 软件 | 动画 | 资源 | 励志 | 骗术 | 论坛 | 邮箱 | 会员中心 | 军事 | 科技 | 博客 | 图片 | 商城 | 最新更新 | 800g资源 | 爱心黑客
您现在的位置: 爱国者黑客 >> 资源 >> 机械电子 >> MATLAB >> Matlab基础 >> 文章正文

Matlab 编译器2.0概述
责任编辑:admin   更新日期:2005-8-6

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 所画的圆

 
  • 上一篇文章:
  • 下一篇文章:
  • 热门文章
    Olldbg常见问题
    汇编语言的艺术(组合语言的艺术)--观
    汇编语言的艺术(组合语言的艺术)--准
    汇编语言的艺术(组合语言的艺术)--基
    汇编语言的艺术(组合语言的艺术)--基
    汇编语言---程式设计 (4)
    虚拟8086模式
    SYS命令使用说明
    javascript + CSS 实现动态菜单显
    推荐文章
    自制Windows XP SP2自动安装光盘
    SQLServer注入工具改进版 v1.02
    使用photoshop CS进行自然美肤
    Photoshop绘制诺基亚手机
    PHOTOSHOP制作秋日之梦
    PHOTOSHOP鼠绘名模王爱萍
    Photoshop制作晶莹飞溅的水珠
    教你用PHOTOSHOP做放大镜
    鼠绘美女及服装修画全过程