MATLAB外部接口编程(张威) 第6章.ppt

MATLAB外部接口编程(张威) 第6章.ppt

ID:51588059

大小:913.50 KB

页数:90页

时间:2020-03-24

MATLAB外部接口编程(张威) 第6章.ppt_第1页
MATLAB外部接口编程(张威) 第6章.ppt_第2页
MATLAB外部接口编程(张威) 第6章.ppt_第3页
MATLAB外部接口编程(张威) 第6章.ppt_第4页
MATLAB外部接口编程(张威) 第6章.ppt_第5页
资源描述:

《MATLAB外部接口编程(张威) 第6章.ppt》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、第6章MATLAB计算引擎应用6.1概述6.2计算引擎应用6.3编译应用程序6.4计算引擎应用示例练习6.1概述MATLAB的计算引擎应用实际上就是利用MATLAB提供的一组接口函数(API),在用户开发的C语言或者Fortran语言应用程序中,通过某种通信机制后台调用MATLAB应用程序以完成复杂的系统任务。计算引擎应用程序是在MATLAB环境之外的可执行应用程序,在它们运行的过程中需要利用某种通信机制和另外一个MATLAB进程(会话)交互数据。在不同系统平台上,应用程序使用的通信机制是不一样的,例如在UNIX系统中使用管道(pipe

2、s)完成,而在Windows平台中,这种通信机制是利用COM应用接口IEngine来完成的,图6-1表示了计算引擎应用在Windows系统中的情况。图6-1Windows平台上的计算引擎应用程序在Windows平台上,用户开发的C语言或者Fortran语言应用程序作为COM应用的客户端,是整个应用程序的前端,而MATLAB作为COM应用的服务器运行在后台。两者利用MATLAB提供的计算引擎接口函数进行交互,例如在客户端从MATLAB进程中获取数据,或者在客户端调用MATLAB的指令等。在C语言或者Fortan语言中使用MATLAB计算引

3、擎应用集成MATLAB的算法与其它的集成方法比较,计算引擎应用程序具有如下几点优势:■调用MATLAB数学函数完成繁重的数学计算,充分发挥MATLAB在数值计算上的强大优势,通过C语言或者Fortran语言编写的GUI来调用后台的MATLAB数学计算功能,完成特殊的需要,节约开发时间。■在UNIX平台上,计算引擎的MATLAB进程不仅可以运行在本地计算机上,也可以运行在网络中的任何一台计算机上,这样可以将本地计算机作为前端的用户接口界面来直接调用后台复杂的算法。■避免将庞大的MATLAB函数库链接到客户应用程序中。利用MATLABCom

4、piler打包的函数库时,需要将MATLAB的数学库或者图形库都链接到客户应用程序中,这样的操作会使客户应用程序变得庞大,而MATLAB计算引擎函数库仅仅采用十几个函数就可以完成这些复杂的操作了。■不是所有的MATLAB函数都可以使用MATLABComplier或者COMBuilder打包成为函数库或者COM组件,而使用MATLAB计算引擎则没有此类限制。6.2计算引擎应用6.2.1简单计算引擎应用示例下面看一个简单的MATLAB计算引擎应用的例子,这个例子使用C语言开发。通过本例子来了解一下MATLAB计算引擎应用程序的基本结构和编译

5、方法。<例6-1简单的C语言计算引擎应用示例——simpleengdemo.c。001/*包含必要的头文件*/002#include"engine.h"003#include"stdio.h"004#include"conio.h"005#defineBUFFERLEN256006/*主函数*/007voidmain()008{009Engine*ep;010charcmd[BUFFERLEN];011inti=0;012intstatus=0;013/*打开计算引擎*/014ep=engOpen(NULL);015if(ep==(En

6、gine*)NULL){016printf("错误:无法打开MATLAB计算引擎");017exit(-1);018}019/*执行MATLAB指令*/020engEvalString(ep,"A=zeros(1,10);");021/*稍等片刻......*/022printf("请在MATLAB会话中查看计算的结果!");023printf("按任意键继续......");024getch();025/*执行其它的MATLAB指令*/026for(i=10;i<20;i++){027/*准备在MATLAB中执行的

7、指令*/028sprintf(cmd,"A(%d)=fibonacci(%d);",i-9,i);029/*运行该指令*/030engEvalString(ep,cmd);031}032/*稍等片刻......*/033printf("请在MATLAB会话中查看计算的结果!");034printf("按任意键继续......");035getch();036/*关闭MATLAB计算引擎*/037status=engClose(ep);038/*好习惯!*/039if(status!=0){040printf("无法正常关

8、闭MATLAB计算引擎");041exit(-1);042}043printf("MATLAB计算引擎应用完毕!")044}例6-1的代码演示了MATLAB计算引擎应用程序的基本结构和流程。在代

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。