您所在位置: 网站首页 / 文档列表 / matlab / 文档详情
Matlab与C++接口与混合编程讨论小结.doc 立即下载
上传人:yy****24 上传时间:2024-09-06 格式:DOC 页数:40 大小:185KB 金币:16 举报 版权申诉
预览加载中,请您耐心等待几秒...

Matlab与C++接口与混合编程讨论小结.doc

Matlab与C++接口与混合编程讨论小结.doc

预览

免费试读已结束,剩余 30 页请下载文档后查看

16 金币

下载文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

Matlab与C++接口与混合编程讨论小结http://passmatlab.myetang.com/matlab/第一章、概述Matlab是当今世界上使用最为广泛的数学软件,它具有相当强大的数值计算、数据处理、系统分析、图形显示,甚至符号运算功能,是一个完整的数学平台,在这个平台上,你只需寥寥数语就可以完成十分复杂的功能,大大提高了工程分析计算的效率。另外由于Matlab的广泛使用,于是出现了为各个领域专门使用的工具箱(即在某一研究领域常用数学工具的函数包),这些工具箱的出现更加促进了Matlab的流行。Matlab强大的功能只能在它所提供的平台上才能使用,也就是说,你必需在安装有Matlab系统的机器上使用.m文件,这样就给工程计算带来了很大不便;特别是,在Matlab中,使用的行解释方式执行代码,这样大大地限制了代码执行速度。于是人们想到,能否开发一个Matlab与其他高级语言的接口,这样就可以把Matlab的强大功能融入各种应用程序中,并且通过高级语言编译器编译为二进制代码,从而大大提高了执行速度。于是Matlab的5.1版本提供了自带的C++Complier,同时MathTools公司也为Matlab开发了m文件高效解释和调试IDE:MIDEVA。经过近两年的发展,Matlab5.3中的Ccomplier--mcc版本已经为2.0,而MIDEVA最新版本为4.5。将Matlab与C混合编程大概有如下三种方法:1.用Matlab的mcc将.m文件翻译为cpp源文件,然后在C编译器中调用;也可以用mcc编译编译为stand-alone程序。2.用Matcom(MIDEVA)将.m文件翻译为cpp代码,并编译为exe或dll文件。3.按照matcom的语法,在VC或BCB中直接书写matlab语句(与matlab很相似),这也是我最喜欢用的方法。方法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++数学库。不过,MATLAB的数学库在开发时似乎倾向于编译独立的可执行程序,把VC、BC只是作为一个编译和连接的工具,而没有过多地考虑在VC、BC的集成环境下进行开发。这给我们带来了不便。很多网友问起如何将MCC生成的C++程序嵌入到VC。最近对这个问题做了一下尝试,在这里做一个总结,请大家回去试试。这里只介绍VC的情况,用BC的网友就自己研究研究吧,估计是类似的。1、设置项目编译选项:首先建立一个新的项目,或者打开一个已有的项目,然后选择菜单:Project->Settings->C/C++Category:Preprocessor:Preprocessordefinitions:添加:MSVC,IBMPC,MSWINDCategory:PrecompiledHeaders选择:AutomaticuseofprecompiledheadersThroughheader:stdafx.h2、调设置项目连接选项:首先要从下面几个函数定义文件(*.def)生成相应的导入库文件(*.lib)libmmfile.def、libmcc.def、libmatlb.def、libmx.def、libmat.def,它们位于目录c:\matlab\extern\include。用下面命令导出库文件:lib/def:libmmfile.def/out:libmmfile.lib/machine:ix86lib/def:libmcc.def/out:libmcc.lib/machine:ix86lib/def:libmatlb.def/out:libmatlb.lib/machine:ix86lib/def:libmx.def/out:libmx.lib/machine:ix86lib/def:libmat.def/out:libmat.lib/machine:ix86将它们放入你的项目连接选项Project->Settings->LinkCategory:Input->Object/librarymodules:Object/librarymodules:添加:libmatpm.liblibmm
单篇购买
VIP会员(1亿+VIP文档免费下)

扫码即表示接受《下载须知》

Matlab与C++接口与混合编程讨论小结

文档大小:185KB

限时特价:扫码查看

• 请登录后再进行扫码购买
• 使用微信/支付宝扫码注册及付费下载,详阅 用户协议 隐私政策
• 如已在其他页面进行付款,请刷新当前页面重试
• 付费购买成功后,此文档可永久免费下载
年会员
99.0
¥199.0

6亿VIP文档任选,共次下载特权。

已优惠

微信/支付宝扫码完成支付,可开具发票

VIP尽享专属权益

VIP文档免费下载

赠送VIP文档免费下载次数

阅读免打扰

去除文档详情页间广告

专属身份标识

尊贵的VIP专属身份标识

高级客服

一对一高级客服服务

多端互通

电脑端/手机端权益通用

手机号注册 用户名注册
我已阅读并接受《用户协议》《隐私政策》
已有账号?立即登录
我已阅读并接受《用户协议》《隐私政策》
已有账号?立即登录
登录
手机号登录 微信扫码登录
微信扫一扫登录 账号密码登录

首次登录需关注“豆柴文库”公众号

新用户注册
VIP会员(1亿+VIP文档免费下)
年会员
99.0
¥199.0

6亿VIP文档任选,共次下载特权。

已优惠

微信/支付宝扫码完成支付,可开具发票

VIP尽享专属权益

VIP文档免费下载

赠送VIP文档免费下载次数

阅读免打扰

去除文档详情页间广告

专属身份标识

尊贵的VIP专属身份标识

高级客服

一对一高级客服服务

多端互通

电脑端/手机端权益通用