随笔 - 181  文章 - 15  trackbacks - 0
<2006年8月>
303112345
6789101112
13141516171819
20212223242526
272829303112
3456789

常用链接

留言簿(1)

随笔分类

随笔档案

My Tech blog

搜索

  •  

最新评论

阅读排行榜

评论排行榜

        目录
        com方式调用matlab(一)
        com方式调用matlab(二) 
        com方式调用matlab(三)
        com方式调用matlab(四) 
        com方式调用matlab(五)
        com方式调用matlab(六)
        com方式调用matlab(附:运行结果及代码)
        前一阵子同学叫我帮忙做毕业设计,内容是从c++程序环境当中调用matlab进行绘图.我之前从来没有接触过matlab,但是我对c++还是多少有点了解.并且同学也把上一届做好的论文拿来了,里面有比较详细的介绍,特别是关键的代码部分,写得也比较清楚.所以我觉得这个任务没什么困难的.估计按照论文上面按部就班的做,大概一个晚上就能完成.同学给了我一个周的时间,应该算是绰绰有余了.于是我就有了这样的打算,看看能不能通过其他的方法实现matlab绘图功能的调用.因为毕竟是上一届的论文,答辩的时候"穿帮"就不好了.
        我从网上搜索了一下,发现了基于com的matlab编程的一系列文章,当然刊登这些文章的网站、论坛什么的都挺多,我也分不清出处了。不过最全的应该是在vc知识库网站上。我以前曾经看过一些com的书籍和文章,并且对之也有少许了解。所以我就决定了以此方式来完成这次毕业设计。并且确实实现了,在设计过程当中感觉自己学到了不少东西,又担心学的这些东西会随着时间渐渐淡忘,所以在这里整理一下,希望能给需要进行相关设计的人提供一点帮助,也为自己的知识留下一点痕迹。
        我的思路是这样的:
        1、用matlab6的comtool工具把m文件转换成为com组件。
        2、在c++中在不引入tlb的前提下调用com组件。
        第一步确实不是什么问题。因为你从任何搜索引擎里面输入"com matlab"都能获取大量的相关介绍。
        要做第二步的话就要先研究一下matlab生成的com组件的情况了。我打开comtool生成的那些.c和.h文件看了一下,发现其中接口是从IDispatch继承的。OK,实现这一步也不是问题。这样我的vc程序雏形就有了:
         写一个程序配置文件,其中包含所有要调用的matlab组件,以及它们的接口、方法的信息。
         在vc程序中读取配置文件,动态生成输入界面,在录入参数并触发相关按钮事件后绘制图形。
         然后基于这个思路,我大体上绘制了类图。当然我对于visio还是个初学者,对于UML的相关知识也是一知半解,但是我觉得这个图应当能够基本上能够反映出我的意思。
         matlabcom1.JPG
         主要调用流程为:
         
     matlabcom2.JPG
          下面是从用matlab6编写m文件直到用vc程序调用matlab组件绘图的完整流程。
          matlabcom3.JPG


        

posted on 2006-08-09 22:32 littlegai 阅读(1037) 评论(0)  编辑 收藏 引用 所属分类: 我的代码玩具

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理