程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> VC >> 關於VC++ >> 淺析VC與Matlab聯合編程(二)

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

編輯:關於VC++

在“淺析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 歡迎大家一起討論!

本文配套源碼

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved