??????? 目錄
??????? 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的相關知識也是一知半解,但是我覺得這個圖應當能夠基本上能夠反映出我的意思。
???????? 
?????????主要調用流程為:
?????????
?????
??????????下面是從用matlab6編寫m文件直到用vc程序調用matlab組件繪圖的完整流程。
????????? 
????????
posted on 2006-08-09 22:32
littlegai 閱讀(1089)
評論(0) 編輯 收藏 引用 所屬分類:
我的代碼玩具