Matlab 是由Math Works 公司於 年推出的數值計算及圖形處理軟件可以實現數值分析優化統計偏微分方程數值解自動控制信號處理圖像處理等若干領域的計算和圖形顯示功能其中控制系統工具箱的集成為設計和分析各種復雜的控制系統提供了有效的方法和途徑
但是
由於Matlab開發平台的局限性
在其上面開發的程序不能脫離Matlab運行環境
因而在處理一些實際應用問題時顯得靈活性不足
而VC++則在一定程度上能夠彌補這一漏洞
因此
現將二者結合共用
各獻其長
可以為科研工作和工程開發提供了更為強大的技術支持
Matlab與VC混合編程的實現方法
Matlab作為控制系統設計的一種通用工具
它可以和VC方便的進行連接
一般而言
Matlab與VC混合編程的實現方法主要有以下三種方法
(
)通過引擎(Engine)
采用客戶機服務器的計算模式
通過Window的ActiveX通道和Matlab進行連接
具體應用時
往往在VC中設計程序框架
以編譯的程序作為前端客戶機
通過調用Matlab引擎在後台實現與服務器的連接
實現動態通信(
)應用Matlab數學函數庫
Matlab中包含了內容豐富的函數庫
而且還提供了與VC的數學函數接口
用戶可以方便的在VC的IDE(集成開發環境)中調用
(
)通過DLL實現VC與Matlab的混合編程
DLL是一個可執行的二進制文件
把很多通用的功能放在DLL中
可以供多個應用程序調用
這樣可以很好的減少外部存儲空間的占有量
並實現代碼的共享
[]在上述三種方法中
第一種方法對調用Matlab的工具箱很實用
所有在進行控制系統的設計和分析時
一般都是通過調用Matlab引擎(Engine)來實現的
本文主要介紹采用通過引擎(Engine)來實現VC與Matlab的混合編程
MATLAB引擎簡介
Matlab引擎是Matlab提供的一系列程序的結合
它允許用戶在自己的應用程序中對Matlab進行調用
將Matlab作為一個操作引擎使用
使其在後台運行
一般Matlab 引擎采用客戶機/ 服務器(Client/ Sever) 計算方式
就是一種把應用處理負載分布到客戶機和服務器上的一種計算模式
客戶機和服務器既可以是存在於同一台計算機
也可以通過網絡來實現信息共享
一般情況下
客戶機是運行前端軟件的PC機
並且知道如何與服務器通信
服務器與此相對應
是接收請求信息
並采取相應行的機器
由於客戶機和服務器共同承擔處理負載
使系統總體性能大為提高
在實際應用過程中
把VC的C語言或C + + 語言的程序作為前端客戶機程序
它從Matlab 引擎接收數據信息
並與引擎傳遞命令的數據信息
表
是幾種常用的Matlab引擎調用函數
表Matlab引擎常用調用函數 .NET編程免費提供,內容來源於互聯網,本文歸原作者所有。