TOP
0
0
【簡體曬書節】 單本79折,5本7折,優惠只到5/31,點擊此處看更多!
精通MATLAB混合編程(附光碟)(簡體書)
滿額折

精通MATLAB混合編程(附光碟)(簡體書)

商品資訊

人民幣定價:59 元
定價
:NT$ 354 元
優惠價
87308
領券後再享88折起
海外經銷商無庫存,到貨日平均30天至45天
可得紅利積點:9 點
相關商品
作者簡介
名人/編輯推薦
目次
書摘/試閱

作者簡介

丁毓峰,博士,武漢理工大學副教授。中國機械工程學會高級會員。2008年—2009年加拿大多倫多大學機械系訪問學者。2001年—2003年在深圳市中興通訊股份有限公司任軟件工程師、系統工程師。研究領域主要集中在製造自動化和資訊化,長期使用MATLAB軟件系統進行教學和科研工作。近5年主持和參與了多項國家級、省級和市級科技項目。撰寫專著3部,獲得計算機版權登記5項,申請發明專利2項,發表論文60餘篇。成果先後獲得湖北省科學技術進步獎,武漢市科學技術進步獎和第11屆湖北省自然科學優秀學術論文獎。

名人/編輯推薦

《精通MATLAB混合編程》全面講解MATLAB與C++混合編程的主流技術提供近50個實例項目,介紹MATLAB與C++的7大混合編程應用配2個緊密結合工程實際的項目案例:工程開發實踐——齒輪優化設計系統;汽車仿真應用——汽車ABS系統仿真。書中並配套光盤,提供了每章實例的根源程式。《精通MATLAB混合編程》不僅適合高等學校理工類研究生或者高年級本科生作為學習Visual C++和MATLAB混合編程的教材,也可供從事MATLAB進行工程設計和仿真的技術人員參考使用。同時書中提供的大量實例也可供高級用戶參考。

目次

第1章 混合編程環境的搭建
1.1 MATLAB與C/C++混合編程的優點
1.1.1 MATLAB編程的優缺點
1.1.2 C/C++編程的優缺點
1.1.3 混合編程的優缺點
1.2 混合編程主要方法概述
1.2.1 Visual C++調用MATLAB引擎
1.2.2 基於數據檔交換的方法
1.2.3 基於COM技術的方法
1.2.4 使用MATCOM方法
1.2.5 基於ActiveX控制項的方法
1.2.6 使用MATLAB Add-in方法
1.3 Visual C++和MATLAB混合編程環境要求
1.4 Visual C++的安裝和配置
1.4.1 Visual C++6.0的安裝
1.4.2 Visual C++的配置
1.5 MATLAB的安裝和配置
1.5.1 MATLAB的安裝
1.5.2 MATLAB的配置
1.6 安裝和配置的常見問題
1.6.1 Visual C++的安裝和配置問題
1.6.2 MATLAB的安裝和配置問題
1.7 小結
第2章 Visual C++開發基礎
2.1 C++面向對象程式設計
2.1.1 面向對象語言和方法
2.1.2 類、對象和消息
2.2 C++異常處理機制
2.2.1 錯誤和異常
2.2.2 異常處理的機制和實現
2.2.3 Visual C++異常處理
2.3 Windows程式內部運行機制
2.3.1 API與SDK
2.3.2 窗口與控制碼
2.3.3 消息與消息隊列
2.4 動態鏈接庫基礎
2.4.1 DLL與進程的地址空間
2.4.2 DLL分類
2.4.3 創建DLL模塊
2.5 Visual C++程式編譯鏈接的原理與過程
2.5.1 程式設計編譯原理
2.5.2 Visual C++程式編譯鏈接過程
2.6 MFC框架程式
2.6.1 MFC AppWizard
2.6.2 基於MFC的程式框架剖析
2.7 ActiveX控件
2.7.1 概述
2.7.2 ActiveX控制項分類
2.7.3 ActiveX控制項應用
2.8 Visual C++程式的調試和優化
2.8.1 Visual C++程式調試方法和過程
2.8.2 Visual C++程式優化
2.9 小結
第3章 MATLAB編程基礎
3.1 MATLAB程式流程控制
3.1.1 順序結構
3.1.2 循環結構
3.1.3 選擇結構
3.1.4 分支語句
3.1.5 其他控制語句
3.2 函數控制碼
3.2.1 創建和查看函數控制碼
3.2.2 使用函數控制碼
3.3 變量的檢測和限權使用函數
3.3.1 輸入/輸出變量檢測指令
3.3.2 跨空間變量傳遞
3.3.3 子函數和私用函數
3.4 串(表達式)演算函數
3.4.1 eval
3.4.2 feval
3.5 MATLAB面向對象編程
3.5.1 MATLAB中的類
3.5.2 具有類屬性的數據
3.5.3 實現帶類方法的操作
3.6 MATLAB的數據類型
3.6.1 變量與常量
3.6.2 數字變量的運算及顯示格式
3.6.3 字串
3.7 M腳本檔和M函數檔
3.7.1 M檔的一般結構
3.7.2 M腳本檔
3.7.3 M函數檔
3.7.4 局部變量和全局變量
3.8 MATLAB程式的調試和優化
3.8.1 MATLAB程式調試方法和過程
3.8.2 MATLAB程式優化
3.9 小結
第4章 Visual C++調用
MATLAB Engine庫
4.1 MATLAB Engine概述
4.2 Visual C++使用MATLABEngine庫
4.2.1 設置Visual C++編譯環境
4.2.2 啟動/關閉引擎
4.2.3 向MATLAB發送命令
4.2.4 顯示或隱藏MATLAB窗口
4.3 MATLAB數據類型mxArray
4.3.1 創建mxArray類型數據
4.3.2 刪除mxArray類型數據
4.3.3 獲取mxArray數據大小
4.3.4 判斷 mxArray數組類型
4.3.5 操作mxArray數組數據
4.4 應用實例
4.5 小結
第5章 Visual C++調用MATLAB的C/C++數學函數庫
5.1 MATLAB C++數學庫概述
5.2 在Visual C++環境下調用MATLAB C++數學庫
5.2.1 設置靜態鏈接庫
5.2.2 設置C++選項卡中的選項
5.2.3 設置頭文件
5.3 mwArray陣列及系統函數的調用
5.3.1 操作矩陣
5.3.2 操作MATLAB mwArray陣列概述
5.3.3 創建MATLAB mwArray陣列的操作
5.3.4 數據陣列的操作
5.3.5 稀疏矩陣陣列的操作
5.3.6 字元型陣列的操作
5.3.7 單元陣列的操作
5.3.8 結構體陣列的操作
5.3.9 調用系統函數
5.4 應用實例
5.5 小結
第6章 基於數據檔交換的混和編程方法
6.1 MAT檔概述
6.1.1 MAT檔格式
6.1.2 讀取MAT檔load
6.1.3 寫MAT檔
6.2 Visual C++操作MAT時的環境設置
6.3 用C/C++語言操作MAT檔的API函數
6.3.1 讀寫MAT文件的API函數簡介
6.3.2 打開MAT文件
6.3.3 關閉MAT檔
6.3.4 獲得MAT檔中所有陣列的目錄
6.3.5 獲得MAT文件的C語言文件控制碼
6.3.6 從MAT文件中獲取一個陣列變量
6.3.7 將陣列變量內容寫入MAT文件
6.3.8 獲得MAT文件中下一個陣列的數據
6.3.9 從MAT文件中刪除一個陣列
6.3.10 將陣列內容寫入到MAT文件中
6.3.11 從MAT檔中讀取MATLAB陣列頭資訊
6.3.12 從MAT檔中讀取下一個MATLAB陣列頭資訊
6.4 應用實例
6.4.1 環境設置
6.4.2 在MATLAB中定義兩個變量
6.4.3 建立Visual C++工程
6.5 小結
第7章 基於COM技術的方法實現混合編程
7.1 COM技術概述
7.1.1 COM結構
7.1.2 COM組件的有關概念
7.1.3 COM特性
7.1.4 COM發展前景
7.2 COM技術介面
7.2.1 從API到COM介面
7.2.2 介面定義和標識
7.2.3 用C++語言定義介面
7.2.4 介面描述語言IDL
7.3 使用MATLAB COM編譯器生成COM組件
7.3.1 MATLAB COM編譯器用法
7.3.2 MATLAB COM編譯器產生的COM組件
7.4 在Visual C++中使用MATLAB的COM組件
7.4.1 以早期綁定方式調用COM組件
7.4.2 #import指令的使用
7.5 應用實例
7.5.1 創建MATLAB組件
7.5.2 創建Visual C++工程
7.5.3 完善代碼
7.6 小結
第8章 使用MATCOM工具的混合編程
8.1 安裝MATCOM
8.2 MATCOM的基礎及應用
8.2.1 使用MATCOM C++矩陣庫的矩陣類Mm
8.2.2 在Visual C++中使用MATCOM C++矩陣庫
8.2.3 MATCOM C++矩陣庫的圖形和圖像顯示
8.2.4 MATCOM用於圖形顯示的函數
8.2.5 MATCOM用於圖像顯示的函數
8.3 MIDEVA概述
8.4 Visual C++使用MIDEVA的環境設置
8.4.1 添加頭檔和添加庫檔
8.4.2 添加MIDEVA提供的插件
8.5 應用實例
8.6 小結
第9章 使用ActiveX技術的混合編程
9.1 ActiveX技術基礎
9.1.1 ActiveX的定義
9.1.2 ActiveX的內容
9.1.3 MATLAB支持的ActiveX技術
9.2 利用ActiveX自動控制器實現混合編程
9.2.1 ActiveX自動控制器
9.2.2 ActiveX相關函數
9.2.3 ActiveX對象的創建、事件處理與對象釋放
9.2.4 查詢和設置ActiveX對象的屬性
9.2.5 查詢及調用ActiveX組件的方法、事件
9.3 ActiveX自動化服務器
9.3.1 在客戶程式中執行MATLAB命令
9.3.2 與客戶程式進行數據交換
9.4 應用實例
9.4.1 利用ActiveX自動控制器實現混合編程
9.4.2 利用ActiveX的自動化服務器進行混合編程
9.4.3 利用MATLAB ActiveX引擎進行混合編程
9.5 小結
第10章 科學運算
10.1 科學運算概述
10.2 混合編程在科學運算的開發原則
10.2.1 Visual C++處理科學運算問題的優缺點
10.2.2 MATLAB處理科學運算的優缺點
10.2.3 混合編程在科學運算的開發原則
10.3 Visual C++和MATLAB在科學運算中的銜接方式
10.3.1 MATLAB與Visual C++混合編程實現方法
10.3.2 MATcom編譯器
10.4 線性方程組求解
10.4.1 MATLAB求解
10.4.2 Visual C++求解
10.4.3 Visual C++和MATLAB混合編程對線性方程組求解
10.5 編程方式不同的對比
10.6 小結
第11章 圖形圖像顯示
11.1 Visual C++和MATLAB圖形圖像處理混合編程原則
11.2 Visual C++的圖形圖像處理及介面設計
11.2.1 Visual C++的圖像處理方法
11.2.2 Visual C++圖形處理方法
11.2.3 Visual C++和MATLAB圖形圖像處理的介面設計
11.3 MATLAB圖像處理基礎
11.3.1 顯示圖像
11.3.2 查看內存中的圖像
11.3.3 圖像灰度分佈直方圖均衡化
11.3.4 圖像檔的保存
11.3.5 查看新生成檔的內容
11.4 圖像格式與MATLAB圖像類型
11.4.1 常用圖像格式
11.4.2 MATLAB圖像類型
11.4.3 MATLAB圖像類型轉換
11.5 MATLAB圖像顯示命令
11.5.1 MATLAB圖像的讀寫和顯示
11.5.2 二進制圖像的顯示方法
11.5.3 灰度圖像的顯示方法
11.5.4 索引圖像的顯示方法
11.5.5 RGB圖像的顯示方法
11.5.6 磁盤圖像的直接顯示
11.6 MATLAB圖形顯示命令
11.7 Visual C++和MATLAB圖形圖像處理應用實例
11.7.1 Visual C++中調用MATLAB函數畫圖
11.7.2 利用MATCOM繪制動態曲線
11.7.3 二維和三維曲線繪制綜合應用
11.8 小結
……
第12章 圖像識別
第13章 控制系統模型輸入和分析
第14章控制系統的設計仿真
第15章 信號頻譜分析
第16章 數據採集和分析
第17章 Visual C++和MATLAB開發齒輪優化設計系統
第18章 基於Visual C++和MATLAB的汽車ABS系統仿真
參考文獻

書摘/試閱



OOL將客觀事物描述成具有屬性和行為的對象,對象通過類來描述,通過抽象的方法來確定類對象的靜態屬性和動態行為。通過設計並定義類的介面使其可以與外界發生聯系。對象與對象之間通過發送和接收消息進行通信。這種機制使得程式的各個模塊之間的關系更為簡單,另外類的繼承與多態性等特性更有助於實現代碼重用,從而提高軟件開發效率。
2.1.2類、對象和消息
本節將介紹OOL的幾個重要概念,包括對象、類、封裝、繼承、消息等,不同類型的OOL都會涉及這些概念的全部或者部分。
1.對象(Object)
對像是指客觀世界中實際存在的事物,包括有形對象和無形對象。有形對像是指物理上存在的實體,例如,企業的生產車間、機床、刀具、計算機、設計手冊等;無形對像是指物理上不存在的對象,如計算機中的一個項目計劃、一個機床的總裝配圖紙等。通常使用靜態特徵和動態特徵來描述對象。
靜態特徵是使用數據對對象的特徵進行描述,如汽車的顏色、重量、車身的材料等;動態特徵是體現對象的行為或具有的功能,如汽車的剎車、自動導航的功能等。在實際編程語言的實現中,對象由類進行定義,類由一批屬性和對這批屬性進行操作的服務實現。
2.類(Class)
類是指具有相同屬性和服務的一組對象的集合。類為隸屬於該類的全部對象提供了抽象的描述,包括屬性和操作服務。也就是說,類是對象的抽象,而對像是類的具體實例。在編程語言中,對像是具體的,佔用存儲空間,而類是抽象的,不佔用內存。例如,如果將機床定義為一個基礎類,那麼屬於該類的CA6140車床就是一個具體的機床對象。
3.繼承性(Inheritance)
對象的核心包括繼承性(Inheritance)、封裝性(Encapsulation)和多態性(Polymorphism)等重要特性。繼承性用於基礎類和特殊類之間的關系描述。定義基礎類時,需要在基礎類中包括基本屬性和操作服務,特殊類的對象可以從基礎類獲取其全部基本屬性與操作服務。獲取的方式就是通過繼承實現。例如,若將機床定義為一個基礎類,那麼車床就可以定義為一個特殊類,即車床的很多基本屬性(顏色、重量、材料等)和操作服務(切削、換刀等)都可以從基礎類——機床通過繼承的方式獲得。繼承性便於軟件復用,可以有效地提高軟件開發效率。
4.封裝性(Encapsulation)
封裝性是指將對象的屬性和操作服務結合成一個獨立的對象特性。通過封裝性實現資訊隱蔽,即盡可能隱蔽對象的內部細節,只提供有限的介面,其他對象如果想訪問該對象,只需要通過相應介面調用其屬性和操作函數,而不需要瞭解其內部結構。例如,SolidWorks、Pro-E等三維軟件都提供了經過封裝的圖形操作類,用戶若想在SolidWorks、Pro-E等CAD(Computer Aided Design)系統上構建自己的繪圖系統,只需要調用相應類的屬性和API函數,就可以實現相應的功能,不需要具體瞭解類內部的函數是如何繪圖的細節。
5.多態性(Polymorphism)
多態性是指在基礎類中定義屬性或操作,特殊類繼承基礎類的屬性或操作後,可以存在不同的數據類型或表現出不同的操作結果。即同一屬性或操作結果在基礎類及其多個特殊類中具有不同的功能實現形式。例如,三維CAD系統中基礎類“三維幾何實體”中定義了一個操作函數“三維實體建模”,但並不確定構建一個什麼樣的三維實體。可以在“三維幾何實體”基礎類上定義多個特殊的類,如“圓柱體”、“正方體”、“圓錐體”等,它們繼承基礎類的所有屬性和操作函數,但其定義的功能演算法不同。當特殊類對象接到“建模”命令資訊時,不同對象執行不同的演算法,將構建不同的三維實體。
6.消息(Message)
消息是對象之間實現交互、發生聯系的重要方法。通過消息可以實現對象之間的通信。消息的實現機制為請求對象向服務對象發出服務請求,服務對象根據請求的情況進行信息處理和運算,處理結束後,將消息返回給請求對象。消息結構主要包含提供服務的對象標識、服務標識、輸入資訊和回答資訊等。通常通過調用函數來實現消息處理。
通過綜合利用以上提到的封裝性、繼承性、多態性等面向對象特性,編程人員可以編寫出比面向過程模型更健壯,更好地支持代碼重用,更具擴展性的程式。類層次結構是重用代碼的基礎;封裝性使得編程人員不必修改公有介面的代碼即可實現程式的移植:多態性能開發出簡潔、易懂、容易修改的代碼。通過使用面向對象的設計原則,編程人員可以把復雜程式的各個組件進行組合,構成一個可靠、易於維護和移植的軟件系統。

您曾經瀏覽過的商品

購物須知

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

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

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

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

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

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

暢銷榜

客服中心

收藏

會員專區