APP下载

基于COM的Matlab参数处理与图像嵌入在VC中的实现*

2011-07-28柳炳利魏友华

网络安全与数据管理 2011年24期
关键词:方法

王 维,刘 斌,柳炳利,魏友华

(成都理工大学 数学地质四川省重点实验室,四川 成都 610059)

基于COM组件的Matlab与C++混合编程方式因拥有独立的运行环境和两种语言的互补优势而被众多科研人员和编程人员所接受,同时也是MathWorks公司推荐使用的混编方式。但在程序设计过程中,通常会遇到两个难点问题:(1)二维数组参数的传递与输出;(2)Matlab生成图形嵌入VC工程界面中。对于第一个问题,Bruce McKinney[1]在 MSDN上指出;“如果对一维数组进行操作,则SAFEARRAY函数变的简单且易操作。但是对于多维数组,同样的操作要复杂得多”,造成这一问题的根源在于Matlab与C++对多维数组元素的存储方式不同。而在本项目开发过程中回避了这个复杂的过程,转而利用Matlab强大的数组处理功能将其解决。Matlab完善的图形处理功能是其被科研人员所推崇的原因之一,但因其图形拥有独立的窗口,严重影响了整体界面美观和用户交互体验,所以Matlab图形嵌入是混合编程中不可回避的问题。对此将通过实例介绍两种图形嵌入方法并分析说明其优缺点和相关细节。

本文示例均在Matlab R2008a和VC 6.0平台下完成,且通过调试能够正常运行。

1 Excel文件读取方法

VC平台下的Excel文件读取方式复杂难懂,但如果使用Matlab与VC的混合编程方式编写将更加简便,而且拥有较强的可扩展性。下面代码详细讲解了该过程。

(1)在Matlab平台下建立CExcelRead.m文件,代码如下:

保存文件后,使用deploytool工具将其制作成名为FileOpen的COM(封装 MCR),注册该控件并将相应的文件拷贝到MFC的工程中,对于基础操作此处不再赘述。……

登录APP查看全文

猜你喜欢

方法
中医特有的急救方法
高中数学教学改革的方法
化学反应多变幻 “虚拟”方法帮大忙
变快的方法
学习方法
用对方法才能瘦
最有效的简单方法
四大方法 教你不再“坐以待病”!
赚钱方法
捕鱼