五支点双曲肘合模机构优化设计中Matlab COMBuilder与VC混合编程的应用
C_Builder与Matlab混合编程的两种方法
科学技术与工程6卷C++Builder与Matlab混合编程的两种方法杜高鹏翟正军1*徐隽(西北工业大学软件学院,西安710065;dgp_2003@126.com;西北工业大学计算机学院1,西安710072)摘要详细论述了C++Builder与Matlab混合编程的两种实现方法。
一是在C++Builder中使用COM技术调用Matlab数据。
二是脱离Matlab环境,通过动态连接库方式实现对Matlab工具箱函数的调用。
分别给出一个详细的例子。
这两种方法都充分发挥了C++Builder与Matlab的优势,为科学研究和工程技术提供了更强的技术支持。
关键词C++BuilderMatlabCOM组件Mediva软件平台DLL中图法分类号TP312文献标识码BMatlab是一个高度集成的系统,它把数值计算和可视化环境集成到一起,非常直观,而且提供了大量的函数,使其越来越受到人们的喜爱。
它集科学计算、图象处理、声音处理于一体,具有极高的编程效率。
近年来,Matlab已经从最初的“矩阵实验室”渗透到科学与工程计算的多个领域,在自动控制、信号处理、神经网络、模糊逻辑、小波分析等多个方向,都有着广泛的应用。
BorlandC++Builder是一种新颖的可视化编程语言,它既具有C++语言的灵活性、高效性,又具有可视化编程的便利性,功能丰富强大,界面友好,使用十分方便,但是在矩阵运算、数值分析、工程计算等方面,功能则稍嫌不足;在工程应用中,我们一般用C++Builder语言编写应用程序,实现交互界面、数据采集和端口操作等,但C++Builder在数值处理分析和算法工具等方面,其效率远远低于Matlab语言。
在准确方便地绘制数据图形方面,Matlab语言更具有无可比拟的优势。
此外,Matlab还提供功能强大的工具箱。
但Matlab的缺点是不能实现端口操作和实时控制。
因此,若能将两者结合运用,实现优势互补,将大大提高工作效率。
基于COM接口的VC与MATLAB混合编程
基于COM接口的VC++与MATLAB混合编程摘要介绍了VC++与Matlab混合编程的各种方法,并分析了各种方法的优缺点。
以FFT算法为例,给出了基于COM接口的VC++与Matlab混合编程的步骤。
关键词 VC;COM;Matlab;FFT;混合编程0 引言目前,Matlab广泛的应用于自动控制、数学运算、信号分析、图像处理、财务分析等各行各业。
MATLAB也存在着某些缺点:Matlab是一种解释性语言,其特点是以矩阵为基本数据结构,导致其执行效率相对C或C+ +语言要低很多;因为Matlab程序不能脱离其环境运行,故不能直接用于商用软件的开发。
与此相反,VC++由于其丰富得人机界面,高效的执行效率已经成为基于Windows平台下开发商业软件的必备工具。
然而,VC++对于复杂的数值运算就有点“力不从心”了。
所以将VC++与Matlab完美的结合,发挥各自的优势具有现实意义。
自Matlab6.5版本开始,新推出来的Combuilder支持把用Matlab编写的程序做成com组件,供其他语言调用。
该方法实现简单,通用性强,成为VC与Matlab混合编程最有效的方法。
1 VC与Matlab混合编程的方法1.1 通过Matlab Engine方式Matlab Engine是指一组Matlab提供的接口函数,支持C语言, Matlab Engine采用C/S(客户机/服务器)模式,Matlab作为后台服务器,而C程序作为前台客户机,通过Windows的动态控件与服务器通信,向Matlab Engine传递命令和数据信息,从Matlab Engine接受数据信息。
用户可以在前台应用程序中调用这些接口函数,实现对Matlab Engine的控制。
采用这种方法几乎能利用Matlab全部功能,但是需要在机器上安装Matlab软件,而且执行效率低,因此在实际应用中不采用这种方法,在软件开发中也不可行,这种模式只适合个人使用或做演示。
VC++与MATLAB混合编程COM组件法
COM 是component object module 的简称,它是一种通用的对象接口,任何语言只要按照这种接口标准,就可以实现调用它。
matlab6.5 新推出来的combuilder 就是把用matlab 编写的程序做成com 组件,供其他语言调用。
该方法实现简单,通用性强,而且几乎可以使用Matlab 的任何函数(注意:不支持脚本文件,脚本文件使用时要改为函数文件),因此在程序较大、调用工具箱函数或调用函数较多时推荐使用,这也是Matlab 公司(Matlab 公司就是Mathworks公司)推荐的使用方法。
COM(Compponent ObjectModel 组件对象模型)是一项比较复杂的技术,详细讲的话几本书也讲不完,所以在这里不作介绍,本文通过一个例子详细介绍如何在matlab 下做COM 组件,以及如何在VC 中调用COM 组件。
首先在Matlab 编辑器里编辑m 函数文件:启动matlab->File->New->M-file 函数内容如图1:该函数无输入输出参数,文件保存为huatu.m。
function huatu()x=-10:0.1:10;y=sin(x);plot(x,y);在matlab 下建立COM 组件,步骤如下:1、在matlab command window 输入如下命令:>> deploytool出现以下界面:2、新建工程:File->New Deployment Project;弹出选择对话框如下图3、左侧选择Matlab Builder NE,右侧选择Generic COM Component;4、Name中输入工程名(比如hello4.prj);单击OK;出现下面界面5、右击hello4选择rename class可以改为合适的类名(比如huatu,这里没改);6、右击hello4class选择add file添加huatu.m文件(必须是函数文件);添加后如下图7、点击Tools->Build。
基于COM接口的VC_与MATLAB混合编程
这种方法可以很灵活的调用 Matlab 来编写应用程序,但要求 读者对 C/C++语言非常熟悉,并且这种模式不能包括所有的 Matlab 函数,尤其是无法充分使用 Matlab 提供的详尽的绘图 函数。 1.3 用 Matlab 自带的 Matlab Compiler
Matlab Compiler 的作用是将 m 文件转化成 C/C++代码 (也就是通常所用的 mcc 命令),这种源代码需要用 C/C++编 译器编译连接成独立应用程序,在将 m 文件转成独立应用程 序的过程中生成的 C/C++文件,原则上是可以被其它的 C/C++ 代码调用的,编译器可以通过设置 mcc 命令的选项,将 m 文 件编译成动态链接库文件、C/C++文件、可执行文件等一系 列文件。到 matlab R21.1 为止,Matlab Compiler 的 m 程序转 换成 C/C++代码功能有很多限制:
[3]ZSP 500 Digital Signal Processor Core, technical manual,
果为参照,不断地修改,为大规模复杂运算的实现提供了时 September 2003
间保障,满足了实时性要求,各种DSP尽管结构和指令集不
[4]ZSP 500 DSP Architecture, 2003
·58·
计算机与信息技术
软件纵横
⑵部分绘图语句无法实现或得不到准确图象,尤其是三 维图象;
⑶当涉及到的复杂函数调用时嵌套的文件数量很多。 因此在不涉及到三维做图以及 m 文件不大的情况下推荐 使用。 1.5 使用 Matlab 的 Combuilde 工具 COM 是 component object module 的简称,它是一种通用 的对象接口,任何语言只要按照这种接口标准,就可以实现 调用它。Matlab6.5 新推出来的 Combuilder 就是把用 Matlab 编写的程序做成 com 组件,供其他语言调用。该方法实现简 单,通用性强,而且几乎可以使用 Matlab 的任何函数(注意: 不支持脚本文件,脚本文件使用时要改为函数文件),因此在 程序较大、调用工具箱函数或调用函数较多时推荐使用,这 也是 Matlab 公司推荐的使用方法。
VC与Matlab混合编程的实现
1 引 言 、
MA L ec p t %\xeni ld \p a n
V 60是 Wi o s 面下 计算 机 专 业 人 士 进 C. n w 界 d
行 软 件开 发 时 的一种 强 大工 具 .在 图形 用 户界 面 需要 说 明的是 ,如果 Ma a t b的版本 不 同 , l 这 开发 方 面有 优势 . 码效 率 高 . 而在 科 学计 算 方 里看 到 的路 径就 会有 差 别 . 如 Ma a 6 代 然 例 t b 5和 Ma— l t 面能 力却 略 显不 足 。例如 , 当我们 采 用 V C作 为 开 l 7 a 4的路 径就 会有 所 差别 b 发 工 具 解 决 图 像处 理 和 模 式 识别 领域 的 问题 时 . Se .注 意 %Malb e trk bw n 2 \ . tp 3 t %\xenl \ i3 mi a i 经常需 要 进行 一 些复 杂 的矩 阵计算 例 如计 算 矩 阵 c0o \ v6 r fmsc 0中 的 * i 件 与 你 需 要 调 用 的 函 st .b文 1
12 7
福 建 电
脑
2 1 第 4期 0 2年
V C与 Ma a t b混合 编 程 的 实现 l
黄 红兵
( 建农 林 大 学计 算机 与信 息 学院 福 建 福 州 3 0 0 福 5 0 1)
VC和matlab混合编程画图实践
VC和Matlab混合编程画图实践2013-03-14【摘要】在DSP软件开发中,基于代码的可移植性的需要,首先要基于VC平台开发出纯C定点版本。
为了对定点代码的精度和性能进行充分测试,需要对其进行定点仿真并与浮点的性能比较。
浮点代码的性能可以很容易的通过Matlab仿真得到,但由于VC与Matlab对仿真结果的保存形式不同,比对结果的过程需要人为完成。
并且VC对定点仿真的结果保存为文本形式,不够直观。
当仿真或测试条目较多时,这一过程将变得重复而繁琐,因此为了将这一过程变得更自动化、更直观,本实践介绍了一种利用VC调用Matlab动态链接库的方法,通过VC直接调用Matlab的方法进行画图,能够更直观、更方便的分析定浮点仿真结果的差异。
【关键词】Matlab Engine动态链接库VC定点仿真Matlab画图一、问题的提出在VC平台软件开发中,需要对实现的定点代码进行定点仿真,观测最后的BER曲线,并与浮点的结果做对比,观察其性能差异。
然而,VC平台的仿真结果只是保存在数组中的结果,不能直观的展示给测试人员,仍需人为的提取分析,这样便造成重复劳动和时间上的浪费,因此需要寻找一种简单易行的方法,实现将VC的仿真结果画图呈现出来。
二、解决思路Matlab作为数据仿真分析的工具十分强大,其包含了非常丰富的数学运算库和与外部工具的接口,众所周知,利用Matlab画图是十分方便的,只需将仿真结果,外加画图的参数传递给Matlab的命令函数,就能非常方便的完成画图,简单易行。
Matlab与VC的接口方式有很多种,如引擎的形式,COM 组件的形式,动态链接库的形式等等,因为动态链接库的形式在之前的实践中已经研究过,并且相对成熟,因此本实践将着重介绍将Matlab的函数编译成动态链接库供VC调用方法,对于引擎的和其他方式略做简单介绍。
三、实践情况3.1 工具与环境准备1)Matlab环境准备:本实践中采用的Matlab版本为R2011b。
VC与Matlab的混合编程研究及其应用
Abstract:A
method which is developed using mixed progralmning between VC and Matlab based introduced.As
a
on
the Component Object
to
Model(COM)is
component
conversion
提示,选择Microsoft
Visual
C++2010,完成对Mat—
图1仿真控制程序框架
Fig.1
lab编译器以及相应的C/C++编译器的配置.完成
配置以后,下次可直接生成COM组件,不需要再次 配置. 1.2使用MATLAB
COM
Framework of simulation control program
摘要:介绍了基于组件对象模型的VC与Matlab混合编程方法,以Matlab
COM
Builder模块为转换工具,将M函数
转换为COM组件后打包发布应用在VC程序中,结合一个平面四自由度机械臂运动控制仿真实例,详细描述了各个 编程接口的实现过程,并验证了平面四自由度机械臂仿真系统的可行性. 关键词:VC;Matlab;COM组件;混合编程 中图分类号:TP24 文献标识码:A
offuzzy PID
钱伟,费树岷,杨柯.仿真系统中Vc与Matlab混合 编程的研究『J].控制工程,2005,12(3):251—
253,272.
『2]
彭秋红,曹法会.基于vc和Matlab混合编程的系统仿 真『J].机电产品开发与创新,2009,22(3):128—130.
CLSID clsid; C LSIDFromProglD f OLESTR(”tuzzpid—inn.{hzzpid—
matlab与vc混编
matlab与vc混编matlab与vc混编-概述篇--转贴自pris学术论坛第一章、详述...第一章、概述matlab就是当今世界上采用最为广为的数学软件,它具备相当强悍的数值排序、数据处理、系统分析、图形表明,甚至符号运算功能,就是一个完备的数学平台,在这个平台上,你只需寥寥数语就可以顺利完成十分复杂的功能,大大提高了工程分析排序的效率。
另外由于matlab的广为采用,于是发生了向各个领域专门采用的工具箱(即为在某一研究领域常用数学工具的函数纸盒),这些工具箱的发生更加推动了matlab的盛行。
matlab强大的功能只能在它所提供的平台上才能使用,也就是说,你必需在安装有matlab系统的机器上采用.m文件,这样就给工程排序增添了非常大不便;特别就是,在matlab中,并使用的行解释方式执行代码,这样大大地限制了代码执行速度。
于是人们想到,能否开发一个matlab与其他高级语言的USB,这样就可以把matlab的强悍功能带入各种应用程序中,并且通过高级语言编译器编译为2进制代码,从而大大提高了执行速度。
1.用matlab的mcc将.m文件翻译为cpp源文件,然后在c编译器中调用也可以用mcc编程编程为stand-alone程序。
是我最喜欢用的方法。
方法1和2/3各有利弊,1不积极支持图形(积极支持图形的库国内现在还没d),1对类积极支持也比较,2积极支持绝大多数的matlab语句(包含图形),但对于struct等的积极支持也有缺陷。
vc++中使用matlab的c++数学库和mcc生成的程序0、概述matlab5.3的提供了c/c++数学库,其中的c++数学库功能很强,使用它可以用类似matlab的语法编写c++程序,十分方便。
虽然速度上仍然比手工c/c++程序慢,但是由此换来的高效的开发效率和可靠性往往是值得的。
另外mcc命令可以将m文件转化为c或cpp文件,编译后可以脱离matlab运行,它们也是使用的c/c++数学库。
(整理)详细讲解基于COM组件的VC和MATLAB混合编程
基于com组件的VC和MATLAB混合编程一、MATLAB 下做COM组件由于MATLAB 的编译器只能对函数M文件进行编译, 所以如果原来的程序是脚本程序应改写成函数形式。
同一个M文件还可以包含多个函数, 此时将出现在文件中的第一个M函数称为主函数, 其余的函数称为子函数, M函数文件的名称一般与主函数的名称保持一致, 其它函数都必须按照函数的基本结构来书写, 例如建立一个M函数文件function [a]=msadd(x,y)a=x+y;保存文件名为msadd.m在MA TLAB 命令行中输入deploytool命令启动MATLAB Com Builder 图形用户界面, 在其文件菜单中选择File- >New Project点击最左上角新建一个工程:注意:工程保存路径最好在硬盘一级目录下,工程名尽量简单,不要超过8个字母。
新建一个M3add的工程在D盘下系统生成一个M3add.prj的文件和一个名为M3add的文件夹工程建好后,系统自动生成一个与工程名相同的类,下图中为M3add的文件夹,这个文件夹经编译后,导入VC就是一个类,注意:这里要把与工程名相同的类删除再增加一个不同名的类,或改名,总之工程名与类名不能相同,否则导入VC后,最后编译时会报错,overload 之类的。
这里新增加了一个M4add类,在这个类下面增加m函数文件。
注意:如果是神经网络,则只能是训练好的神经网络。
函数中最好不要用图形显示的语句。
图形显示和VC的交互更加复杂,这里暂不讨论。
然后编译:编译完成后,关闭Matlab。
Matlab的工作到此完成。
二、设置VC++1、准备文件:(1)如果未曾对mwcomutil.dll 进行过注册, 在系统开始->运行中输入cmd,则进入DOS 在Dos状态下输入regsvr32 mwcomutil.dll对其进行注册,mwcomutil.dll在<MA TLAB 目录>/bin/win32 下。
C++Builder与Matlab混合编程的两种方法
B
Ma a 是 一 个 高 度 集 成 的 系统 . 把 数 值计 算 tb l 它
和可 视 化 环 境 集成 到 一 起 . 常 直 观 . 非 而且 提 供 了
1 C + ule与Malb +B i r d t 混合编程的实现方法 a
C + ule与Mal 混合 编 程有 两种 实 现方 法 。 +Bi r d tb a
பைடு நூலகம்
可 执 行代 码 f l ee . l x 文件 的代码 ) 以被 其 它对 象 d 或. 可 执 行 。 即使 两个 对 象 使用 不 同语 言 来 编写 的 . 他们
可 以用 C M标准 来 进 行通 信 。在 C + ule 中使用 O + Bi r d C M技 术调 用Ma a 数据 实现方 法 如下 : O tb l () 1 根据 实 际需要 在 Ma a 中开 发算 法 , tb l 写成 函
B i e与Ma a 的 优 势 , 科 学 研 究 和 T 程 技 术 提 供 了 更 强 的技 术 支持 。 ul r d tb l 为 关键词 C + ul r Mal C M组 件 + B i e d tb O a M dv软 件 平 台 ei a DL L
中图法分类号
T 32 文献标识码 P1
一
大量 的 函数 , 其 越 来 越受 到人 们 的喜 爱 。它 集科 使 学 计 算 、 象 处 理 、 音 处 理 于 一 体 , 有 极 高 的 图 声 具 编 程效 率 。 年来 , t b 近 Ma a 已经从 最 初 的 “ 阵 实 验 l 矩 室 ” 透 到科 学 与 工 程 计 算 的多 个 领 域 , 自动 控 渗 在 制、 信号 处 理 、 经 网络 、 糊 逻 辑 、 波 分 析 等 多 神 模 小 个 方 向 , 有 着 广泛 的应 用 。B r n + B i e是 都 ol d C + ul r a d
VS(VC)与Matlab联合编程步骤
联合编程的操作步骤首先,我先说一下我所安装的环境,我的电脑是Win7(X64)的,我安装的Matlab是Matlab R2010b和VS2010,还有Matcom4.5我Matlab的安装目录:C:\Program Files\MATLAB我VS的安装目录:F:\Program Files (x86)\Microsoft Visual Studio 10.0一、Matlab环境配置在Matlab的Command Windows下输入命令:mbuild -setup然后输入命令:mex–setup 方法同上mbuild–setup一样。
在Matlab中编写想要实现的.m文件。
我以最简单的.m文件为例:function [c]=Myadd(a,b)c=a+b;在命令窗口编写:会在当前目录下生成如下图中显示的文件:其中重点会用到的是.cpp、.h、,dll、.lib文件。
在头文件的最后,你可以看到下面的内容:externLIB_myadd_CPP_API void MW_CALL_CONV myadd(intnargout, mwArray& c, constmwArray& a, constmwArray& b);这就是myadd的C函数的声明。
nargout表示输出变量的个数,其他就是对应了m函数的几个变量。
二、Matcom设置准备工作在Matcom中编写函数文件:保存后,点击compile to DLL,生成DLL文件默认在matcom安装目录debug 文件夹下面。
会生成如下图所示的文件:主要用到的还是.dll、.h、.lib等文件。
不过在VS中调用时,需要将matcom安装目录lib文件夹下的matlib.h和v4501.lib拷贝到工程文件夹下。
并且要将翻译生产的文件(.dll、.h、.lib等文件)也复制粘贴到工程目录下。
且在stdafx.h中要包含matlib.h。
VC_与MATLAB混合编程及其应用
·70·计算机与信息技术 经验与交流 VC++与MATLAB混合编程及其应用景征骏1,2 许家民 1(1.河海大学 机电工程学院,江苏 常州 213022; 2.江苏技术师范学院 计算机系,江苏 常州 213001)摘要本文详述了在VC++6.0编译环境下如何利用Matlab来实现应用系统的设计和分析,介绍了通过Matlab与VC 应用程序连接的常用方法,分析了VC与Matlab的混合编程的步骤,最后通过一个具体实例的实现过程对上述方法进行了应用性介绍。
关键词VC++;Matlab;混合编程Matlab 是由Math Works 公司于1984 年推出的数值计算及图形处理软件,可以实现数值分析、优化、统计、偏微分方程数值解、自动控制、信号处理、图像处理等若干领域的计算和图形显示功能。
其中,控制系统工具箱的集成为设计和分析各种复杂的控制系统提供了有效的方法和途径[1]。
但是,由于Matlab开发平台的局限性,在其上面开发的程序不能脱离Matlab运行环境,因而在处理一些实际应用问题时显得灵活性不足,而VC++则在一定程度上能够弥补这一漏洞,因此,现将二者结合共用,各献其长,可以为科研工作和工程开发提供了更为强大的技术支持。
1 Matlab与VC混合编程的实现方法Matlab作为控制系统设计的一种通用工具,它可以和VC 方便的进行连接。
一般而言,Matlab与VC混合编程的实现方法主要有以下三种方法:(1)通过引擎(Engine),采用客户机服务器的计算模式,通过Window的ActiveX通道和Matlab 进行连接。
具体应用时,往往在VC中设计程序框架,以编译的程序作为前端客户机;通过调用Matlab引擎在后台实现与服务器的连接,实现动态通信(2)应用Matlab数学函数库,Matlab中包含了内容丰富的函数库,而且还提供了与VC的数学函数接口,用户可以方便的在VC的IDE(集成开发环境)中调用。
matlab与vc混合编程(绝对无误)
matlab与vc混合编程1、环境设置在桌面上右键单击“我的电脑”图标出现以下菜单单击“属性”菜单项,出现“系统特性”对话框,单击“高级”选项卡,如下图所示在上图中,单击“环境变量”按钮,出现“环境变量”对话框,添加系统变量 matlab 值为 D:\MATLAB 即 matlab 的安装路径,如下图所示在环境变量 path 中加入 D:\MATLAB\bin\win32 ,如下图所示按“确定”完成设置后,重启计算机或注销当前用户,即可应用新设置。
2、matlab 编译器设置(1) mex 命令设置(a) 运行 matlab ,在 matlab 的命令窗口 (Command Window) 键入“ mex -setup ”命令后,按回车键,安装 matlab 编译器;(b) 命令窗口出现如下提示mex -setupPlease choose your compiler for building external interface (MEX) files:Would you like mex to locate installed compilers [y]/n?此时键入”y”,按回车;(c) 命令窗口出现如下提示Select a compiler:[1] Digital Visual Fortran version 6.0 in C:\Program Files\Microsoft Visual Studio[2] Lcc C version 2.4.1 in D:\MATLAB\sys\lcc[3] Microsoft Visual C/C++ version 6.0 in C:\Program Files\Microsoft Visual Studio[4] Open WATCOM C/C++ version 1.3 in D:\Maple11[0] None此时键入”3”,按回车;选择 Microsoft Visual C++6.0 的编译器(d) 命令窗口出现如下提示Please verify your choices:Compiler: Microsoft Visual C/C++ 6.0Location: C:\Program Files\Microsoft Visual StudioAre these correct?([y]/n):此时键入”y”,按回车;确认选择 Microsoft Visual C++6.0 的编译器(2) mbuild 命令设置(a) 运行 matlab ,在 matlab 的命令窗口 (Command Window) 键入“ mbuild -setup ”命令后,按回车键,安装 matlab 编译器;(b) 命令窗口出现如下提示mbuild -setupPlease choose your compiler for building standalone MA TLAB applications:Would you like mbuild to locate installed compilers [y]/n?此时键入”y”,按回车;(c) 命令窗口出现如下提示Select a compiler:[1] Lcc C version 2.4.1 in D:\MATLAB\sys\lcc[2] Microsoft Visual C/C++ version 6.0 in C:\Program Files\Microsoft Visual Stu dio[0] None此时键入”2”,按回车;选择 Microsoft Visual C++6.0 的编译器(d) 命令窗口出现如下提示Please verify your choices:Compiler: Microsoft Visual C/C++ 6.0Location: C:\Program Files\Microsoft Visual StudioAre these correct?([y]/n):此时键入”y”,按回车,确认选择 Microsoft Visual C++6.0 的编译器,编译器设置完成。
Matlab与C++Builder混合编程实现优化设计
Matlab与C++Builder混合编程实现优化设计
卢记军;程向东
【期刊名称】《武汉纺织大学学报》
【年(卷),期】2004(017)005
【摘要】C++Builder应用程序调用MATLAB优化工具箱函数,实现C++Builder 与Matlab混合编程,可以充分利用二者的优势,可以有效地降低编程的难度,减小工作量,缩短软件的开发周期,还可提高软件的可靠性.具有一定的实用价值.
【总页数】4页(P56-59)
【作者】卢记军;程向东
【作者单位】武汉科技学院,机电工程系,湖北,武汉,430074;武汉科技学院,机电工程系,湖北,武汉,430074
【正文语种】中文
【中图分类】TH112
【相关文献】
1.用C++Builder和Matlab联合编程实现数据处理的方法 [J], 阳洋;陈燎原;潘宇东;潘莉
2.齿轮优化设计和CAD建模的VB与Matlab混合编程实现 [J], 卢记军
3.C++Builder与MATLAB混合编程实现实时数据处理 [J], 郭丽娟
4.基于Matlab 与 C++Builder偏最小二乘分析的编程实现 [J], 刘建学;李守军
5.MFC与Matlab混合编程实现齿轮优化设计和CAD建模 [J], 卢记军
因版权原因,仅展示原文概要,查看原文内容请购买。
VC与Matlab联合编程
VC++与Matlab混合编程的研究与实现开发者在线 更新时间:2007-10-19作者:朱立松帅亮安居白来源:计算机与信息技术本文关键词:VC++MATLAB编程Matlab是Mathworks公司推出的数学软件,它将数值分析、矩阵计算、信号处理和图形显示结合在一起,包含大量高度集成的函数可供调用,命令语句功能十分强大,为科学研究、工程设计及众多学科领域提供了一种简洁、高效的编程工具。
但是Matlab使用的是解释性语言,大大限制了它的执行速度;源代码的公开不利于算法和数据的保密;局限于Matlab运行环境而不能用于开发商用软件。
Visual C++是Windows平台下主要的应用程序开发环境之一,它能方便实现软件开发,开发的系统具有界面友好、执行速度快、易维护和升级等优点。
但是在工程计算方面,和Matlab相比编程显得复杂的多。
因此实现VC与Matlab混合编程,使两者结合起来,协同工作,必将提高软件开发效率,使所开发的软件具有更高的性能,更大的应用范围,也可以为科学研究和工程技术提供更强的技术支持。
VC与Matlab混合编程的实现方案在VC环境中调用Matlab程序主要有以下几种方法:(1)用Matlab引擎,采用客户机/服务器(Client/Server)的计算模式。
在VC中设计程序框架,作为前端客户机,通过调用 Matlab引擎与后台Matlab 服务器建立连接,实现命令和数据信息的传递。
这种方式需要Matlab在后台运行,离不开Matlab环境。
不利于软件的开发,但是它可以充分利用Matlab的功能,包括调用工具箱函数和图形函数。
(2)用Matlab的编译器将.m源文件转化为 c、c++等各种不同类型的源代码,并在此基础上根据应用需要生成MEX文件、独立可执行应用程序等文件类型,大大提高程序的运行速度,提高代码的执行效率。
主要是使用mcc命令实现文件的转化。
但是这种方法不支持图形函数,不能编译一些Matlab的内建函数,并且转换的代码可读性不太好。
基于COM的Matlab与C++Builder混合编程
基于COM的Matlab与C++Builder混合编程刘先勇;胡劲松;周方洁;李红雷【期刊名称】《计算机工程》【年(卷),期】2004(30)15【摘要】以实例展示了通过Matlab6.5制作、并在C++ Builder5环境中调用COM组件的混合编程方法.给出了设置MatlabCOM Builder编译环境的具体步骤,编译生成了与Microsoft Windows相兼容的COM组件;在C++Builder下调用组件时通过安全数组的传入传出实现了应用程序与COM的数据接口,并通过简单的事件响应工程成功调用了所制作的实例组件.【总页数】3页(P60-61,110)【作者】刘先勇;胡劲松;周方洁;李红雷【作者单位】北京理工大学信息科学与技术学院博士后流动站;宁波理工监测设备有限公司(博士后工作站),宁波,315800;宁波理工监测设备有限公司(博士后工作站),宁波,315800;浙江大学机械系博士后流动站;宁波理工监测设备有限公司(博士后工作站),宁波,315800;宁波理工监测设备有限公司(博士后工作站),宁波,315800;清华大学电机系博士后流动站,北京,100084【正文语种】中文【中图分类】TP312【相关文献】1.C++Builder与MATLAB混合编程在企业智能化战略决策中的应用 [J], 吴韫夏;龚花萍2.C++Builder与MATLAB混合编程实现实时数据处理 [J], 郭丽娟3.MATLAB与C++Builder混合编程的实现 [J], 曹雷;武玉强4.基于Borland C++Builder和MATLAB混合编程的仿真应用 [J], 邢辉;武玉强5.基于C++Builder与MatLab混合编程的可视化仿真研究 [J], 范伟亮;杨景曙;赵义正因版权原因,仅展示原文概要,查看原文内容请购买。
基于COM的MATLAB与VC++混合编程研究
基于COM的MATLAB与VC++混合编程研究
苏波
【期刊名称】《现代计算机(专业版)》
【年(卷),期】2007(000)002
【摘要】VC++是当前软件开发的首选工具,但利用VC++编写矩阵运算则非常复杂,而MATLAB在这方面却具有较大的优势.本文论述了如何使用组件对象模型(COM)实现MATLAB与VC++的混合编程,发挥两者优势,降低编程难度,并开发出可独立于MATLAB环境的应用程序.
【总页数】3页(P37-39)
【作者】苏波
【作者单位】西南科技大学,绵阳,621010
【正文语种】中文
【中图分类】TP3
【相关文献】
1.基于VC++与MATLAB混合编程离散点的等高线的绘制 [J], 张华清;张立平;赵小超
2.基于VC++和Matlab混合编程实现电力故障再现及分析系统研究 [J], 徐鑫鑫;刘涤尘;黄涌
3.基于MATCOM的MATLAB与VC++之间的混合编程 [J], 高秋燕
4.基于Matlab与VC++混合编程的雷达探测威力预测技术实现 [J], 吴江华;王玲玲;周元;付林
5.基于Mideva编译器的MATLAB与VC++混合编程技术 [J], 柴西林;姜丽德;冯凯
因版权原因,仅展示原文概要,查看原文内容请购买。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
五支点双曲肘合模机构优化设计中Matlab COMBuilder与
VC混合编程的应用
赵俊;杨于光
【期刊名称】《橡塑技术与装备》
【年(卷),期】2011(37)12
【摘要】双曲肘合模机构的设计变量和约束条件繁多,必须应用Matlab等数学软
件来处理优化计算过程。
在五支点合模机构优化设计中利用VC调用Matlab进行优化设计将使工程设计人员节省大量的时间和资源,能把更多有限的时间用在创新
型的设计上。
用VC++来做应用程序的界面,而用Matlab来实现优化程序的功能。
【总页数】4页(P59-62)
【关键词】合模机构;优化设计;Matlab;VC++;混合编程
【作者】赵俊;杨于光
【作者单位】北京化工大学
【正文语种】中文
【中图分类】TQ320.5
【相关文献】
1.五铰链双曲肘注射机合模机构的优化设计 [J], 朱成实;葛铁军
2.基于MATLAB的注塑机五支铰斜排双曲肘合模系统优化设计 [J], 石绍伟;杜思莹;杜遥雪;徐百平
3.双曲肘五铰链内卷式合模机构的节能研究与优化设计 [J], 周宏伟
4.注塑机双曲肘斜排列七支点合模机构的设计研究 [J], 张友根
5.基于MATLAB软件GUI技术的双曲肘合模机构优化程序设计 [J], 申军伟因版权原因,仅展示原文概要,查看原文内容请购买。