999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于MATCOM的VC++與MATLAB集成應用研究

2014-08-15 20:39:58衡霞張麗麗
科技視界 2014年17期

衡霞 張麗麗

【摘 要】本文論述了MATLAB與VC++集成應用的特點和意義,介紹了目前常用的三種集成方法:利用MATLAB引擎、利用MATLAB自身的編譯器和利用MATCOM調用工具箱中的函數;通過在VC++環境下對聲音文件進行低通濾波處理的實例應用,說明了基于MATCOM集成開發方法的優勢。

【關鍵詞】Visual C++;MATLAB;MATCOM;集成應用

【Abstract】This paper describes the character and significance of integrated application of Visual C++ and MATLAB, introduces the three corresponding methods: based on MATLAB Engine, based on MATLAB C++ Complier and based on MATCOM to use function in the MATLAB toolbox. Finally the application of audio lowpass to demonstrates that the third method has greater advantages over others.

【Key words】Visual C++; MATLAB; MATCOM; Integrated Application

0 引言

MATLAB是一種基于矩陣運算、具有強大的數值運算和數據處理功能的高級編程語言,廣泛應用于信號分析、語音分析、優化設計等領域。它的突出特點具有豐富的函數資源供用戶直接調用,且其繪圖功能強大,生成的圖形可實現多種功能,如圖形縮放、旋轉、坐標軸標注、曲線說明等;并在復雜算法方面表現出其他語言難以比擬的優勢;目前已成為國際上較流行的軟件之一。但是,作為一種以解釋方式運行的語言,MATLAB程序執行效率較低、耗時較長,又受其平臺限制,MATLAB程序不能脫離MATLAB環境運行,這就給其廣泛開發使用帶來很大的不便。為了提高程序的執行效率,開發出獨立可執行程序,現在普遍使用的一種方法就是用VC++調用MATLAB。

1 VC++與MATLAB的混合編程方法

目前,VC++與MATLAB的混合編程主要有以下三種方法:

1.1 利用MATLAB引擎

MATLAB引擎采用客戶和服務器計算方式,在運用中,VC下的C或C++程序作為前端客戶機,它向MATLAB引擎傳遞命令、數據信息,并從MATLAB引擎接收數據信息。它提供以下幾個函數:engOpen、engGetArray、engPutArray、engOutput Buffer、engClose、engEvaString。

1.2 利用MATLAB自身的編譯器調用工具箱中的函數

MATLAB 5.1版本之后自帶有C++ Complier-mcc,該編譯器可將MATLAB的程序文件(M文件)轉換為C或C++的源代碼,并可生成脫離MATLAB運行環境的可執行程序。但要求編譯的M文件不依賴于其他M文件,以及不能調用MATLAB工具箱中的函數;同時,mcc編譯器也不支持圖形函數。

1.3 利用MATCOM調用工具箱中的函數

MATCOM是Mattools公司推出的世界上第一個由MATLAB到C++的編譯開發軟件平臺,提供對MATLAB的 M文件的解釋執行和開發環境支持。MATCOM編譯M文件,先將M文件按照與MATCOM的cpp庫的對應關系翻譯成cpp源代碼,然后用對應版本的c編譯器將cpp文件編譯成相應的exe或dll文件。既保持了MATLAB的優良算法,又保持了C++的高執行效率,MATCOM軟件平臺本身的功能相當強大,提供近千個MATLAB的基本功能函數,通過必要的設置,就可以直接實現與C++的混合編程,而不必再依賴MATLAB。

利用MATCOM調用工具箱中的函數與前兩種方法比較,它的轉換非常方便,生成的代碼可讀性很好,支持圖形函數,且代碼執行的速度比不轉換平均要快1.5倍以上;同時MATCOM不僅可轉換獨立的不依賴于其他M文件的M文件,還可轉換調用其它M文件的M文件嵌套,條件是這些M文件在同一個目錄下。

2 集成應用系統開發方法

下面以一個MATLAB對聲音文件的低通濾波程序為例,介紹通過MATCOM4.5實現VC++ 6.0對MATLAB程序的調用:

2.1 MATCOM對MATLAB源代碼的編譯

如上代碼所示,在調用Matrix之前要用”initM(MATCOM _VERSION);”函數來初始化類庫調用,相對應的調用結束用”exitM();”函數來結束類庫調用。initM(MATCOM_VERSION)函數中的參數MATCOM_VERSION是一個在在matlib.h中已定義的常量,它保證了動態鏈接庫與matlib.h相匹配,從而它可以多次調用。

3 小結

通過MATCOM的支持,采用MATLAB與Visual C++ 6.0集成應用混合編程可充分將MATLAB的高效數值計算和集科學計算、信號處理、神經網絡、圖象處理等于一體的高度集成系統特性和Visual C++程序執行速度快、實時性好的特點有效地結合,大大提高了系統的開發效率與運行效率。用MATCOM在Visual C++環境中直接進行這種集成調用,它比其他的調用方式使用簡單并且功能強大,可以很好地解決工程中遇到的許多問題,具有一定的實用和推廣價值。

【參考文獻】

[1]王剛,俞穎.VC++與MATLAB混合編程環境下語音增強算法實現[J].軟件導刊,2012(12):49-51.

[2]呂永林,字正華.基于VC 與MATLAB 的聲目標識別系統設計[J].計算機技術與發展,2009,19(9):207-210.

[3]劉寧,劉財,馮晅.基于MATCOM平臺的VC++與MATLAB混合編程地震正演模擬[J].世界地質,2011(4):655-659.

[4]劉維.精通MATLAB與C/C++混合程序設計[M].2版.北京:北京航空航天大學出版社,2008.

[5]袁林,巴力登.VC++調用MATLAB實現圖像處理[J].計算機技術與發展,200717(8):215-218.

[6]張德豐.MATLAB 與外部程序接口編程[M].北京:機械工業出版社,2009:292-294.

[7]易克初,田斌,付強.語音信號處理[M].北京:國防工業出版社,2000.

[8]Won-Gyum Kim, Jong Chan Lee and Won Don Lee. An audio watermarking scheme with hidden signatures. International Conference on Signal Processing, Beijing, 2000: 250-253.

[責任編輯:楊玉潔]

【摘 要】本文論述了MATLAB與VC++集成應用的特點和意義,介紹了目前常用的三種集成方法:利用MATLAB引擎、利用MATLAB自身的編譯器和利用MATCOM調用工具箱中的函數;通過在VC++環境下對聲音文件進行低通濾波處理的實例應用,說明了基于MATCOM集成開發方法的優勢。

【關鍵詞】Visual C++;MATLAB;MATCOM;集成應用

【Abstract】This paper describes the character and significance of integrated application of Visual C++ and MATLAB, introduces the three corresponding methods: based on MATLAB Engine, based on MATLAB C++ Complier and based on MATCOM to use function in the MATLAB toolbox. Finally the application of audio lowpass to demonstrates that the third method has greater advantages over others.

【Key words】Visual C++; MATLAB; MATCOM; Integrated Application

0 引言

MATLAB是一種基于矩陣運算、具有強大的數值運算和數據處理功能的高級編程語言,廣泛應用于信號分析、語音分析、優化設計等領域。它的突出特點具有豐富的函數資源供用戶直接調用,且其繪圖功能強大,生成的圖形可實現多種功能,如圖形縮放、旋轉、坐標軸標注、曲線說明等;并在復雜算法方面表現出其他語言難以比擬的優勢;目前已成為國際上較流行的軟件之一。但是,作為一種以解釋方式運行的語言,MATLAB程序執行效率較低、耗時較長,又受其平臺限制,MATLAB程序不能脫離MATLAB環境運行,這就給其廣泛開發使用帶來很大的不便。為了提高程序的執行效率,開發出獨立可執行程序,現在普遍使用的一種方法就是用VC++調用MATLAB。

1 VC++與MATLAB的混合編程方法

目前,VC++與MATLAB的混合編程主要有以下三種方法:

1.1 利用MATLAB引擎

MATLAB引擎采用客戶和服務器計算方式,在運用中,VC下的C或C++程序作為前端客戶機,它向MATLAB引擎傳遞命令、數據信息,并從MATLAB引擎接收數據信息。它提供以下幾個函數:engOpen、engGetArray、engPutArray、engOutput Buffer、engClose、engEvaString。

1.2 利用MATLAB自身的編譯器調用工具箱中的函數

MATLAB 5.1版本之后自帶有C++ Complier-mcc,該編譯器可將MATLAB的程序文件(M文件)轉換為C或C++的源代碼,并可生成脫離MATLAB運行環境的可執行程序。但要求編譯的M文件不依賴于其他M文件,以及不能調用MATLAB工具箱中的函數;同時,mcc編譯器也不支持圖形函數。

1.3 利用MATCOM調用工具箱中的函數

MATCOM是Mattools公司推出的世界上第一個由MATLAB到C++的編譯開發軟件平臺,提供對MATLAB的 M文件的解釋執行和開發環境支持。MATCOM編譯M文件,先將M文件按照與MATCOM的cpp庫的對應關系翻譯成cpp源代碼,然后用對應版本的c編譯器將cpp文件編譯成相應的exe或dll文件。既保持了MATLAB的優良算法,又保持了C++的高執行效率,MATCOM軟件平臺本身的功能相當強大,提供近千個MATLAB的基本功能函數,通過必要的設置,就可以直接實現與C++的混合編程,而不必再依賴MATLAB。

利用MATCOM調用工具箱中的函數與前兩種方法比較,它的轉換非常方便,生成的代碼可讀性很好,支持圖形函數,且代碼執行的速度比不轉換平均要快1.5倍以上;同時MATCOM不僅可轉換獨立的不依賴于其他M文件的M文件,還可轉換調用其它M文件的M文件嵌套,條件是這些M文件在同一個目錄下。

2 集成應用系統開發方法

下面以一個MATLAB對聲音文件的低通濾波程序為例,介紹通過MATCOM4.5實現VC++ 6.0對MATLAB程序的調用:

2.1 MATCOM對MATLAB源代碼的編譯

如上代碼所示,在調用Matrix之前要用”initM(MATCOM _VERSION);”函數來初始化類庫調用,相對應的調用結束用”exitM();”函數來結束類庫調用。initM(MATCOM_VERSION)函數中的參數MATCOM_VERSION是一個在在matlib.h中已定義的常量,它保證了動態鏈接庫與matlib.h相匹配,從而它可以多次調用。

3 小結

通過MATCOM的支持,采用MATLAB與Visual C++ 6.0集成應用混合編程可充分將MATLAB的高效數值計算和集科學計算、信號處理、神經網絡、圖象處理等于一體的高度集成系統特性和Visual C++程序執行速度快、實時性好的特點有效地結合,大大提高了系統的開發效率與運行效率。用MATCOM在Visual C++環境中直接進行這種集成調用,它比其他的調用方式使用簡單并且功能強大,可以很好地解決工程中遇到的許多問題,具有一定的實用和推廣價值。

【參考文獻】

[1]王剛,俞穎.VC++與MATLAB混合編程環境下語音增強算法實現[J].軟件導刊,2012(12):49-51.

[2]呂永林,字正華.基于VC 與MATLAB 的聲目標識別系統設計[J].計算機技術與發展,2009,19(9):207-210.

[3]劉寧,劉財,馮晅.基于MATCOM平臺的VC++與MATLAB混合編程地震正演模擬[J].世界地質,2011(4):655-659.

[4]劉維.精通MATLAB與C/C++混合程序設計[M].2版.北京:北京航空航天大學出版社,2008.

[5]袁林,巴力登.VC++調用MATLAB實現圖像處理[J].計算機技術與發展,200717(8):215-218.

[6]張德豐.MATLAB 與外部程序接口編程[M].北京:機械工業出版社,2009:292-294.

[7]易克初,田斌,付強.語音信號處理[M].北京:國防工業出版社,2000.

[8]Won-Gyum Kim, Jong Chan Lee and Won Don Lee. An audio watermarking scheme with hidden signatures. International Conference on Signal Processing, Beijing, 2000: 250-253.

[責任編輯:楊玉潔]

【摘 要】本文論述了MATLAB與VC++集成應用的特點和意義,介紹了目前常用的三種集成方法:利用MATLAB引擎、利用MATLAB自身的編譯器和利用MATCOM調用工具箱中的函數;通過在VC++環境下對聲音文件進行低通濾波處理的實例應用,說明了基于MATCOM集成開發方法的優勢。

【關鍵詞】Visual C++;MATLAB;MATCOM;集成應用

【Abstract】This paper describes the character and significance of integrated application of Visual C++ and MATLAB, introduces the three corresponding methods: based on MATLAB Engine, based on MATLAB C++ Complier and based on MATCOM to use function in the MATLAB toolbox. Finally the application of audio lowpass to demonstrates that the third method has greater advantages over others.

【Key words】Visual C++; MATLAB; MATCOM; Integrated Application

0 引言

MATLAB是一種基于矩陣運算、具有強大的數值運算和數據處理功能的高級編程語言,廣泛應用于信號分析、語音分析、優化設計等領域。它的突出特點具有豐富的函數資源供用戶直接調用,且其繪圖功能強大,生成的圖形可實現多種功能,如圖形縮放、旋轉、坐標軸標注、曲線說明等;并在復雜算法方面表現出其他語言難以比擬的優勢;目前已成為國際上較流行的軟件之一。但是,作為一種以解釋方式運行的語言,MATLAB程序執行效率較低、耗時較長,又受其平臺限制,MATLAB程序不能脫離MATLAB環境運行,這就給其廣泛開發使用帶來很大的不便。為了提高程序的執行效率,開發出獨立可執行程序,現在普遍使用的一種方法就是用VC++調用MATLAB。

1 VC++與MATLAB的混合編程方法

目前,VC++與MATLAB的混合編程主要有以下三種方法:

1.1 利用MATLAB引擎

MATLAB引擎采用客戶和服務器計算方式,在運用中,VC下的C或C++程序作為前端客戶機,它向MATLAB引擎傳遞命令、數據信息,并從MATLAB引擎接收數據信息。它提供以下幾個函數:engOpen、engGetArray、engPutArray、engOutput Buffer、engClose、engEvaString。

1.2 利用MATLAB自身的編譯器調用工具箱中的函數

MATLAB 5.1版本之后自帶有C++ Complier-mcc,該編譯器可將MATLAB的程序文件(M文件)轉換為C或C++的源代碼,并可生成脫離MATLAB運行環境的可執行程序。但要求編譯的M文件不依賴于其他M文件,以及不能調用MATLAB工具箱中的函數;同時,mcc編譯器也不支持圖形函數。

1.3 利用MATCOM調用工具箱中的函數

MATCOM是Mattools公司推出的世界上第一個由MATLAB到C++的編譯開發軟件平臺,提供對MATLAB的 M文件的解釋執行和開發環境支持。MATCOM編譯M文件,先將M文件按照與MATCOM的cpp庫的對應關系翻譯成cpp源代碼,然后用對應版本的c編譯器將cpp文件編譯成相應的exe或dll文件。既保持了MATLAB的優良算法,又保持了C++的高執行效率,MATCOM軟件平臺本身的功能相當強大,提供近千個MATLAB的基本功能函數,通過必要的設置,就可以直接實現與C++的混合編程,而不必再依賴MATLAB。

利用MATCOM調用工具箱中的函數與前兩種方法比較,它的轉換非常方便,生成的代碼可讀性很好,支持圖形函數,且代碼執行的速度比不轉換平均要快1.5倍以上;同時MATCOM不僅可轉換獨立的不依賴于其他M文件的M文件,還可轉換調用其它M文件的M文件嵌套,條件是這些M文件在同一個目錄下。

2 集成應用系統開發方法

下面以一個MATLAB對聲音文件的低通濾波程序為例,介紹通過MATCOM4.5實現VC++ 6.0對MATLAB程序的調用:

2.1 MATCOM對MATLAB源代碼的編譯

如上代碼所示,在調用Matrix之前要用”initM(MATCOM _VERSION);”函數來初始化類庫調用,相對應的調用結束用”exitM();”函數來結束類庫調用。initM(MATCOM_VERSION)函數中的參數MATCOM_VERSION是一個在在matlib.h中已定義的常量,它保證了動態鏈接庫與matlib.h相匹配,從而它可以多次調用。

3 小結

通過MATCOM的支持,采用MATLAB與Visual C++ 6.0集成應用混合編程可充分將MATLAB的高效數值計算和集科學計算、信號處理、神經網絡、圖象處理等于一體的高度集成系統特性和Visual C++程序執行速度快、實時性好的特點有效地結合,大大提高了系統的開發效率與運行效率。用MATCOM在Visual C++環境中直接進行這種集成調用,它比其他的調用方式使用簡單并且功能強大,可以很好地解決工程中遇到的許多問題,具有一定的實用和推廣價值。

【參考文獻】

[1]王剛,俞穎.VC++與MATLAB混合編程環境下語音增強算法實現[J].軟件導刊,2012(12):49-51.

[2]呂永林,字正華.基于VC 與MATLAB 的聲目標識別系統設計[J].計算機技術與發展,2009,19(9):207-210.

[3]劉寧,劉財,馮晅.基于MATCOM平臺的VC++與MATLAB混合編程地震正演模擬[J].世界地質,2011(4):655-659.

[4]劉維.精通MATLAB與C/C++混合程序設計[M].2版.北京:北京航空航天大學出版社,2008.

[5]袁林,巴力登.VC++調用MATLAB實現圖像處理[J].計算機技術與發展,200717(8):215-218.

[6]張德豐.MATLAB 與外部程序接口編程[M].北京:機械工業出版社,2009:292-294.

[7]易克初,田斌,付強.語音信號處理[M].北京:國防工業出版社,2000.

[8]Won-Gyum Kim, Jong Chan Lee and Won Don Lee. An audio watermarking scheme with hidden signatures. International Conference on Signal Processing, Beijing, 2000: 250-253.

[責任編輯:楊玉潔]

主站蜘蛛池模板: 亚洲精品无码不卡在线播放| 久久青青草原亚洲av无码| 久久性视频| 久久精品亚洲中文字幕乱码| 色老二精品视频在线观看| 亚洲天堂2014| 亚洲日韩图片专区第1页| 国产三区二区| 国产91麻豆免费观看| 国产成人精品日本亚洲77美色| 久无码久无码av无码| 午夜精品区| 九九久久精品免费观看| v天堂中文在线| 网久久综合| 福利小视频在线播放| 国产精品久久久久久影院| 久久香蕉国产线看精品| 国产区在线观看视频| 国产三级视频网站| 中文字幕亚洲综久久2021| 日日噜噜夜夜狠狠视频| 国产精品密蕾丝视频| 伊人久久久久久久久久| 国产丝袜精品| 免费无遮挡AV| 亚洲一道AV无码午夜福利| 无码精品国产VA在线观看DVD| 在线中文字幕网| 精品福利网| 国产99视频精品免费视频7| 日韩国产精品无码一区二区三区| 亚洲乱强伦| 国产无码精品在线| 国产精品丝袜在线| 成人午夜网址| 亚洲人成网7777777国产| 国产成人亚洲精品色欲AV| 亚洲人成网站18禁动漫无码| 麻豆精品在线| 成人精品视频一区二区在线| 制服丝袜亚洲| 中文字幕乱码中文乱码51精品| a在线亚洲男人的天堂试看| 男女猛烈无遮挡午夜视频| www.狠狠| 亚洲精品在线观看91| 亚洲无码电影| 成人免费视频一区| 九九热精品视频在线| 国产精品黄色片| 国内精品久久久久久久久久影视| 爆乳熟妇一区二区三区| 视频二区亚洲精品| 国产乱肥老妇精品视频| 99福利视频导航| 亚洲视频免费在线| 欧美笫一页| 国产一区二区三区视频| 91九色视频网| 亚洲AV成人一区二区三区AV| 狠狠干欧美| 亚洲午夜18| 亚洲天堂网2014| 国产在线第二页| 女高中生自慰污污网站| 免费在线播放毛片| 亚洲欧洲日本在线| 国产精品免费p区| 亚洲激情区| 欧美日韩国产在线观看一区二区三区| 亚洲综合色婷婷中文字幕| 国产另类视频| 欧美在线精品怡红院| аv天堂最新中文在线| 91综合色区亚洲熟妇p| 九九九精品成人免费视频7| jizz亚洲高清在线观看| 呦系列视频一区二区三区| 亚洲第一香蕉视频| 中文字幕不卡免费高清视频| 亚洲A∨无码精品午夜在线观看|