取长补短:Simulink与VC++6.0接口比较

Simulink与VC应用程序接口一个显著的特点就是Simulink仿真必须依赖于MATLAB系统,目前为止,MATLAB提供引擎方式将Simulink同VC应用程序的编程结合起来。要通过引擎方式将Simulink与VC结合起来首先要掌握VC与MATLAB通过引擎方式混合编程以及Simulink命令行仿真两方面的内容。

MATLAB引擎方式函数库

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

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

(1) engOpen

功能:启动MATLAB引擎。

语法:Engine* engOpen(const char* startcmd);

其中,startcmd为一字符串,用于启动MATLAB进程。在Windows中,startcmd必须为NULL。

(2) engClose

功能:退出MATLAB引擎。

语法:int engClose(Engine* ep);

其中,ep是Engine类型的指针。EngClose发出退出MATLAB命令,成功时返回0,否则返回l。

(3) engEvalString

功能:执行一个用字符串表示的MATLAB表达式。

语法:int engEvalString(Engine* ep, const char* string);

其中,string是命令字符串,该字符串必须是一个合法的MATLAB表达式。凡可在MATLAB命令窗口中执行的命令均可以字符串形式执行。

时间: 2024-12-01 05:31:24

取长补短:Simulink与VC++6.0接口比较的相关文章

使用VC++6.0制作ASP服务器控件简介

c++|服务器|控件 用ASP写网页的程序员,一定对VBSript语句"Set Conn=Server.Object('ADODB.Connection')"非常熟悉.该语句是利用ASP的Server对象创建了一个数据库控件,它提供了一系列的方法和属性,可以帮助我们在ASP中方便的实现数据库的操作.类似的,在Visual InteDev6.0中,我们还可以看到一些ASP的内置组件如"Scripting.FileSystemObject".但是,在有的场合,仅利用这些

用VC++ 6.0实现JNI的例子

JNI是JDK的一部分,用于为Java提供一个本地代码的接口.通过使用JNI编写的程序能够 确保你的代码能够完全的移植到所有的平台.JNI使得运行在JVM虚拟机上的Java代码能够操 作使用其它语言编写的应用程序和库,比如C/C++以及汇编语言等.此外JNI提供的某些API还 允许你把JVM嵌入到本地应用程序中.下图表达了JNI所扮演的角色. 本文将通过一个 实例来阐述使用VC++6.0来实现JNI的完整过程.使用JNI来整合本地代码和Java代码的步骤是 确定的,没有再创作的余地,所以读者可以

水晶报表在VC++6.0中的简单使用方法

水晶报表是一个报表设计开发的强大工具,功能强大,设计灵活,在水晶报表光盘中只提供了一个完全动态生成报表的例子,使用繁琐.现介绍其在VC++6.0中的简单使用方法.编译环境:VC++6.0 sp5 .Windows 2000 Server sp3 (en).一.导入水晶报表使用的动态联接库:根据实际修改文件路径. #import "C:\Documents and Settings\Administrator\桌面\cr\craxdrt9.dll" no_namespace 二.定义接口

用VC 6.0实现串行通信的三种方法

摘要:本文介绍了在Windows平台下串行通信的实现机制,讨论了根据不同的条件用Visual C++ 设计串行通信程序的三种方法,并结合实际,实现对温度数据的接收监控. ---- 在实验室和工业应用中,串口是常用的计算机与外部串行设备之间的数据传输通道,由于串行通信方便易行,所以应用广泛.依据不同的条件实现对串口的灵活编程控制是我们所需要的. ---- 在光学镜片镀膜工艺中,用单片机进行多路温度数据采集控制,采集结果以串行方式进入主机,每隔10S向主机发送一次采样数据,主机向单片机发送相关的控制

c# 4 0-C#调用VC++6.0的dll中问题

问题描述 C#调用VC++6.0的dll中问题 这是vc++中头文件#define GTDLL_API extern ""C"" __declspec(dllimport) short __stdcall我在C#中引用[DllImport(""GT400.dll"")] private extern static short GT_SetPos(int pos); 调用函数 private void SMotion() //S

c语言 编程-DirectX 9.0 Summer 2004 SDK和VC++6.0编程时总是出现问题,怎么办???

问题描述 DirectX 9.0 Summer 2004 SDK和VC++6.0编程时总是出现问题,怎么办??? #define DIRECTINPUT_VERSION 0x0800 //声明DirectX Input的版本是8.0 #ifndef _WIN32_DCOM #define _WIN32_DCOM #endif #define pr printf #pragma once #define INITGUID //确保INITGUID已被定义 #define INTERFACE IDi

使用VC++6.0制作ASP服务器控件简介(zt)

使用VC++6.0制作ASP服务器控件简介富 亮 -------------------------------------------------------------------------------- 用ASP写网页的程序员,一定对VBSript语句"Set Conn=Server.Object('ADODB.Connection')"非常熟悉.该语句是利用ASP的Server对象创建了一个数据库控件,它提供了一系列的方法和属性,可以帮助我们在ASP中方便的实现数据库的操作.

代码-vc 6.0 error c2491 报错啊,头大

问题描述 vc 6.0 error c2491 报错啊,头大 简单又奇怪的问题又来了... debug版完全正常:release版报错c2491. definition of dllimport function not allowed. (我是接手的别人的项目,项目工程代码里没有看到有dllimport 或者是其他明显的问题啊). 解决方案 检查一下你Release版本跟Debug版本的工程配置,尤其预编译宏的设置. 应该有宏定义不一致,导致dllexport,dllimport的导入 解决方

环境-vc++6.0内关于s=(i++)*(i++)的问题

问题描述 vc++6.0内关于s=(i++)*(i++)的问题 int i = 0: s = (i++)*(i++) printf("%d",s): 这个结果应该是多少?我个人分析应该是2,第一个i++使用的是1 然后i的值应该变成2然后第二个i使用的是2 然后i变成3 结果s的值应该是2 但是在vc++6.0的环境下运行结果为什么是1呢?新手求解. 解决方案 这个问题问了无数遍,我想这么告诉你. 就C++语言来说,这个是语言未定义行为,所谓语言未定义行为,就是在语言规范中没有规定遇到