淺析VC與Matlab聯合編程(二)

淺析VC與Matlab聯合編程(二)

作者:鄧科

下載源代碼

  在“淺析VC與Matlab聯合編程 (一)”中簡單介紹了VC與matcom的接口編程,實現了VC調用matcom的一個基本功能,要真正熟練使用接口編程,還要對函數調用有一定了解。本文通過一個實例,較詳細的介紹如何在VC中調用matcom編譯後的函數。
  首先新建一個函數huatu.m,該函數的功能是:接受用戶輸入的左端點值和右端點值兩個輸入參數,然後在該區間畫正弦圖形。函數還將生成兩個隨機數,作爲一個點的座標在圖中打印出來(綠點),用來說明如何在VC中處理調用函數的返回值。

步驟如下:
1.建立一個名爲Example2基於對話框的MFC(exe)工程。
2.在matcom中新建一個名爲huatu.m文件,如圖1;

圖1

3.在matcom命令窗口中運行該函數,如圖2;


圖2

4.將生成的huatu.h、huatu.cpp(默認位置爲 安裝目錄:/matcom45/samples/Debug)和matlib.h、v4501v.lib(默認位置爲 安裝目錄:/matcom45/lib)四個文件拷貝到建立的工程Example2目錄下。

5.將第四步拷貝的四個文件加入到VC工程中:工程->添加工程->文件,選擇剛纔拷貝到Example2目錄下的四個文件。完成後如圖3;


圖3

6.在Example2dlg.cpp中添加頭文件:(如圖4所示)

#include "matlib.h"
#include "huatu.h"


圖4

7.爲工程建立界面:添加一個Button按扭控件;添加四個Edit box控件,用於顯示數據;添加五個Static text控件,四個顯示文字,一個顯示圖形,將顯示圖形的Static text的ID設置爲ID_PIC。其他所有控件屬性保持默認(爲了看圖方便,可以適當調整顯示圖形Static text控件的邊緣)。如圖5所示


圖5

8.按Ctrl+W爲控件添加變量。如圖6所示


圖6

9.爲Button1按鈕添加響應代碼。如圖7所示


圖7

10.運行程序,輸入左端點和右端點,點擊”畫圖”按鈕,結果如圖8所示。(本例只是爲了說明如何調用函數,沒有進行容錯處理)


圖8

注:如果在編譯中出現下列錯誤:

fatal error C1010: unexpected end of file while looking for precompiled header directive

  進行下列設置:工程->設置-> C/C++ 選擇precompiled headers 選擇第一或第二項:自動選擇預補償頁眉,如圖9所示


圖9

  本例介紹了在VC中如何調用用matcom編譯的m函數的方法,並且基本上實現了VC和Matlab的無縫結合,希望對大家編程會有所幫助,現在時間很緊,下次有機會詳細介紹m文件翻譯成C++語言後代碼的含義。我的 QQ:44760299 歡迎大家一起討論!


 
發佈了23 篇原創文章 · 獲贊 4 · 訪問量 5萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章