前兩文介紹 matcom 工具,但有結構體支援不全、3D 繪圖失真等限制。本文介紹另一種較易實現的方法:COM 介面。COM 技術複雜,此處不贅述,透過完整範例示範在 MATLAB 建立 COM 元件並在 VC 中呼叫。
huatu.m無輸入輸出參數,繪製簡單圖形。

圖 1
comtool,開啟 COM 元件編輯器。

圖 2
File → New Project... 建立新專案。

圖 3
component,Class name 填 huatu。移除預設類別 component,新增 huatu。

圖 4

圖 5
huatu,Project → Add File... 選擇 huatu.m。注意:必須是函數檔,腳本檔需改為無參數函數。

圖 6
Build → COM Object...。

圖 7
元件預設儲存於 matlab安裝路徑\work\component。
ComHuaTu。
圖 8
component_idl.h、component_idl_i.c (位於 \work\component\src) 到專案目錄並加入專案。matlab\extern\include\mwcomtypes.h 到專案目錄並加入。stdafx.h 或對應 cpp 加入標頭檔:

圖 9

圖 10
Project → Settings → C/C++ → Precompiled Headers 設為「不使用預編譯標頭」。

圖 11

圖 12
VC 呼叫 COM 元件方式簡單,幾乎支援所有 MATLAB 函數,適合 .m 檔較大、matcom/數學庫/mcc 難以實現的情境。注意:程式複製到他機器需註冊 COM 元件,建議製作安裝包。歡迎提供意見 (QQ: 44760299, Email: c_dinco@sina.com)。