Matlab函数转换为VB可用的DLL
MATLAB2014aC++代码生成,并用VC2010生成dll供VBA或VB调用使用说明
MATLAB2014a生成C++代码,并用VC2010生成dll 供VBA或VB调用使用说明一、过程概述1、使用VC2010生成.dll文件,测试VC程序是否正常2、使用VBA调用VC2010生成的.dll文件,测试.dll文件调用的VBA代码是否正常,这里使用Excel VBA主要是为了以后输入输出数据更方便。
3、使用MATLAB编写脚本程序文件,使用MATLAB CODER功能编译成c++文件。
4、VC2010集成MATLAB生成的c++代码,并编译成.dll文件5、使用步骤1,2验证MATLAB生成的代码二、具体实施过程描述1、使用VC2010生成.dll文件1.1工程建立首先打开VS 2010--> 新建工程 --> Win32 --> Win32项目 --> 输入工程名称(MakeDll),选择好保存工程的路径-->确定。
在弹出的“应用程序设置”--> "应用成程序型" --> 选择 "DLL(D)" --> 附加选项-> 选择"空项目(E)" ---->点击"完成"进入项目工作窗口1.2开始创建DLL第一步:在头"解决方案资源管理器" --> 头文件 --> 右键 -->添加新建项---→选择"头文件(.h)" -->输入文件名称(max) --> 点击“添加(A)”,完成max.h文件的添加。
max.h头文件中的代码为:1. #ifndef _MAX_H2. #define _MAX_H_3. __declspec(dllexport) int __stdcall fmax(int a,int b);4. #endif代码说明:__declspec(dllexport) 的作用是指定导出该函数为DLL函数;__stdcall是函数调用约定,表示该DLL函数被C/C++以外的语言调用;备注:使用时需要根据实际定义的主函数返回值类型和函数名称修改低3行红色而自体标记部分内容。
VB实现对MATLAB程序的调用
VB 实现对MATLAB 程序的调用The Method to Use MATLAB in VB Software周竹生 陈灵君 张赛民(中南大学 长沙 410083)【摘 要】 充分利用M ATLAB 强大的运算及显示功能和VB 开发界面友好的特点,将二者有机结合,可以开发出复杂的、界面友好的人机交互处理软件。
重点介绍了应用VB 和M AT LAB 进行混合编程的几种技术,熟练掌握这些技术,将使编程工作变得轻松自如。
【关键词】 VB,MAT LAB,混合编程,ActiveX 技术,DLLABSTRACT T aking full adv ant age o f features of st ro ng capability in co mputing and displaying of M AT L AB ,and featur es o f fr iendly int er face of V B,and or ganizing the tw o to ols pr oper ly ,any co mplicated pro cessing so ftw ar e w ith friendly inter activ e inter -face may be ex ploit ed,this paper discusses thr ee hybrid pr og ramming metho ds o f using M AT L AB in VB so ftwa re.Having these techniques at o ne's fing er ends ,the pr o gr amming wo rk w ill be easy .KEYWORDS V B,M A T L A B,hy br id pr og ramming,A ctiv eX technique,DL L1 问题的提出M icrosoft Visual Basic 是由微软公司开发的在Window s 操作平台上的主力编程语言之一,由于它避开了C ++编程过分繁琐和抽象的缺点,同时又能实现大多数W indo w s 编程目的,因而一经推出就风靡全球,目前全世界大约有几百万程序员在使用VB 编程,是一种十分强大和有生命力的Window s 编程语言。
Matlab环境下调用通用DLL的方法及应用
浙江省国土资源厅关于印发《浙江省土地登记办法实施细则》的通知文章属性•【制定机关】浙江省国土资源厅•【公布日期】2003.04.08•【字号】浙土资发[2003]38号•【施行日期】2003.04.08•【效力等级】地方规范性文件•【时效性】失效•【主题分类】土地资源正文浙江省国土资源厅关于印发《浙江省土地登记办法实施细则》的通知(浙土资发〔2003〕38号)各市、县(市、区)国土资源局:为适应社会主义市场经济发展的需要,加强土地产权管理,促进土地登记规范化建设,省厅制定了《浙江省土地登记办法实施细则》,现印发给你们,请遵照执行。
在实施过程中有什么问题和建议,请及时反馈厅地籍管理处。
二○○三年四月八日《浙江省土地登记办法》实施细则第一章总则第一条根据《浙江省土地登记办法》(以下简称《办法》),制定本细则。
第二条《办法》所称的土地登记包括国有土地使用权、集体土地所有权、集体土地使用权、土地他项权利的设定登记和变更登记,用途、名称、地址、法定代表人、使用条件等变更登记以及注销、更正及其他登记。
第三条土地登记工作由县级以上人民政府土地行政主管部门负责。
由省人民政府土地行政主管部门负责的省级国家机关、省属企业事业单位和社会团体以及中央直属企业事业单位依法使用本省行政区域内的国有土地的登记发证工作,除需要省土地行政主管部门直接办理外,委托土地所在地市、县人民政府土地行政主管部门办理,登记后及时抄告省土地行政主管部门。
第四条土地登记卡是土地登记的主件,是土地权利设定、转移、变更、终止等的法律依据。
土地使用权、所有权和土地他项权利的设定、变更或注销,都应在土地登记卡上记载,并应有取得土地登记上岗资格的经办人、审核人签字盖章。
第二章土地登记类型第五条依法使用划拨国有土地的,土地使用者应在实地定点放样之日起或批准使用之日起30日内申请划拨国有土地使用权的设定登记。
依法有偿使用国有土地的,应当按照有偿使用合同约定,支付土地使用权出让金(有偿使用费)后30日内申请国有土地使用权设定登记。
将MATLAB函数转化为VisualBasic程序可用的DLL的方法
仿 真 等 高 级 课 程 的 基 本 教 学 工具 。
M i o o t公 司 推 出 的 Viu lB s 是 c sf r sa ai c
一
个优 秀 的 编程 工具 , 用 编 译 器和 控 件 , 利
VB应 用 程 序 能 在 速 度 和 扩 展 能 力 上 与 c+ 十 应 用 程 序 相 媲 美 , 避 开 了 c+ + 编 程 过 它 分 繁 琐 和 抽 象 的 缺 点 , 时 又 能 实 现 大 多 数 同 W id ws编 程 目 的 , no vB成 为 了 一 种 十 分 强 大 和 有 生 命 力 的 W id ws编 程 语 言 。 no
i t Viu l n he s a Ba i a p ia i n , h o g a i l s mpl t e n io me t o sc p l to s t r u h smp e a c e h e v r n n s f
c om pii g a e alo di c s d i ln r s s us e n det i. al
作 着 椅 升 臻 冬 梅 l 9 一 . . 西 运 城 人 . ± 生 肝 究 方 向 : 电 检 硼 及 其 自动 化 17 ) 女 山 砸 光
《 脑 与 信 息 技 术 } 0 2年 第 1期 电 20
・6 1・
维普资讯
译 为 动 态 连 接库 供 其 它 程 序 调 用 。利 用 VC 将 M ATI AB 函数 转 化 为 VB可 直 接 调 用 的 动 态 连 接 库 , 统 中 没 有 安 装 MATL 系 AB 时 仍 能 利 用 M ATIAB 的数 值 计 算 功 能 。 另 外
matlab生成dll 分享
一、生成独立可执行的程序(exe文件)步骤
1. mex -setup; 选择编译器vc6.0
2. mbuild –setup;选择vc6.0
3.mcc -m filename;filename为已经存在的filename.m 。
4、安装MATLAB7\toolbox\compiler\deploy\win32目录下的MCRInstaller。
二、脱离matlab运行可执行程序
MCR是由matlab的运行环境,占用不到400M的对于用不同matlab版本生成的exe 文件,MCR版本也会有不同,因此,在程序打包时,最好将相应版本的MCR一起打包。
MCR环境的设置文件存放目录如下:
\MATLAB\R2007a\toolbox\compiler\deploy\win32
文件名为MCRInstaller.exe。
可将其拷贝到自己的文件夹中。
在其它机器上运行exe文件前,首先安装matlab的运行环境。
在同一机器上可以并存不同版本的matlab环境。
Note: 将MCRInstaller.exe拷贝到你文件所在文件夹里,用打包程序来打包,生成安装文件,设定在解包过程中自动执行MCRInstaller.exe,同时将可执行文件的图标放在桌面。
VB调用Matlab的COM组件实现二者混合编程
* 2007-12-27收到,2008-04-05改回** 基金项目:国家863课题(编号:2006AA 10Z 260)资助。
***孟力力,女,1982年生,硕士研究生,研究方向:温室环境建模与可视化模型。
文章编号:1003-5850(2008)06-0024-03VB 调用Matlab 的COM 组件实现二者混合编程Hybrid Pr ogr amming by Using COM of Matlab in VB Software孟力力 杨其长(中国农业科学院农业发展与可持续发展研究所 北京 100081)【摘 要】Matlab 具有强大的计算和图形处理能力,VB 具有良好的用户界面,将二者有机结合,可开发出功能强大的软件。
介绍了常见的五种方法。
为了使开发的VB 程序脱离Matlab 环境,详细介绍了一种基于组件对象模型(COM)的Matlab 与VB 混合编程方法,以COM Builder 为转换工具,将Matlab 函数文件转换为COM 组件,在VB 程序中调用这个组件。
并通过温室热环境模拟可视化模型的实现说明此方法。
【关键词】VB,Matlab,COM 技术,可视化模型中图分类号:TP 311.11文献标识码:AABSTRACT Matlab has power ful calculating and gr aphic pr ocessing ability ,VB has good user inter face .T he softwar e with powerful functions is developed based on combination of the above.Five methods are intr oduced in this paper.In or der to develop the VB pr ogr am wit hout Matlab environm ent ,the met hod based on COM is intr oduced in det ail.By mea n of Mat lab COM builder ,Matlab's function files can be converted into a COM component,which is applied in t he VB.The met hod is demonstr ated by implement ation of visual simulation model of gr eenhouse ther mal envir onment.KEYWORDS VB ,M atla b ,COM builder ,visual m odel Microsoft Visual Basic 是由微软公司开发的在Windows 操作平台上的主力编程语言之一,具有良好的可视化界面、程序集成化程度高、易学易用等特点,因而一经推出就风靡全球,是一种十分强大和有生命力的Windows 编程语言。
将matlab函数编译成dll供Cpp调用
作者曾经实现过将matlab函数编译成dll供Cpp调用,这篇文章的目的是对新增的面向对象的的扩展mwArray进行讲解,matlab很容易和C/C++联合起来使用。
以前做过matlab7与c++的混合编程:将matlab函数编译成dll给C++调用,从而加快开发的进度。
但是今天在matlab2008b下面又做了一遍,发现matlab又改了很多东西,诸如增加了面向对象的的扩展mwArray,于是做笔记如下。
(一)总体概念matlab提供了丰富的程序接口,除了matlab最初的版本是用fortran写的之外,后来的版本都是用C写的,因此matlab很容易和C/C++联合起来使用。
matlab有着丰富的库函数,将这些库函数直接编译成dll(windows下是dll,linux下是类似于dll的另外一个东西),给C调用,可以加快工程进度。
步骤如下:1. 设置matlab的编译器,使用外部的VC或者gcc等编译器。
2. 编译m文件成dll3. 设置VC等的继承环境,设置C需要用到的静态库和动态库4. 编写C调用dll下面以一个很简单的加法函数为例,说明在VC6和matlab2008b下,怎么做混合编程(二)设置matlab编译器过程如下:1. 在matlab的command window里面敲入mex –setup,matlab会列出所有电脑上所有的编译器。
2. 选择编译器,这里选择2,即VC63.完成之后,敲入mbuild –setup,选择build工具,matlab会列出所有的build工具,同样选择VC6(三)编译m文件首先,写出matlab函数,一个很简单的加法函数,如下:function [c] = MyAdd(a, b);c = a + b;保存为MyAdd.m然后,进行编译,命令如下:mcc -W cpplib:libMyAdd -T link:lib MyAdd其中,mcc是matlab提供的编译命令(可以理解为gcc),对于这一点,matlab的帮助说明如下:-W lib:string link:lib其中-W是控制编译之后的封装格式,cpplib,是指编译成C++的lib,cpplib冒号后面是指编译的库的名字,-T表示目标,link:lib表示要连接到一个库文件的目标,目标的名字是后面的MyAdd,即你写的m函数的名字。
VB6.0调用matlab生成的dll文件
环境:win7 64位,matlab2010b,Vb6.0一、设置环境变量右键计算机——属性——高级系统设置——环境变量,在用户变量和系统变量中均添加如下路径:路径名为path 值为”C:\Program Files\MATLAB\R2010b\bin\win64”(matlab安装路径),重启计算机。
二、编写m文件,注意以function开头三、在matlab中设置编译环境1.在matlab命令窗口中输入mex –setup,选择n,然后在弹出的众多编译器中选择一个,最好选择VC++系列(在进行这一步时,现在电脑上安装VC的编译器,如VC++6.0、Visual Studio,注意要安装英文版),接下来一直选择y,直至看见Done……,证明这一步成功了;2.接下来输入么build –setup,接下来步骤与1相似,直至看见Done……。
四、进行编译,生成dll文件1.在matlab窗口中输入deploytool,在弹出的窗口中,name随便填,location选择默认即可,Target选择倒数第二项:Generic COM Component,单击OK;2.选择Add class,填写class name,单击Add files,选择所需编译的m文件,然后单击build按钮,等待编译结束,这是会看到生成的文件夹中含distrib这个文件夹,所需的dll文件即在里面。
五、注册dll开一个dos窗口(在开始里输入运行即可),在dos窗口中输入:cd/d <matlabroot>/runtime/win64,回车,接着输入mwregsvr mwcomutil.dll,即对mwcomutil.dll 进行注册(这个dll是matlab下作的任何com组件都要用到的dll)。
六、在vb6.0中调用生成的dll文件1.打开vb6.0,点击工程——引用——浏览,找到放置dll文件处,选择,点击确定;2.vb6.0命令行处应写:Dim myplot As plot.plot1Set myplot = New plot.plot1……Call myplot.plot1(str, strname, xx5, yy2, y)(说明:其中myplot为自己取的名字,plot为matlab编译dll文件时的class name,plot1为源文件m文件的名字)。
matlab代码转换函数
matlab代码转换函数如何利用MATLAB进行代码转换函数在MATLAB编程中,代码转换函数是一个非常实用的工具,它可以将一个函数或脚本从一种编程语言转换为另一种编程语言。
这个功能在编写和维护代码时非常方便,特别是当你需要将已有代码转换为其他语言以适应不同环境或平台时。
本文将一步一步向你介绍如何利用MATLAB进行代码转换函数。
1. 确定你想要转换的代码首先,你需要决定你想要转换的函数或脚本。
这可以是任何语言的代码,如C++、Python、Java等。
选择一个你熟悉且想要转换的代码,以便更好地理解整个转换过程。
2. 安装代码转换工具包MATLAB自带的Symbolic Math Toolbox提供了一个强大的代码转换工具包,可以用于代码转换。
如果你还没有安装这个工具包,你需要在MATLAB中找到并安装它。
3. 创建转换函数在MATLAB中,你需要创建一个脚本或函数来执行代码转换。
在转换函数中,你需要定义输入和输出文件的路径,并使用MATLAB 提供的工具函数来执行实际的转换过程。
以下是一个示例转换函数的代码:matlabfunction convertCode(inputFile, outputFile)读取输入文件code = fileread(inputFile);执行代码转换convertedCode = codeConversion(code);写入输出文件fid = fopen(outputFile, 'w');fprintf(fid, 's', convertedCode);fclose(fid);end在这个示例中,`inputFile`是输入文件的路径,`outputFile`是输出文件的路径。
函数先读取输入文件中的代码,然后使用`codeConversion`函数将代码转换为目标语言。
最后,将转换后的代码写入输出文件。
4. 实现代码转换逻辑在转换函数中,你需要实现实际的代码转换逻辑。
MATLAB与VB混合编程方式简易教程
3.1 MATLAB与Visual Basic语言的混合编程方式MATLAB提供了与C/C++、Fortran语言的接口,但没有与Vsiual Basic语言的接口,要想实现MATLAB与Visual Basic的混合编程可以通过以下途径来实现。
1.通过ActiveX方式一是用Visual Basic开发服务器ActiveX组件,MATLAB作为客户端程序使用,事实上无论是用VB还是VC或者其他语言环境开发的ActiveX组件,对于MATLAB来说集成与调用方式是一样的,一般情况下很容易地将不同环境下开发的用途各异的ActiveX对象集成到一个MATLAB应用中来。
其使用方法见第5章关于MATLAB作为ActiveX的客户端使用方法。
二是在VB环境下可以通过ActiveX自动化接口将MATLAB作为Visual Basic语言的一个ActiveX 部件调用。
MATLAB ActiveX自动化服务的功能主要包括在MA TLAB工作空间执行MA TLAB 命令,以及直接从工作空间存取矩阵等,我们在第5章中关于MA TLAB作为服务器组件的部分的例子就是以Visual Basic应用程序,以MATLAB作为服务器客户端的。
2.通过动态链接库方式该种方式是一种间接调用MATLAB命令的方式,借助于C++与MA TLAB的接口,将MATLAB 的程序文件(.M文件)编译为动态链接库(.DLL),VB在代码中与调用其他语言编写的DLL文件一样调用MATLAB中.M 文件生成的动态链接库。
这种方法可以脱离具体的MA TLAB环境,运行效率较高。
3.通过嵌入VB的矩阵函数库MatrixVB的方法MatrixVB是由第三方(mathtools公司)提供的COM组件,包含了大量与MATLAB相似的函数与调用语法,可以加强VB内建数学运算与图形展示功能,在VB程序代码中可以像使用VB自己的函数一样使用MatrixVB的函数,而且可以不依赖于MATLAB的环境在Visual Basic中完成矩阵运算与图形绘制显示等功能,这种方法使用起来简单,编程效率较高。
VB调用Matlab制作的COM组件实现二者混合编程
4、Matlab中处理返回结果并使用它进行进一步计算或可视化等操作。
四、注意事项
在使用基于COM的VB与Matlab混合编程时,需要注意以下几点:
1、确保VB COM接口和Matlab代码之间的兼容性。这通常需要对两种语言进 行适当的转换和映射。
2、COM接口的创建和实现可能需要耗费大量时间和精力,因此需要仔细规划 和设计。
4.处理异常
在调用Matlab函数时,你可能会遇到各种异常情况,例如参数类型不匹配、 参数数量不匹配等等。为了处理这些异常,你需要在VB代码中使用异常处理机制:
result = myMatlabObject.YourFunctionName(input1, input2)
' Handle the exception here
1、创建Matlab COM组件
首先,我们需要创建一个Matlab COM组件。打开Matlab,编写你希望从VB 调用的函数,例如一个用于图像处理的函数。然后在命令窗口中输入以下命令以 创建COM组件:
这将打开COM工具箱。在“新建项目”窗口中,选择“COM库”,然后输入库 名和位置。接下来,添加你的Matlab函数到库中。
在这个例子中,如果myMatlabObject.YourFunctionName(input1, input2) 抛出一个异常,那么这个异常会被Catch块捕获,并可以进一步处理。
5.在VB中使用返回值 在你的Matlab函数返回值后,你可以在VB中使用它。例如:
在这个例子中,如果result不是Nothing,那么你可以进一步使用这个结果。 6.错误检查和清理
1、创建 MATLAB函数:首先
例如: function obj = MyClass(x) function result = add(obj, y)
将MATLAB函数转化为Visual Basic
(3设置 i abdf l m t . 的编译环境, 1) b l e 在
命令菜单 中选 中 Poc一 St g, re s在 jt ei t n
Po c Stns 口中的 C s m i rj t t g 窗 e ei ut B l o u d标 签中的 C mm n s o ad 栏中输人:
译为动态连接库供其它程序调用。利用 V C
y + ; =x 1
将 MA L B函数转化为 V TA B可直接调用的 动态连接库, 系统中没有安装 MA L B时 TA 仍能利用 MA L B的数值计算功能。另外 TA 文献 [」 绍 了 Ma T o 1介 t ol 司提 供 的 h s公 Ma o t m工具软件, c 它简化了动态连接库的 编写, 可以很方便地做出包括数值计算、 图形 显示、 数据库处理及智能交换界面等软件, 能
利用 V sa C十+建立可 以被 V sa ul i i l u
Bs 应用程序调用的独立的动态连接库时 ai c
要注意编译环境的配置, 下面说明建立动态 连接库的编译环境的配置:
() Mi oot sa C十十6 0的 1进入 c sf Vi l r u .
· 用于产生独立应用程序的C或C 十+
#icu e f l h oi. n ld 'o b " , #icu e ma l . t b h n ld " a "
《 电脑与信息技术》02 20 年第 1 期
/ 生成动态连接库必要的头文件 二
dul_ t a f w a(ob x ob s cl o r dul ) e d l p o e
df/ ah e i 6O T: b al l e" ci :x / U l m t . O tus m n 8 i bi b在 upt 栏中输人:b al l l m t . i bi b
matlab生成dll方法
b) 在 VC 中用 MFC Wizard(exe)创建一个基于对话框名为 Example 的工程。 在面板上添加一个 ID 为 IDC_BUTTON1 按扭。
c) 将 C:\matcom45\Debug 目 录 下 的 Test1.cpp 文 件 的 内 容 拷 贝 到
void CExamleDlg::OnButton1() 下 ;
2 使用 Matcom 工具
2.1 MATcom 简介
MATcom 是 MATHworks 公司推出的第一个由 MATLAB 到 C++的编译开发
软件平台,其最新版本为 4.5,集成调试编译环境为 MIDEVA。 这个软件可厉害了,他生成的 exe 可执行文件可以在没有安装 MATLAB 的 地方运行,只是需要几个 dll 文件而已。如果用 MATLAB 的 Deployment Tool 来生成的 exe 可执行文件, 在没有安装 MATLAB 的机子上运行时需要安装 MCR, 而 MCR 现在有 200M 多,所以很不方便。 通过 MATcom 连接 MATLAB m 文件 有以下三种方法: (1)经过简单的设置,由 MIDEVA 将 m 源文件转换为 C/C++,然后添加 到 VC 工程中。 (2)由 MIDEVA 直接生成 EXE 文件,然后在 VC 中通过 Shell 调用。这种 方法简单方便,但运行时出现一个控制台窗口,而且由于 VC 和 MATLAB 之间 不能交互,通用性差,仅适用于 VC 调用 MATLAB 实现图形显示的场合。 (3)通过 Visual MATcom 工具条, 使用 Add-in, 这种方法提供了 MATLAB 和 VC 直接集成的途径,且可快速集成 m 文件到 VC 工程中创建独立的 C/C++ 应用程序、C MEX DLL,在调试过程中可以查看矩阵变量的值,可直接修改 m 源文件而不是修改生成的 C/C++文件。
Matlab函数转换为VB可用的DLL
段晓君杜小勇易东云(国防科技大学系统工程与数学系长沙410073)摘要Matlab是一种很受广大工程技术人员喜爱的数学工具软件,为我们提供了强大的矩阵处理和绘图功能。
由于它的界面功能比较弱,给我们开发界面友好的应用或演示系统带来不便。
文章介绍了一种用Matcom将Matlab函数转换为VB中可用的动态链接库的方法,操作简单易行。
关键词Matcom Matlab函数VB动态链接库0引言Matlab是MathWorks公司开发的一种工程计算语言。
用这个交互系统可以解决很多工程计算问题,特别当涉及到矩阵和矢量形式的问题时,Matlab提供了强大的矩阵处理和绘图功能,而用C语言或Fortran语言来解决相应的问题则编程量比较大。
Matcom是一个从Matlab到C++的编译器,它可以节省用户的运算时间和内存要求。
Math-Tools公司利用Matcom技术编写了Mideva工具软件,它可以借用C++编译器将Matlab下的M文件转换为可被VisualBasic、Exe-cl以及Dephi调用的DLL(动态链接库),亦可编译成独立的标准可执行文件,不需装载任何附加产品。
本文就M文件到DLL 的转换以及在VB中调用这一类DLL两个问题做了一些探讨。
文中,我们是基于Mat-lab5.0、VC5.0、VB5.0、Matcom4.0或相应的更高版本的软件进行讨论的。
1M文件到DLL的转换将Matlab的数值计算和绘图功能内嵌到VB中,需要用到Matcom工具。
可在网上下载MIDEV A及Matcom,网址为:。
安装Matcom4.0可按照如下步骤:step1在目录下找到Mat4vc.exe,运行直至完成;step2在Windows98或95的Dos环境下,运行Mc4reg.exe,并按提示的要求输入使用日期(开始至结束区间:date\month\year—date\month\year),并由此产生密码;step3启动软件MIDEV A。
Visual Basic与Matlab通信交互方法[1]
第33卷第1期黑 龙 江 水 专 学 报Vol 133,No.12006年3月Journal of Heilongjiang Hydraulic Engineering CollegeMar.,2006文章编号:1000-9833(2006)01-0130-03Visual Basic 与Matlab 通信交互方法袁 燕,方 骏(浙江海洋学院信息学院,舟山 316004)摘 要:介绍了以VB 作为人机交互界面,调用Matlab 数值计算函数的几种常用的通信方法。
即文件调用法,ActiveX 自动化技术,动态数据交换DDE ,将Matlab 函数转化为VB 可用的DLL 和使用MatrixVB com 库,并对各方法性能的优劣进行了比较和评价。
关键词:Matlab ;Visual Basic ;ActiveX ;DDE ;MatrixVB 中图分类号:TP391 文献标识码:AThe Review of Communication Techniques between Matlab and VBY UAN Yan ,FANG Jun(Department of Computer Sc.&Eng.,Zhejiang Ocean University ,Zhoushan ,316004,China )Abstract :In this paper ,severa POST http :///cgi -bin/attachfapp HTTP/between Matlab and VB are reviewed in details.These techniques include Direct File Invocation ,ActiveX Automation Technique ,Dynamic Data Exchange (DDE )and MatrixVB Com Library etc.Meanwhile ,the advantages and disadvantages of every technique are fully evaluated.K ey w ords :Matlab ;VB (Visual Basic );ActiveX ;DDE ;MatrixVB收稿日期:2005-10-31作者简介:袁 燕(1978-),女,浙江舟山人,助教,主要研究方向为智能软计算及动态数据挖掘;方 骏(1978-),男,浙江舟山人,硕士研究生,主要研究方向为智能软计算及动态数据挖掘。
在VB开发环境中调用由MATLAB函数转化的DLL
在VB开发环境中调用由MATLAB函数转化的DLL
冯旭
【期刊名称】《西北民族大学学报(自然科学版)》
【年(卷),期】2004(25)2
【摘要】VB是一个高效快速的软件开发平台,但在进行数值计算需要编写大量的代码,还需要反复调试以保证其可靠性和稳定性.通过编写DLL,只须少量代码,并且MATLAB的算法是经过商业化的考验,比较可靠,省去了许多软件维护费用.特别是要编写一些复杂的算法,例如,大型稀疏矩阵、大型线形方程组的解法、微分方程及偏微分方程的解法等等,并在此基础上开发更复杂的算法,该方法的优越性将更加明显.
【总页数】3页(P65-67)
【作者】冯旭
【作者单位】西北民族大学,现代教育技术学院,甘肃,兰州,730030
【正文语种】中文
【中图分类】TP311
【相关文献】
1.VB中动态DLL的开发和调用 [J], 马晓辉
2.VB中动态DLL的开发和调用 [J], 马晓辉
3.将MATLAB函数转化为Visual Basic 程序可用的DLL的方法 [J], 蔡冬梅;王纪龙
4.将Matlab函数转换为VB可用的DLL [J], 段晓君;杜小勇
5.Matlab函数转换为VB可用的DLL [J], 段晓君
因版权原因,仅展示原文概要,查看原文内容请购买。
Matlab--Matlab生成dll、库文件和头文件方法(win10+VS2015+Ma。。。
Matlab--Matlab⽣成dll、库⽂件和头⽂件⽅法(win10+VS2015+Ma。
MATLAB具有很⾼的计算性能,在该平台上很多算法易于实现,⽽有时需要使⽤C++调⽤Matlab编写的程序,可以将该函数编译成dll库⽂件,之后在C++中对其进⾏调⽤。
本⽂详细讲解在Matlab中将函数编译成库⽂件,并在C++中进⾏调⽤的⽅法。
Matlab编译⾸先,matlab中写好函数第⼀步:在matlab的命令⾏窗⼝中输⼊mex -setup,会出现以下界⾯。
第⼆步:点击界⾯的“mex -setup C++”,会出现如下提⽰。
以上两步说明Matlab的编译环境可⾏,并且是使⽤VS2015进⾏编译。
不同版本的matlab使⽤的编译器可能不同,请确保matlab配置的编译器与之后使⽤的C++环境保持⼀致。
第三步:对matlab的函数进⾏编译。
注意:这⾥只能对matlab的function进⾏编译,并不能对⼀般的.m脚本进⾏编译。
我们采⽤mcc的⽅式进⾏编译,命令如下:mcc -W cpplib:testmat -T link:lib testmat.m -C解释:-W是控制编译之后的封装格式;cpplib是指编译成C++的lib,如果需要编译成C的lib,就⽤lib即可,去掉cpp;cpplib后⾯的是需要⽣成⽂件的⽂件名,是⾃⼰取的,我们取名为testmat;-T表⽰⽬标,link:lib表⽰要连接到⼀个库⽂件的⽬标,⽬标的名字即是.m函数的名字。
其他具体含义可以通过mcc –help命令查看,注意参数的⼤⼩写。
第五步:等待matlab进⾏编译,这个过程可能需要⼏分钟。
编译完成后的命令⾏显⽰如下信息:需要⽤到的⽂件只有四个:testmat.ctf,testmat.dll,testmat.lib,testmat.h。
PS:使⽤上述⽅法时,我第⼀次成功了,后边同样的操作⼀直失败,报错如下图:查了很久也没有找到原因,在Matlab Answers⾥看到⼀个问答,有个回答如下:⼤概意思就是把主编译⽂件.m放在matlab主程序⽂件夹内(我试了不⾏..),或者使⽤deploytool,这个⼯具可以⽣成特定⽂件夹内.m⽂件dll等库的功能。
将MATLAB函数转化为Visual Basic 程序可用的DLL的方法
将MATLAB函数转化为Visual Basic 程序可用的DLL的方
法
蔡冬梅;王纪龙
【期刊名称】《电脑与信息技术》
【年(卷),期】2002(010)001
【摘要】文章详细介绍了将MATLAB函数转化为Visual Basic程序可用的动态连接库(DLL)的方法,通过一个简单的例子重点介绍了编译环境的配置.
【总页数】4页(P61-64)
【作者】蔡冬梅;王纪龙
【作者单位】太原理工大学应用物理系,030024;太原理工大学应用物理系,030024【正文语种】中文
【中图分类】TP3
【相关文献】
1.DLL在Visual Basic程序调用MATLAB库函数中的应用 [J], 李小文;屠宇;梁慧冰
2.Visual Basic调用Visual C + + DLL的方法 [J], 刘书伦;李晓静
3.DLL在Visual Basic程序中的应用 [J], 夏致晰;朱贵良
4.用Visual Basic调用DLL的方法及应注意的问题 [J], 张强
5.在Visual Basic
6.0应用程序中访问Windows API和DLL [J], 陈坤
因版权原因,仅展示原文概要,查看原文内容请购买。