程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> VC >> vc教程 >> VC++與Matlab混合編程之引擎操作詳解

VC++與Matlab混合編程之引擎操作詳解

編輯:vc教程

  Visual C++是當前主流的應用程序開發環境之一,開發環境強大,開發的程序執行速度快。但在科學計算方面函數庫顯得不夠豐富、讀取、顯示數據圖形不方便。Matlab是一款將數值分析、矩陣計算、信號處理和圖形顯示結合在一起,包含大量高度集成的函數可供調用,適合科學研究、工程設計等眾多學科領域使用的一種簡潔、高效的編程工具。不過由於Matlab使用的是解釋性語言,大大限制了它的執行速度和應用場合。基於VC和Matlab混合編程是很多熟悉VC++編程而又需要進行科學計算、數據仿真的科研人員常用的一種方式,其中最簡單也最直接的方法就是調用Matlab引擎。本文以下部分將詳細介紹通過VC++6.0調用Matlab6.5引擎來達到VC++與Matlab數據共享編程的方法。

  1. 什麼是Matlab引擎

  所謂Matlab引擎(engine),是指一組Matlab提供的接口函數,支持C/C++、Fortran等語言,通過這些接口函數,用戶可以在其它編程環境中實現對Matlab的控制。可以主要功能有:

  ★ 打開/關閉一個Matlab對話;

  ★ 向Matlab環境發送命令字符串;

  ★ 從Matlab環境中讀取數據;

  ★ 向Matlab環境中寫入數據。

  與其它各種接口相比,引擎所提供的Matlab功能支持是最全面的。通過引擎方式,應用程序會打開一個新的Matlab進程,可以控制它完成任何計算和繪圖操作。對所有的數據結構提供100%的支持。同時,引擎方式打開的Matlab進程會在任務欄顯示自己的圖標,打開該窗口,可以觀察主程序通過engine方式控制Matlab運行的流程,並可在其中輸入任何Matlab命令。

  實際上,通過引擎方式建立的對話,是將Matlab以ActiveX控件方式啟動的。在Matlab初次安裝時,會自動執行一次:

matlab /regserver

  將自己在系統的控件庫中注冊。如果因為特殊原因,無法打開Matlab引擎,可以在Dos命令提示符後執行上述命令,重新注冊。

  2. 配置編譯器

  要在VC中成功編譯Matlab引擎程序,必須包含引擎頭文件engine.h並引入Matlab對應的庫文件libmx.lib、libmat.lib、libeng.lib。具體的說,打開一個工程後,做如下設置(以VC6為例):

  1) 通過菜單工程/選項,打開設置屬性頁,進入Directories頁面,在目錄下拉列表框中選擇Include files,添加路徑:"C:matlabexterninclude"(假定matlab安裝在C:matlab目錄)。

  2) 選擇Library files,添加路徑:C:matlabexternlibwin32microsoftmsvc60。

  3) 通過菜單工程/設置,打開工程設置屬性頁,進入Link頁面,在Object/library modules編輯框中,添加文件名libmx.lib libmat.lib libeng.lib。

  以上步驟1)、2)只需設置一次,而步驟3)對每個工程都要單獨設定,對於其它C++編譯器如Borland C++ builder,設置大體相同,不再贅述。

  • 首頁
  • 上一頁
  • 1
  • 2
  • 3
  • 4
  • 5
  • 下一頁
  • 尾頁
  • 共6頁
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved