关闭

MATLAB引擎方式函数库

标签: matlab
266人阅读 评论(0) 收藏 举报
分类:

转自:http://hi.baidu.com/yaoyuan725/item/1ca97caaf61506f615329bf3


MATLAB引擎函数库是MATLAB提供引擎方式接口的一系列程序的集合,它允许用户用自己的C/C++语言或FORTRAN语言应用程序中对MATLAB进行调用,将MATLAB作为一个计算引擎使用,让其在后台运行,完成复杂的矩阵计算,简化前台用户程序设计的任务。

在用户启动MATLAB引擎时,相当了启动了另外一个MATLAB进程并在后台运行。应用程序通过MATLAB引擎函数库中提供的函数完成与MATLAB引擎之间进行数据交换和命令传送的任务。MATLAB引擎函数库总共提供了13个C语言的引擎函数,它们均在头文件engine.h中予以说明,所以在使用它们时,必须对该头文件进行包含。下表为主要C语言引擎库函数。


这里写图片描述

下面简要介绍引擎库中的六个基本库函数:

1. engOpen
功能:启动MATLAB引擎。
语法:Engine* engOpen(const char* startcmd);
其中,startcmd为一字符串,用于启动MATLAB进程。在Windows中,startcmd必须为NULL或”0”或“\0”。

2. engClose
功能:退出MATLAB引擎。
语法:int engClose(Engine* ep);
其中,ep是Engine类型的指针。EngClose发出退出MATLAB命令,成功时返回0,否则返回1。

3. engEvalString
功能:执行一个用字符串表示的MATLAB表达式。
语法:int engEvalString(Engine* ep, const char* string);
其中,string是命令字符串,该字符串必须是一个合法的MATLAB表达式。凡可在MATLAB命令窗口中执行的命令均可以字符串形式执行。eg:engEvalString(ep, “access=xlread(“table”,1,”B2”);”);

4. engGetArray
功能:从MATLAB的工作空间中拷贝一个变量。
语法:mxArray* engGetArray(Engine* ep, const char* name);
其中,name是从engine中得到的mxArray名。engGetArray从ep所指向的engine中读取使用参数name指定的mxArray结构体的内容,正确返回时其返回值为一指向新分配的mxArray结构体对象的指针,否则为NULL。

5. engPutArray
功能:将mxArray结构体类型变量放入MATLAB的工作空间中。
语法:int engPutArray(engine* ep, const mxArray* mp);
其中,mp为mxArray结构体对象的指针。engPutArray将一个mxArray结构体类型的变量写入引擎ep。如果当前程序的工作空间中不存在指定的mxArray结构体,则函数会自动创建。若有同名的mxArray结构体存在,它将被这一新的mxArray结构体取代。

6. engOutPutBuffer
功能:确定存放MATLAB输出结果的缓冲区域。
语法:int engOutputBuffer(Engine* eP,char* p,int n);
使用engOutputBuffer,用户可以为引擎指针ep所指向的引擎设置一个输出缓冲区,将MATLAB输出到屏幕上的内容保存在其中,其长度由参数n确定,位置由字符指针p来确定。

0
0
查看评论
发表评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场

MATLAB引擎方式函数库

MATLAB引擎函数库是MATLAB提供引擎方式接口的一系列程序的集合,它允许用户用自己的C/C++语言或FORTRAN语言应用程序中对MATLAB进行调用,将MATLAB作为一个计算引擎使用,让其在后台运行,完成复杂的矩阵计算,简化前台用户程序设计的任务。 在用户启动MATLAB引擎时,相当了启...
  • liguo9860
  • liguo9860
  • 2013-04-18 17:36
  • 2889

VS下调用Matlab引擎

VS2008是当前主流的应用程序开发环境之一,开发环境强大,开发的程序执行速度快。但在科学计算方面函数库显得不够丰富、读取、显示数据图形不方便。Matlab是一款将数值分析、矩阵计算、信号处理和图形显示结合在一起,包含大量高度集成的函数可供调用,适合科学研究、工程设计等众多学科领域使用的一种简洁、高...
  • qq_16149777
  • qq_16149777
  • 2016-07-19 09:00
  • 2997

matlab快速入门,最常用基本函数大全。

【数据类型、格式、显示】 1==2 ans = 0 %false 1==1 ans = 1 %true 1~=2 ans = 1 1&&0 ans = 0 1||0 ans = 1 xor(1,0) ans = 1 %yihuo a=pi; %加了分号就不会及时显示 a %直接显...
  • u011032846
  • u011032846
  • 2015-08-27 11:53
  • 606

matlab 函数库

Matlab函数库 A aabs 绝对值、模、字符的ASCII码值acos 反余弦acosh 反双曲余弦acot 反余切acoth 反双曲余切acsc 反余割acsch 反双曲余割align 启动图形对象几何位置排列工具all 所有元素非零为真angle 相角ans 表达式计算结果的缺省变量名an...
  • zn505119020
  • zn505119020
  • 2014-06-26 15:06
  • 385

Matlab调用外部库函数方法和注意事项

在MATLAB环境下访问外部函数的共享库文件,必须首先把该库文件加载到内存中。一旦加载成功,就 能直接在MATLAB中直接请求关于函数的任何信息。而当不再需要该库时,就应当及时把库文件从内存 中卸载以节省内存开销。    加载库 加载库加载库 加载库...
  • ghevinn
  • ghevinn
  • 2015-05-25 20:24
  • 9859

MATLAB函数库

Matlab函数库 Matlab函数库2006-12-01 10:06:03.0A a abs 绝对值、模、字符的ASCII码值 acos 反余弦 acosh 反双曲余弦 acot 反余切 acoth 反双曲余切 acsc 反余割 acsch 反双曲余割 align 启动图形对...
  • jiangyingfeng
  • jiangyingfeng
  • 2015-05-16 17:23
  • 674

通过matlab引擎在VS下进行实时C++混合编程

相较于通过mex编译mexw32/mexw64和直接加载dll等混编方式,使用matlab引擎最大的优势在于可以进行实时的数据传输,并且能够通过命令行最大限度地使用matlab的功能,充分发挥matlab和C++的优势,同时也更易于调用各类第三方库。
  • qq_32408771
  • qq_32408771
  • 2017-06-09 19:25
  • 245

matlab函数编译成库供C++调用(非常详细)

MATLAB具有着很高的计算性能,一些算法用MATLAB很容易实现,而用C++很难实现,如果想在C++中调用MATLAB编写的函数,可以将该函数编译成库文件,之后在C++中对其进行调用。 本文详细讲解如何将MATLAB函数编译成库,并在C++中进行调用。方法可行,本人亲测。 第一步、
  • w_b_h
  • w_b_h
  • 2017-07-06 17:03
  • 1898

C#调用Matlab引擎详细方法以及注意事项

最近在做图像处理方面的项目,需要用C#与Matlab相结合,之前是采用matlab生成dll给C#调用,但是速度比较慢,所以改为直接调用Matlab的引擎了。 本人的开发环境是Matlab2016a和VS2013,由于是调用matlab引擎,所以必须安装Matlab。 安装好后就可以进行开发了。...
  • zhupumao
  • zhupumao
  • 2016-07-22 16:23
  • 6388

C#调用matlab函数详细步骤和例程

C#调用matlab函数详细步骤和例程 参考文档:http://www.csdn123.com/html/blogs/20131107/94039.htm        在项目过程中需要在ASP.NET页面显示三维效果的曲面图,因C#中没有...
  • zhangqiagn1104
  • zhangqiagn1104
  • 2015-05-12 19:30
  • 9039
    个人资料
    • 访问:11483次
    • 积分:431
    • 等级:
    • 排名:千里之外
    • 原创:27篇
    • 转载:11篇
    • 译文:0篇
    • 评论:24条
    最新评论