-- 會員 / 註冊 --  
 帳號:
 密碼:
  | 註冊 | 忘記密碼
3/26 新書到! 3/19 新書到! 3/14 新書到! 12/12 新書到!
購書流程Q & A站務留言版客服信箱
3ds MaxMayaRhinoAfter EffectsSketchUpZBrushPainterUnity
PhotoShopAutoCadMasterCamSolidWorksCreoUGRevitNuke
C#CC++Java遊戲程式Linux嵌入式PLCFPGAMatlab
駭客資料庫搜索引擎影像處理FluentVR+ARANSYS深度學習
單晶片AVROpenGLArduinoRaspberry Pi電路設計CadenceProtel
HadoopPythonStm32CortexLabview手機程式AndroidiPhone
可查書名,作者,ISBN,3dwoo書號
詳細書籍分類

精通MATLAB與CC++混合程序設計(第4版)

( 簡體 字)
作者:劉維 編著類別:1. -> 工程繪圖與工程計算 -> Matlab
譯者:
出版社:北京航空航天大學出版社精通MATLAB與CC++混合程序設計(第4版) 3dWoo書號: 42599
詢問書籍請說出此書號!

缺書
NT售價: 445

出版日:7/28/2015
頁數:
光碟數:0
站長推薦:
印刷:黑白印刷語系: ( 簡體 版 )
加入購物車 加到我的最愛
(請先登入會員)
ISBN:9787512416024
作者序 | 譯者序 | 前言 | 內容簡介 | 目錄 | 
(簡體書上所述之下載連結耗時費功, 恕不適用在台灣, 若讀者需要請自行嘗試, 恕不保證)
作者序:

譯者序:

前言:

內容簡介:

本書結合大量實例,系統全面地介紹了MATLAB與C/C++進行混合程序設計的方法和技巧。全書共分六部分22章。第一部分重點介紹MATLAB與C/C++混合程序設計基礎。第二部分重點介紹MATLAB中調用C/C++程序的方法。第三部分重點介紹MATLAB與C/C++語言之間的數據和函數接口。第四部分重點介紹MATLAB編譯器的工作原理、發展歷程和應用技巧等。第五部分重點介紹C/C++程序中調用MATLAB程序的方法。第六部分重點介紹與MATLAB關系密切的數學庫的使用方法。
本書涵蓋了MATLAB與C/C++混合程序設計的各個方面,內容由淺入深,并輔以大量實戰型的實例程序,可供大中專院校學生作為教材使用,也可供相關領域工程師與科學家參考。
目錄:

第一部分MATLAB與C/C++混合程式設計基礎

第1章MATLABM 語言程式設計基礎 ……… 3

1.1本章導讀 ………3

1.2MATLAB環境 …………3

1.2.1命令列窗口(CommandWindow)……… 4

1.2.2代碼編輯器(Editor) …………6

1.2.3工作空間視窗(Workspace) ………9

1.2.4歷史命令視窗(CommandHistory)…… 9

1.2.5歷史命令保存指令(diary) ………12

1.2.6使用 MATLAB環境的圖形介面完成操作……… 12

1.2.7MATLAB幫助 …………16

1.2.8代碼輸入提示………17

1.3MATLABM 語言基礎………18

1.3.1MATLAB指令檔(Script文件)…… 18

1.3.2MATLAB運算子與運算式 ………20

1.3.3MATLAB函數 …………24

1.3.4MATLABM 語言中的向量運算………26

1.3.5MATLAB的程式控制 ………32

1.3.6MATLAB程式異常處理 ……36

1.3.7物件導向的程式設計…………37

1.4MATLAB常用的資料類型 ………41

1.4.1數值陣列………42

1.4.2字元陣列………45

1.4.3邏輯陣列………46

1.4.4元組陣列………47

1.4.5結構體陣列…………50

1.4.6函數控制碼陣列………52

1.5MATLAB常用資料視覺化功能……… 54

1.5.1使用figure函數創建圖形視窗 ……… 54

1.5.2繪製曲線………55

1.5.3使用area函數繪製面積圖 ……… 61

1.5.4使用quiver或quiver3函數繪製向量圖 ……66

1.5.5顯示圖像資料………68

1.5.6顯示三維曲面資料………69

第2章C語言和C++語言程式設計基礎……71

2.1本章導讀………71

2.2編譯環境………71

2.3編輯器…………72

2.4注釋…………73

2.5檔包含(include) ………… 74

2.6定義和聲明…………74

2.7第一個C/C++語言程式 ………75

2.8編譯和運行…………77

2.9資料類型………78

2.9.1常量…………78

2.9.2變量…………78

2.9.3指針…………79

2.9.4記憶體的分配與釋放………82

2.9.5數組…………82

2.9.6字串…………84

2.9.7枚舉類型………86

2.9.8結構體…………87

2.10操作符 ………88

2.11程式結構 …………91

2.12類與對象 …………97

2.13函數範本和類範本…………104

2.14C++/CLI …………114

第3章MATLAB與C/C++語言對照 …… 117

3.1本章導讀 …………117

3.2MATLAB語言 ………117

3.3C語言 ………122

3.4C++語言 ………130

3.5MATLAB語言、C語言和C++語言實現矩陣操作的比較… 139

第4章動態連結程式庫基礎 ………142

4.1本章導讀 …………142

4.2為什麼使用動態連結程式庫 …………142

4.3C/C++語言實現動態連結程式庫……… 143

4.4C語言與C++語言動態連結程式庫的差異 ……… 147

4.5動態連結程式庫的調用方式 …………147

4.5.1隱式連結 …………147

4.5.2顯式連結 …………149

4.6在 MATLAB環境下創建動態連結程式庫 …… 152

第5章開發與調試環境說明…… 154

5.1本章導讀 …………154

5.2MATLAB環境 ………154

5.3MATLABCoder圖形介面 ……155

5.4MATLAB編譯器 …………155

5.5mex命令 …………156

5.6mbuild命令 ………158

5.7C/C++語言整合式開發環境…… 160

5.8Dependency工具 ………163

第二部分在MATLAB中調用C/C++程式

第6章MATLAB通過 MEX檔調用C/C++程式… 167

6.1本章導讀 …………167

6.2MEX文件 ……… 167

6.3MEX檔與 M 檔的關係 …… 168

6.4MEX檔實例 ………168

6.5MEX檔結構 ………170

6.6編譯 MEX檔 ……… 171

6.7採用C++語言創建 MEX檔 ……172

6.8在 MEX檔中實現圖形介面功能 ……… 173

6.9在 VisualC++中調試 MEX文件 ……… 179

6.9.1利用VisualC++6.0調試 MEX文件 ……… 179

6.9.2利用VisualC++2010調試 MEX檔……… 184

第7章MATLAB通過動態連結程式庫調用C/C++程式 …… 188

7.1本章導讀 …………188

7.2動態連結程式庫 ………188

7.3MATLAB動態連結程式庫的基本操作……… 189

7.3.1載入動態連結程式庫 ………189

7.3.2查看動態連結程式庫信息 ………190

7.3.3利用 mbuild生成動態連結程式庫…… 191

7.3.4調用動態連結程式庫中包含的函數 ………194

7.4MATLAB動態連結程式庫的操作函數……… 195

7.4.1loadlibrary ………195

7.4.2unloadlibrary …………197

7.4.3libfunctions………197

7.4.4libfunctionsview …………198

7.4.5libisloaded ………198

7.4.6calllib ………198

7.4.7libpointer…………199

7.4.8libstruct …………199

7.5MATLAB與動態連結程式庫的參數傳遞和轉換……… 200

7.5.1MATLAB與C/C++語言資料類型的對照關係… 200

7.5.2MATLAB與動態連結程式庫基本參數的直接傳遞…… 201

7.5.3利用libpointer傳遞指針參數 ……… 203

7.5.4傳遞 MATLAB陣列類型資料 ……… 208

7.5.5利用libstruct傳遞結構體參數 ……… 210

7.5.6傳遞枚舉類型參數 …………212

7.6實例1:調用協力廠商提供的動態連結程式庫完成檔讀取 …… 213

7.7實例2:用戶創建動態連結程式庫完成檔操作 …… 215

第8章MATLAB通過可執行程式調用C/C++程式 …… 221

8.1本章導讀 …………221

8.2在 MATLAB中執行外部程式 ……… 221

8.3實例1:通過外部程式返回檔資訊 ……… 222

8.4實例2:通過外部程式轉換檔案格式 ……… 227

第9章MATLAB通過ActiveX調用C/C++程式 …… 233

9.1本章導讀 …………233

9.2ActiveX簡介 …………233

9.3MATLAB調用ActiveX組件 ……… 234

9.4實例:調用ActiveX打開文件……239

第三部分MATLAB 與C/C++語言的資料和函數介面

第10章MATLAB與C/C++語言混合程式設計

常用的資料類型 …… 245

10.1本章導讀…………245

10.2size_t類型 ………245

10.3mwIndex,mwSignedIndex和 mwSize類型 ……… 245

10.4mxChar和 mxLogical類型 …… 246

10.5mxClassID類型………246

10.6mxComplexity類型 ………247

10.7mxArray類型 ………248

10.8特殊常量…………248

10.9mwArray類 …………250

10.9.1mwArray類的基本操作 ………251

10.9.2mwArray類操作的詳細說明……… 252

10.10mwString類…………258

第11章在C/C++語言中操作 MATLAB陣列的函數 … 260

11.1本章導讀…………260

11.2數值陣列操作函數…………260

11.2.1創建數值陣列………260

11.2.2數值陣列的資料操作………262

11.2.3標量資料的操作………264

11.3字串陣列操作函數………264

11.3.1創建字串陣列………264

11.3.2字串陣列轉換為C語言字串 ……… 266

11.3.3獲取字元陣列的資料………269

11.4邏輯型陣列操作函數………269

11.5疏鬆陣列操作函數…………270

11.5.1創建疏鬆陣列的操作函數………271

11.5.2疏鬆陣列索引的操作函數………271

11.6結構體操作函數………273

11.6.1創建結構體………273

11.6.2結構體域的操作………274

11.7元組陣列操作函數…………276

11.8類物件陣列屬性操作函數………278

11.9記憶體操作函數…………281

11.9.1記憶體分配操作函數…………281

11.9.2記憶體釋放操作函數…………282

11.9.3陣列複製操作函數…………283

11.9.4MATLAB記憶體操作函數與C語言記憶體操作函數對比… 283

11.10索引、維數和元素個數操作函數……285

11.10.1線性索引函數 …………285

11.10.2維數和元素個數操作函數 ………286

11.11MATLAB陣列驗證函數(Is函數) ……288

11.11.1判斷 MATLAB陣列類型 …… 288

11.11.2其他Is函數 …………290

11.12其他操作函數 ………291

第12章在C/C++語言中操作 MATLAB陣列的方法 … 293

12.1本章導讀…………293

12.2MATLAB普通數值陣列的操作…… 293

12.3稀疏陣列陣列(SparseArray)的操作 …… 295

12.4MATLAB字元陣列的操作 ……299

12.5MATLAB元組陣列的操作 ……300

12.6MATLAB結構體陣列的操作……… 302

12.7更改 MATLAB數值陣列的維數…… 305

12.8分析並顯示 MATLAB陣列的內容……… 309

第13章C/C++語言在 MEX程式中的專用介面函數…… 320

13.1本章導讀…………320

13.2工作區變數操作函數………320

13.3輸出警告和錯誤資訊函數………327

13.4調用 MATLAB函數和執行 MATLAB命令的函數……328

13.5操作 MEX檔函數 ……… 331

第14章在C/C++程式中操作 MATLABMAT檔 …… 335

14.1本章導讀…………335

14.2MAT檔概要介紹 ………335

14.3MAT檔案格式 ………336

14.4操作 MAT檔的 mat API函數 ………339

14.4.1MAT檔打開和關閉等操作函數……… 340

14.4.2迴圈獲取 MAT檔中的變數及其資訊……… 341

14.4.3獲取 MAT檔中的變數目錄和變數及其資訊…… 342

14.4.4將陣列寫入 MAT檔或刪除 MAT檔中的變數 …… 342

14.5MAT檔操作方法 ………343

14.5.1向 MAT檔中寫入 mxArray變數 ……343

14.5.2從 MAT檔中讀取 mxArray變數 ……348

14.5.3查看 MAT檔中的陣列變數清單……… 352

14.5.4遍歷 MAT檔中的所有陣列變數……… 354

第四部分MATLAB編譯器的工作原理、發展歷程和應用技巧

第15章MATLAB編譯器…… 359

15.1本章導讀…………359

15.2MATLAB編譯器的工作原理……… 359

15.3MATLAB編譯器的發展歷程……… 360

15.4使用 MATLAB編譯器的準備工作……… 362

15.5mcc編譯器的典型應用:獨立可執行檔 …… 363

15.5.1編譯過程…………363

15.5.2編譯過程詳細分析………366

15.5.3img.ctf文件 ………367

15.5.4img_main.c文件 …………368

15.5.5使用 m選項 …………373

15.6C語言動態連結程式庫…………374

15.6.1編譯過程…………374

15.6.2編譯過程詳細分析…………374

15.7C++語言動態連結程式庫 …………376

15.7.1編譯過程…………376

15.7.2編譯過程詳細分析…………376

15.8C語言與C++語言動態連結程式庫的差異 ……… 378

15.9調用MATLAB編譯器生成的C/C++語言動態連結程式庫時常用的介面函數…………379

15.10mcc命令選項、巨集及捆綁命令檔………381

15.10.1mcc常用命令選項 ………381

15.10.2mcc巨集選項 …………383

15.10.3捆綁命令文件(bundlefile) ……384

15.11MATLAB編譯器應用中的常見問題……… 385

15.11.1編譯Script檔 ………385

15.11.2MATLAB編譯器關聯分析失效的情況…… 385

15.11.3在C/C++程式中調用MATLAB內置函數(builtGinfunction) 388

15.11.4可變參數傳遞(varargin,varargout)………388

15.11.5在 MATLAB環境下執行與通過 MCR執行時的差異 …… 390

15.11.6獲取CTF檔的目錄…… 391

15.11.7螢幕列印和錯誤資訊顯示函數 ………391

15.12MATLAB配置工具(DeploymentTool)…… 396

15.12.1DeploymentTool工具簡介 ………396

15.12.2利用 MATLAB配置工具編譯獨立可執行檔 … 397

15.13程式發佈 ………399

15.13.1MCR版本 …………399

15.13.2安裝 MCR ………… 399

15.13.3獨立可執行檔發佈需要附加的檔 ……400

15.13.4動態連結程式庫發佈需要附加的檔 ……400

第五部分在C/C++程式中調用MATLAB程式

第16章生成可獨立運行的MATLAB程式 ……403

16.1本章導讀…………403

16.2MATLAB環境下編譯獨立可執行檔……… 403

16.2.1直接編譯 M 檔 …………403

16.2.2在 MATLABM 檔中調用C/C++函數 … 404

16.2.3在C/C++語言中調用由 MATLAB.m檔生成的函數 …… 407

16.3VisualC++環境下編譯獨立可執行檔…… 413

16.3.1趣味彈球 MATLABM 程式 ……… 414

16.3.2去除控制台窗口………418

16.3.3去除控制台視窗的另一種方法………426

16.3.4將輸出改到 Windows窗口上 ……… 433

第17章C/C++程式通過引擎和動態連結程式庫調用MATLAB程式 ……… 447

17.1本章導讀…………447

17.2在C++程式中調用 MATLAB引擎 ……447

17.2.1API函數介紹…………447

17.2.2VisualC++調用 MATLAB引擎的實例 …… 448

17.3VisualC++中調用 MATLABM 函數編譯後的動態連結程式庫…… 458

第18章C/C++程式通過COM 元件調用MATLAB程式

………… 471

18.1本章導讀…………471

18.2COM 基礎知識 ………471

18.2.1COM 組件 ………471

18.2.2物件和介面………472

18.2.3COM 在 Windows平臺下的實現方式 ……… 473

18.3在 VisualC++中調用COM 組件 ……… 475

18.3.1COM 組件與 HRESULT類型 …… 475

18.3.2COM 元件與字串 ………476

18.3.3CLSID和ProgID的相互轉換 ……… 476

18.3.4AddRef(),Release(),QueryInterface()介面函數……476

18.3.5在VisualC++中調用COM 元件的步驟 …… 477

18.4MATLAB編譯COM 組件的基礎知識 ……… 479

18.4.1配置 MATLABC/C++語言編譯器 ……479

18.4.2使用 MATLAB的DeploymentTool工具……479

18.4.3實現COM 元件的方法 …… 480

18.4.4實現COM 元件的屬性 …… 481

18.4.5編譯COM 組件 ……… 481

18.5C/C++程式調用由DeploymentTool生成的元件 …… 482

18.6MATLABCOM 元件與C/C++程式之間的資料轉換 …… 489

18.6.1VARIANT資料類型 ……489

18.6.2COleVariant和_variant_t類 ………491

18.6.3SAFEARRAY資料類型 ………492

18.6.4SAFEARRAY的創建函數 ……493

18.6.5MATLAB資料類型的VARIANT類型表示 …… 494

18.6.6VARIANT變數與 MATLAB陣列的轉換規則 … 495

18.6.7陣列格式標誌(arrayformattingflags)………498

18.6.8資料轉換標誌(dataconversionflags) ………498



18.7MATLABCOM 工具庫 ………500

18.7.1簡介………500

18.7.2MWUtil類………500

18.7.3MWFlags類 …………501

18.7.4MWStruct類…………502

18.7.5MWField類 ………… 505

18.7.6MWComplex類………506

18.7.7MWSparse類…………506

18.7.8MWArg類………507

18.7.9MATLABMWComUtil的枚舉類型 ……507

18.8安裝和發佈 MATLABCOM 組件 ……… 509

18.9綜合實例…………510

18.9.1實例1:資料轉換及陣列格式標誌的使用 … 510

18.9.2實例2:採用 MWUtil處理varargin輸入和varargout輸出 …… 514

18.9.3實例3:MWStruct和 MWField的操作實例 … 519

18.9.4實例4:MWComplex操作實例 ……528

18.9.5實例5:MWSParse操作實例 ………532

第19章C/C++程式通過.NET 配件調用MATLAB程式…… 536

19.1本章導讀…………536

19.2將 MATLAB程式編譯為.NET配件 ……536

19.3在 VisualC++2010中調用.NET配件 ……537

19.4VisualC++與 MATLAB之間的資料轉換…… 539

19.5使用 MWNumericArray運算元值陣列 ……… 540

19.5.1數值陣列的類型………540

19.5.2C++索引與 MATLAB陣列索引 ……… 541

19.5.3實型陣列和複型陣列………541

19.5.4創建標量………542

19.5.5創建向量…………543

19.5.6創建矩陣…………545

19.5.7創建任意維數的數值陣列……547

19.6使用 MWCharArray操作字元陣列……… 549

19.7使用 MWLogicalArray操作邏輯陣列 ……… 551

19.8使用 MWStructArray操作結構體陣列 ……… 552

19.9使用 MWCellArray操作元組陣列 ……… 553

第20章將 MATLABM 程式轉換為C/C++程式…… 555

20.1本章導讀…………555

20.2MATLABCoder的功能 ………555

20.3MATLABCoder對 MATLABM 語言代碼的約束 …… 556

20.4第一個實例………557

20.4.1實例說明…………557

20.4.2基本原理…………558

20.4.3代碼實現…………559

20.4.4實例執行結果…………567

20.4.5生成C/C++代碼 ………569

20.5MATLABCoder圖形介面 ……569

20.6codegen命令 …………571

20.7MATLABCoder的典型應用 ………573

20.7.1將 MATLABM 程式轉換為C/C++代碼 … 573

20.7.2將 MATLABM 程式轉換為 MEX檔………575

20.7.3將 MATLABM 程式編譯為可執行檔 …… 575

20.7.4將 MATLABM 程式編譯為動態連結程式庫 …… 576

20.8用 MATLABCoder轉換後的C/C++代碼中的資料類型…576

20.8.1變數類型定義………577

20.8.2強制類型轉換…………577

20.8.3基本類型定義………578

20.8.4複數類型…………580

20.8.5固定長度變數與可變長度變數………582

20.8.6結構體類型………587

第六部分與MATLAB相關的數學庫

第21章C/C++程式調用Matcom矩陣庫 … 593

21.1本章導讀…………593

21.2Matcom與 MATLAB ………… 593

21.3安裝 Matcom ………… 593

21.4在 VisualC++中使用 MatcomC++矩陣庫 …… 595

21.5使用 MatcomC++矩陣庫的矩陣類 Mm …… 601

21.5.1創建數值矩陣…………601

21.5.2創建字元矩陣…………602

21.5.3利用下標訪問矩陣的元素………603

21.5.4獲取矩陣資料的指標………603

21.5.5Mm矩陣對象的初始化……604

21.5.6Mm矩陣類的幾個常用函數……605

21.5.7MatcomC++矩陣庫常量 ……607

21.5.8調用系統函數…………607

21.6Matcom矩陣庫的圖形和圖像顯示功能……… 609

21.7Matcom用於圖形顯示的常用函數……… 610

21.8Matcom 用於圖像顯示的常用函數……… 611

21.9Matcom 的應用實例 ………612

21.9.1實例1:Matcom Mm矩陣類的創建及使用 …612

21.9.2實例2:圖形繪製的基本功能演示 ………616

21.9.3實例3:利用 Matcom 繪製動態曲線 ……621

21.9.4實例4:利用 Matcom 進行圖像顯示 ………633

21.9.5實例5:Matcom 二維和三維曲線繪製綜合應用 … 646

第22章C/C++程式調用 MATLABC++數學庫 … 660

22.1本章導讀…………660

22.2MATLABC++數學庫 ………660

22.3在 VisualC++工程中調用 MATLABC++數學庫 … 660

22.4MATLABC++數學庫的使用 ……663

22.5輸入和輸出 MATLAB陣列…… 663

22.5.1直接輸出到螢幕…………663

22.5.2MATLABmwArray陣列資料的輸入和輸出的其他方式… 664

22.6操作 MATLABmwArray陣列 …… 668

22.6.1創建 MATLABmwArray陣列的操作 ……… 668

22.6.2採用 MATLABC++數學庫操作疏鬆陣列 …671

22.6.3MATLABC++數學庫對字元陣列的操作… 676

22.6.4MATLABC++數學庫對元組陣列的操作… 679

22.6.5MATLABC++數學庫對結構體陣列的操作…… 682

22.6.6訪問 mwArray類中的資料 …… 684

22.6.7MATLABC++數學庫對 MATLAB陣列操作常用的小技巧 … 687

22.6.8調用系統函數……691

參考文獻
序: