數(shù)據(jù)結(jié)構(gòu)歷年考研真題詳解與解析 中文pdf完整版
860KB / 03-31
自用C++學習筆記(附2024面經(jīng)) 中文完整版PDF
2.95MB / 03-13
C++基礎與提高(王桂林) 第四版 中文pdf完整版
3.5MB / 01-23
C語言深度進階篇 v3 中文pdf完整版
18.4MB / 01-22
零基礎入門C語言(全) 王桂林 中文pdf完整版
4.7MB / 01-21
C語言程序設計第4版何欽銘 課后習題及答案+課件 中文pdf完整版
4.7MB / 01-06
C++編程MFC基礎教程 中文完整版PDF
28.3MB / 01-06
Qt5.10 GUI完全參考手冊 中文完整版PDF
9.50MB / 12-16
C++標準庫參考(STL) 完整版PDF
27.9MB / 11-05
C++編程學習與實踐案例 中文完整版PDF
1.55MB / 09-24
-
-
自用C++學習筆記(附2024面經(jīng)) 中文完整版PDF C/C++ / 2.95MB
-
C++基礎與提高(王桂林) 第四版 中文pdf完整版 C/C++ / 3.5MB
-
C語言深度進階篇 v3 中文pdf完整版 C/C++ / 18.4MB
-
零基礎入門C語言(全) 王桂林 中文pdf完整版 C/C++ / 4.7MB
-
-
C++編程MFC基礎教程 中文完整版PDF C/C++ / 28.3MB
-
Qt5.10 GUI完全參考手冊 中文完整版PDF C/C++ / 9.50MB
-
C++標準庫參考(STL) 完整版PDF C/C++ / 27.9MB
-
C++編程學習與實踐案例 中文完整版PDF C/C++ / 1.55MB
詳情介紹
Matlab程序在MCR環(huán)境下與在Matlab環(huán)境下執(zhí)行的效率相同,因此,通過編譯Matlab程序不會提高Matlab程序的效率。
MCR的啟動時間與Matlab程序的啟動時間相同,在混合程序設計中應考慮這一點。
在C/C++程序中無論采用哪種調(diào)用方式調(diào)用Matlab程序,最終結(jié)果都是由MCR執(zhí)行Matlab程序。
由于Matlab編譯器只生成Matlab接口文件,而MCR接口一般會采用兼容設計,因此,與Matlab 6.5及以前版本的軟件相比,用戶開發(fā)C/C++混合程序設計的復雜度降低,可繼承性提高。
由于采用MCR執(zhí)行Matlab程序而不是將Matlab程序編譯為C/C++程序,Matlab函數(shù)和工具箱中可編譯的部分大大增加,為用戶開發(fā)混合編程提供了方便。
正是存在這些諸多不同,原有的C/C++與Matlab混合程序設計的具體實現(xiàn)方法需要進行修正。為此,筆者對《精通Matlab與C/C++混合程序設計》第1版中的內(nèi)容進行了相應增刪或修正,形成了本書的內(nèi)容。
所謂“萬變不離其宗”,雖然Matlab編譯器的架構(gòu)發(fā)生了很大的變化,但Matlab與C/C++混合程序設計還是繼承了原有思路。讀者在應用中可根據(jù)自己的需求選擇Matlab調(diào)用C/C++程序(MEX文件)、將Matlab程序編譯為獨立可執(zhí)行文件、C/C++程序調(diào)用Matlab引擎、C /C++程序調(diào)用Matlab程序編譯后的動態(tài)鏈接庫以及C/C++程序調(diào)用Matlab程序編譯后的COM組件等方式進行。
Matlab調(diào)用C/C++程序通過將其編譯為MEX文件來實現(xiàn),Matlab提供了一組C語言API函數(shù)供用戶調(diào)用。這組API函數(shù)是Matlab與用戶C程序之間的橋梁。通過調(diào)用C/C++程序編譯的MEX文件,用戶可以將Matlab程序中運算效率不高的代碼用C/C++來實現(xiàn),從而提高計算效率。
C/C++調(diào)用Matlab程序用戶可以選擇調(diào)用Matlab程序編譯后的動態(tài)鏈接庫或Matlab程序編譯后的COM組件,這兩種調(diào)用方法的執(zhí)行效率是相同的。動態(tài)鏈接庫方式實現(xiàn)起來比較簡單,COM組件方式實現(xiàn)起來較復雜。除此之外,C/C++可以通過Matlab引擎直接執(zhí)行Matlab程序,但這種方式不能脫離Matlab環(huán)境執(zhí)行。
另外,書中還介紹了另外兩種Matlab與C/C++混合程序設計的方法:Matcom C/C++數(shù)學庫和Matlab C++數(shù)學庫。其中,Matcom是第一個可以將Matlab *.m文件編譯為C/C++代碼的編譯器。Matcom可以直接將m文件編譯為C/C++代碼,但只支持Matlab 5.3版?,F(xiàn)在一般情況下沒有必要使用Matcom編譯Matlab程序,但Matcom的C++矩陣庫仍然有一定的使用價值。Matlab C++數(shù)學庫是Matlab提供的一組封裝好的矩陣運算數(shù)學庫,其使用方法和Matlab環(huán)境中的編寫方法十分類似。如果用戶用Visual C++實現(xiàn)用戶界面,而又希望尋找一組高效的矩陣運算數(shù)學庫的話,那么Matlab C++數(shù)學庫是一個不錯的選擇。
Matlab與C/C++混合程序設計方法各有千秋,具體應用還要結(jié)合開發(fā)者的具體情況進行選擇。但無論使用哪種方法,Matlab的數(shù)據(jù)結(jié)構(gòu)與C /C++的數(shù)據(jù)結(jié)構(gòu)之間的相互訪問和轉(zhuǎn)換都是混合編程的關鍵,這也是本書重點所在,希望讀者在閱讀和開發(fā)過程中引起注意。
本書所有的源代碼均可在附帶的光盤中找到。第7章“Matcom與C/C++”的開發(fā)和編譯環(huán)境為Visual C++ 6.0與Matcom 4.5.1;第8章“VC++調(diào)用Matlab C++數(shù)學庫”的開發(fā)和編譯環(huán)境為Visual C++ 6.0與 Matlab 6.5.1;其他各章的開發(fā)和編譯環(huán)境為Visual C++ 6.0與Matlab 2007。
在本書的編寫過程中有幸得到很多同志的支持和幫助,在此感謝所有為本書的完成提供過幫助的同事和朋友。感謝網(wǎng)絡上提供Matlab與C/C++混合程序設計資料的網(wǎng)友們,在學習Matlab與C/C++混合程序設計的過程中,這些資料使我受益匪淺。感謝我的妻子齊春溪女士,在她的大力支持和協(xié)助之下此書方得以順利編寫完成。
目錄
第1章 Matlab程序設計初步1
1.1 Matlab程序設計特點1
1.1.1 Matlab Script文件1
1.1.2 Matlab表達式2
1.1.3 Matlab函數(shù)4
1.1.4 Matlab的向量運算6
1.1.5 Matlab的程序控制9
1.2 Matlab常用的數(shù)據(jù)類型12
1.2.1 數(shù)值陣列13
1.2.2 字符陣列15
1.2.3 元組陣列16
1.2.4 結(jié)構(gòu)體陣列18
第2章 Matlab編譯器21
2.1 Matlab編譯器技術(shù)概述21
2.2 Matlab編譯器的功能22
2.3 使用Matlab編譯器的準備工作23
2.4 mcc編譯器典型應用24
2.4.1 獨立可執(zhí)行文件24
2.4.2 C動態(tài)鏈接庫30
2.4.3 C++動態(tài)鏈接庫32
2.4.4 C/C++動態(tài)鏈接庫的不同之處33
2.5 進一步了解mcc命令34
2.5.1 mcc常用命令選項34
2.5.2 捆綁命令文件(bundle file)35
2.6 Matlab編譯器高級應用35
2.6.1 編譯script文件35
2.6.2 Matlab編譯器關聯(lián)分析失效的情況36
2.6.3 從C/C++中調(diào)用Matlab內(nèi)置函數(shù)(built?in function)38
2.6.4 可變參數(shù)傳遞(varargin,varargout)38
2.6.5 Matlab環(huán)境下執(zhí)行和MCR執(zhí)行的不同之處39
2.6.6 獲取CTF文件的目錄40
2.6.7 屏幕打印和錯誤信息顯示函數(shù)41
2.7 Deployment Tool45
2.8 程序發(fā)布47
第3章 Matlab與C語言的接口48
3.1 Matlab C/C++編譯器的設置(mex)48
3.2 Matlab中調(diào)用C程序?MEX文件49
3.2.1 MEX文件介紹49
3.2.2 MEX文件結(jié)構(gòu)說明50
3.3 編譯MEX文件51
3.4 Matlab中mxArray類型的操作51
3.5 Matlab與C語言混合編程常用的數(shù)據(jù)類型51
3.5.1 size_t類型51
3.5.2 Matlab C語言接口數(shù)據(jù)類型52
3.6 操作Matlab陣列mxArray的mx函數(shù)54
3.7 Matlab mex函數(shù)77
3.8 Matlab普通數(shù)值陣列的操作87
3.9 稀疏數(shù)組陣列(Sparse Array)89
3.10 Matlab元組92
3.11 Matlab結(jié)構(gòu)體陣列94
3.12 Matlab字符陣列97
3.13 Matlab mat API函數(shù)98
3.14 Matlab API函數(shù)操作的實例105
3.14.1 更改Matlab數(shù)值陣列的維數(shù)105
3.14.2 分析并顯示Matlab陣列的內(nèi)容108
3.14.3 向MAT文件中寫入mxArray變量118
3.14.4 從MAT文件中讀取mxArray變量121
3.14.5 通訊錄(結(jié)構(gòu)體和MAT文件)125
3.15 在Visual C++中調(diào)試MEX文件131
第4章 生成可獨立運行的Matlab程序138
4.1 直接編譯M文件138
4.2 Matlab M文件中調(diào)用C函數(shù)138
4.3 在C語言中調(diào)用由Matlab?.m文件生成的函數(shù)141
4.4 利用Visual C++編譯M文件并去掉控制臺窗口145
第5章 Visual C++調(diào)用Matlab程序177
5.1 在Visual C++中調(diào)用Matlab引擎177
5.1.1 API函數(shù)介紹177
5.1.2 Visual C++調(diào)用Matlab引擎的實例178
5.2 Visual C++中調(diào)用Matlab?.m函數(shù)編譯后的動態(tài)鏈接庫186
第6章 Matlab Dotnet Builder與Visual C++198
6.1 COM基礎知識198
6.1.1 COM組件概述198
6.1.2 COM組件開發(fā)的基礎知識199
6.2 DotnetBuilder基礎知識204
6.2.1 配置Matlab C/C++編譯器204
6.2.2 使用Matlab DotnetBuilder204
6.3 Visual C調(diào)用DotnetBuilder生成的組件207
6.4 Matlab Dotnet Builder與Visual C++之間的數(shù)據(jù)轉(zhuǎn)換218
6.4.1 VARIANT數(shù)據(jù)類型218
6.4.2 SAFEARRAY 數(shù)據(jù)類型220
6.4.3 SAFEARRAY的創(chuàng)建函數(shù)221
6.4.4 Matlab Dotnet Builder與Visual C++數(shù)據(jù)轉(zhuǎn)換222
6.5 Matlab COM 工具庫227
6.5.1 簡介227
6.5.2 工具庫的類(utility library classes)227
6.5.3 Matlab Dotnet Builder的枚舉類型233
6.5.4 安裝和發(fā)布控件234
6.6 綜合實例235
6.6.1 實例1數(shù)據(jù)轉(zhuǎn)換及數(shù)組格式標志的使用235
6.6.2 實例2采用MWUtil處理varargin輸入和varargout輸出238
6.6.3 實例3MWStruct和MWField操作實例241
6.6.4 實例4MWComplex操作實例250
6.6.5 實例5MWSParse操作實例253
第7章 Matcom與C/C++257
7.1 安裝Matcom257
7.2 在VC++中使用Matcom C++矩陣庫259
7.3 使用Matcom C++矩陣庫的矩陣類Mm264
7.3.1 創(chuàng)建數(shù)值矩陣264
7.3.2 創(chuàng)建字符矩陣265
7.3.3 利用下標訪問矩陣的元素265
7.3.4 獲取矩陣數(shù)據(jù)的指針266
7.3.5 Mm矩陣對象的初始化267
7.3.6 Mm矩陣類的幾個常用函數(shù)267
7.3.7 Matcom C++矩陣庫常量269
7.3.8 調(diào)用系統(tǒng)函數(shù)270
7.4 Matcom C++矩陣庫的圖形和圖像顯示功能271
7.5 Matcom用于圖形顯示的常用函數(shù)273
7.6 Matcom進行圖像顯示的常用函數(shù)273
7.7 Matcom的應用實例274
7.7.1 實例1Mm矩陣的創(chuàng)建及使用274
7.7.2 實例2圖形繪制的基本功能演示278
7.7.3 實例3利用Matcom繪制動態(tài)曲線282
7.7.4 實例4利用Matcom C++矩陣庫進行圖像顯示293
7.7.5 實例5Matcom二維和三維曲線繪制綜合應用303
第8章 Visual C++調(diào)用Matlab C++數(shù)學庫316
8.1 Matlab C++ 數(shù)學庫介紹316
8.2 在Visual C++工程中調(diào)用Matlab C++數(shù)學庫316
8.3 Matlab C++數(shù)學庫的使用318
8.3.1 輸入和輸出矩陣318
8.3.2 操作Matlab mwArray陣列322
8.3.3 調(diào)用系統(tǒng)函數(shù)341
附錄 動態(tài)鏈接庫基礎知識344
A.1 為什么使用動態(tài)鏈接庫?344
A.2 C/C++語言實現(xiàn)動態(tài)鏈接庫345
A.3 C/C++語言動態(tài)鏈接庫的不同348
A.4 動態(tài)鏈接庫的調(diào)用方式348
A.4.1 隱式鏈接348
A.4.2 顯式鏈接350
下載地址
人氣書籍
Objective-C基礎教程 中文 PDF 清晰版 [31M]
C程序設計(第四版)+學習輔導 pdf版打包 譚浩強主編
C++ Primer Plus (第五版) 中文PDF清晰掃描版(57M)
Linux C編程實戰(zhàn) 中文 PDF版 [65.2M]
數(shù)據(jù)結(jié)構(gòu)(C語言版) 第2版 (嚴蔚敏等) 高清pdf完整版[38MB]
數(shù)據(jù)結(jié)構(gòu)基礎(C語言版)(第2版)中文 PDF清晰版(35.4M)
Lua程序設計 Programming in Lua 中文 PDF 高清版
數(shù)據(jù)結(jié)構(gòu)C語言版(嚴蔚敏) 高清版 PDF格式
C語言經(jīng)典編程282例 (明日科技) 高清PDF掃描版 161M
C++ GUI Qt 4編程(第二版) PDF掃描版
下載聲明
☉ 解壓密碼:www.dbjr.com.cn 就是本站主域名,希望大家看清楚,[ 分享碼的獲取方法 ]可以參考這篇文章
☉ 推薦使用 [ 迅雷 ] 下載,使用 [ WinRAR v5 ] 以上版本解壓本站軟件。
☉ 如果這個軟件總是不能下載的請在評論中留言,我們會盡快修復,謝謝!
☉ 下載本站資源,如果服務器暫不能下載請過一段時間重試!或者多試試幾個下載地址
☉ 如果遇到什么問題,請評論留言,我們定會解決問題,謝謝大家支持!
☉ 本站提供的一些商業(yè)軟件是供學習研究之用,如用于商業(yè)用途,請購買正版。
☉ 本站提供的精通Matlab與C/C++混合程序設計(第2版) pdf版資源來源互聯(lián)網(wǎng),版權(quán)歸該下載資源的合法擁有者所有。