TOP
英國出版界指標大獎肯定!A.F. Steadman 獲年度作家,《史坎德》系列帶你踏上熱血奇幻旅程
精通MATLAB與C/C++混合程序設計(第4版)(簡體書)
滿額折

精通MATLAB與C/C++混合程序設計(第4版)(簡體書)

商品資訊

人民幣定價:89 元
定價
:NT$ 534 元
優惠價
87465
海外經銷商無庫存,到貨日平均30天至45天
下單可得紅利積點 :13 點
商品簡介
目次

商品簡介

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

目次

部分 與C/C++混合程序設計基礎 第1章 MATLABM 語言程序設計基礎 …………………………… 3 1.1 本章導讀 ………………………………………………………………………3 1.2 環境 ………………………………………………………………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.7 幫助 …………………………………………………………16 1.2.8 代碼輸入提示……………………………………………………………17 1.3 語言基礎………………………………………………………18 1.3.1 腳本文件(Script文件)…………………………………… 18 1.3.2 運算符與表達式 ……………………………………………20 1.3.3 函數 …………………………………………………………24 1.3.4 語言中的向量運算………………………………………26 1.3.5 的程序控制 …………………………………………………32 1.3.6 程序異常處理 ………………………………………………36 1.3.7 面向對象的程序設計……………………………………………………37 1.4 常用的數據類型 …………………………………………………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.5 常用數據可視化功能…………………………………………… 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.14 ++………………………………………………………………114 第3章 MATLAB與C/C++語言對照 ………………………… 117 3.1 本章導讀 ……………………………………………………………………117 3.2 語言 ……………………………………………………………117 3.3 語言 ………………………………………………………………………122 3.4 ++語言 …………………………………………………………………130 3.5 語言、語言和C++語言實現矩陣操作的比較…………… 139 第4章 動態鏈接庫基礎 …………………………………………………142 4.1 本章導讀 ……………………………………………………………………142 4.2 為什么使用動態鏈接庫 ……………………………………………………142 4.3 ++語言實現動態鏈接庫…………………………………………… 143 4.4 語言與C++語言動態鏈接庫的差異 ………………………………… 147 4.5 動態鏈接庫的調用方式 ……………………………………………………147 4.5.1 隱式鏈接 ………………………………………………………………147 4.5.2 顯式鏈接 ………………………………………………………………149 4.6 在 MATLAB環境下創建動態鏈接庫 …………………………………… 152 第5章 開發與調試環境說明………………………………………… 154 5.1 本章導讀 ……………………………………………………………………154 5.2 環境 ……………………………………………………………154 5.3 圖形界面 ………………………………………………155 5.4 編譯器 …………………………………………………………155 5.5 命令 ……………………………………………………………………156 5.6 命令 …………………………………………………………………158 5.7 ++語言集成開發環境……………………………………………… 160 5.8 工具 ……………………………………………………………163 第二部分 在MATLAB中調用C/C++程序 第6章 MATLAB通過 MEX文件調用C/C++程序……… 167 6.1 本章導讀 ……………………………………………………………………167 6.2 文件 ………………………………………………………………… 167 6.3 文件與 M 文件的關系 ……………………………………………… 168 6.4 文件實例 ……………………………………………………………168 6.5 文件結構 ……………………………………………………………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.3 動態鏈接庫的基本操作……………………………………… 189 7.3.1 加載動態鏈接庫 ………………………………………………………189 7.3.2 查看動態鏈接庫信息 …………………………………………………190 7.3.3 利用 mbuild生成動態鏈接庫………………………………………… 191 7.3.4 調用動態鏈接庫中包含的函數 ………………………………………194 7.4 動態鏈接庫的操作函數……………………………………… 195 7.4.1 ……………………………………………………………195 7.4.2 …………………………………………………………197 7.4.3 ……………………………………………………………197 7.4.4 ……………………………………………………198 7.4.5 ……………………………………………………………198 7.4.6 …………………………………………………………………198 7.4.7 ………………………………………………………………199 7.4.8 ………………………………………………………………199 7.5 與動態鏈接庫的參數傳遞和轉換…………………………… 200 7.5.1 與C/C++語言數據類型的對照關系………………… 200 7.5.2 與動態鏈接庫基本參數的直接傳遞…………………… 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.2 簡介 ………………………………………………………………233 9.3 調用ActiveX組件 …………………………………………… 234 9.4 實例:調用ActiveX打開文件………………………………………………239 第三部分 與C/C++語言的數據和函數接口 第10章 MATLAB與C/C++語言混合編程 常用的數據類型 ……………………………………………… 245 10.1 本章導讀……………………………………………………………………245 10.2 類型 …………………………………………………………………245 10.3 和 mwSize類型 …………………………… 245 10.4 和 mxLogical類型 ……………………………………………… 246 10.5 類型……………………………………………………………246 10.6 類型 ………………………………………………………247 10.7 類型 ……………………………………………………………248 10.8 特殊常量……………………………………………………………………248 10.9 類 ………………………………………………………………250 10.9.1 類的基本操作 ……………………………………………251 10.9.2 類操作的詳細說明……………………………………… 252 10.10 類………………………………………………………………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.4 內存操作函數與C語言內存操作函數對比…………… 283 11.10 索引、維數和元素個數操作函數…………………………………………285 11.10.1 線性索引函數 ……………………………………………………285 11.10.2 維數和元素個數操作函數 ………………………………………286 11.11 陣列驗證函數(Is函數) ……………………………………288 11.11.1 判斷 MATLAB陣列類型 ………………………………………… 288 11.11.2 其他Is函數 …………………………………………………………290 11.12 其他操作函數 ……………………………………………………………291 第12章 在C/C++語言中操作 MATLAB陣列的方法 … 293 12.1 本章導讀……………………………………………………………………293 12.2 普通數值陣列的操作………………………………………… 293 12.3 稀疏數組陣列(SparseArray)的操作 …………………………………… 295 12.4 字符陣列的操作 ………………………………………………299 12.5 元組陣列的操作 ………………………………………………300 12.6 結構體陣列的操作…………………………………………… 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.2 文件概要介紹 ………………………………………………………335 14.3 文件格式 ……………………………………………………………336 14.4 操作 MAT文件的 mat API函數 ………………………………………339 14.4.1 文件打開和關閉等操作函數………………………………… 340 14.4.2 循環獲取 MAT文件中的變量及其信息…………………………… 341 14.4.4 將陣列寫入 MAT文件或刪除 MAT文件中的變量 ……………… 342 14.5 文件操作方法 ………………………………………………………343 14.5.1 向 MAT文件中寫入 mxArray變量 ………………………………343 14.5.2 從 MAT文件中讀取 mxArray變量 ………………………………348 14.5.3 查看 MAT文件中的陣列變量列表………………………………… 352 14.5.4 遍歷 MAT文件中的所有陣列變量………………………………… 354 第四部分 編譯器的工作原理、發展歷程和應用技巧 第15章 MATLAB編譯器……………………………………………… 359 15.1 本章導讀……………………………………………………………………359 15.2 編譯器的工作原理…………………………………………… 359 15.3 編譯器的發展歷程…………………………………………… 360 15.4 使用 MATLAB編譯器的準備工作……………………………………… 362 15.5 編譯器的典型應用:獨立可執行文件 ……………………………… 363 15.5.1 編譯過程………………………………………………………………363 15.5.2 編譯過程詳細分析…………………………………………………366 15.5.3 .文件 ………………………………………………………367 15.5.4 _main.文件 ……………………………………………………368 15.5.5 使用 m選項 …………………………………………………………373 15.6 語言動態鏈接庫…………………………………………………………374 15.6.1 編譯過程………………………………………………………………374 15.6.2 編譯過程詳細分析……………………………………………………374 15.7 ++語言動態鏈接庫 ……………………………………………………376 15.7.1 編譯過程………………………………………………………………376 15.7.2 編譯過程詳細分析……………………………………………………376 15.8 語言與C++語言動態鏈接庫的差異 ………………………………… 378 15.9 調用MATLAB編譯器生成的C/C++語言動態鏈接庫時常用的接口函數……………………………………………………………………379 15.10 命令選項、宏及捆綁命令文件………………………………………381 15.10.1 常用命令選項 …………………………………………………381 15.10.2 宏選項 …………………………………………………………383 15.10.3 捆綁命令文件(bundlefile) ……………………………………384 15.11 編譯器應用中的常見問題………………………………… 385 15.11.1 編譯Script文件 …………………………………………………385 15.11.2 編譯器關聯分析失效的情況………………………… 385 15.11.3 在C/C++程序中調用MATLAB內置函數(builtG) 388 15.11.4 可變參數傳遞(varargin,varargout)……………………………388 15.11.5 在 MATLAB環境下執行與通過 MCR執行時的差異 ………… 390 15.11.7 屏幕打印和錯誤信息顯示函數 …………………………………391 15.12 配置工具(DeploymentTool)……………………………… 396 15.12.1 工具簡介 ………………………………………396 15.12.2 利用 MATLAB配置工具編譯獨立可執行文件 ………………… 397 15.13 程序發布 …………………………………………………………………399 15.13.1 版本 …………………………………………………………399 15.13.2 安裝 MCR ………………………………………………………… 399 15.13.3 獨立可執行文件發布需要附加的文件 …………………………400 15.13.4 動態鏈接庫發布需要附加的文件 ………………………………400 第五部分 在C/C++程序中調用MATLAB程序 第16章 生成可獨立運行的MATLAB程序 ……………………403 16.1 本章導讀……………………………………………………………………403 16.2 環境下編譯獨立可執行文件………………………………… 403 16.2.1 直接編譯 M 文件 ……………………………………………………403 16.2.2 在 MATLABM 文件中調用C/C++函數 ……………………… 404 16.2.3 在C/C++語言中調用由 MATLAB.文件生成的函數 …… 407 16.3 ++環境下編譯獨立可執行文件……………………………… 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.1 函數介紹…………………………………………………………447 17.2.2 ++調用 MATLAB引擎的實例 ………………………… 448 17.3 ++中調用 MATLABM 函數編譯后的動態鏈接庫………… 458 第18章 C/C++程序通過 組件調用MATLAB程序 ………………………………………………………………………… 471 18.1 本章導讀……………………………………………………………………471 18.2 基礎知識 ……………………………………………………………471 18.2.1 組件 ……………………………………………………………471 18.2.2 對象和接口……………………………………………………………472 18.2.3 在 Windows平臺下的實現方式 …………………………… 473 18.3 在 VisualC++中調用 組件 ……………………………………… 475 18.3.1 組件與 HRESULT類型 …………………………………… 475 18.3.2 組件與字符串 …………………………………………………476 18.3.3 和ProgID的相互轉換 ……………………………………… 476 18.3.4 (),Release(),QueryInterface()接口函數………………476 18.3.5 在VisualC++中調用 組件的步驟 ………………………… 477 18.4 編譯 組件的基礎知識 ………………………………… 479 18.4.1 配置 MATLABC/C++語言編譯器 ………………………………479 18.4.2 使用 MATLAB的DeploymentTool工具…………………………479 18.4.3 實現 組件的方法 ……………………………………………… 480 18.4.4 實現 組件的屬性 ……………………………………………… 481 18.4.5 編譯 組件 ……………………………………………………… 481 18.5 ++程序調用由DeploymentTool生成的組件 …………………… 482 18.6 組件與C/C++程序之間的數據轉換 ……………… 489 18.6.1 數據類型 ………………………………………………489 18.6.2 和_variant_t類 ………………………………………491 18.6.3 數據類型 ……………………………………………492 18.6.4 的創建函數 …………………………………………493 18.6.5 數據類型的VARIANT類型表示 …………………… 494 18.6.6 變量與 MATLAB陣列的轉換規則 ………………… 495 18.6.7 陣列格式標志(arrayformattingflags)……………………………498 18.6.8 數據轉換標志(dataconversionflags) ……………………………498 18.7 工具庫 …………………………………………………500 18.7.1 簡 介…………………………………………………………………500 18.7.2 類……………………………………………………………500 18.7.3 類 …………………………………………………………501 18.7.4 類…………………………………………………………502 18.7.5 類 …………………………………………………………505 18.7.6 類………………………………………………………506 18.7.7 類…………………………………………………………506 18.7.8 類……………………………………………………………507 18.7.9 的枚舉類型 ………………………………507 18.8 安裝和發布 MATLAB 組件 ……………………………………… 509 18.9 綜合實例……………………………………………………………………510 18.9.1 實例1:數據轉換及數組格式標志的使用 ……………………… 510 18.9.2 實例2:采用 MWUtil處理varargin輸入和varargout輸出 …… 514

購物須知

大陸出版品因裝訂品質及貨運條件與台灣出版品落差甚大,除封面破損、內頁脫落等較嚴重的狀態,其餘商品將正常出貨。

特別提醒:部分書籍附贈之內容(如音頻mp3或影片dvd等)已無實體光碟提供,需以QR CODE 連結至當地網站註冊“並通過驗證程序”,方可下載使用。

無現貨庫存之簡體書,將向海外調貨:
海外有庫存之書籍,等候約45個工作天;
海外無庫存之書籍,平均作業時間約60個工作天,然不保證確定可調到貨,尚請見諒。

為了保護您的權益,「三民網路書店」提供會員七日商品鑑賞期(收到商品為起始日)。

若要辦理退貨,請在商品鑑賞期內寄回,且商品必須是全新狀態與完整包裝(商品、附件、發票、隨貨贈品等)否則恕不接受退貨。

優惠價:87 465
海外經銷商無庫存,到貨日平均30天至45天

暢銷榜

客服中心

收藏

會員專區