MATLAB智能算法/科學與工程計算技術叢書

MATLAB智能算法/科學與工程計算技術叢書 pdf epub mobi txt 电子书 下载 2025

溫正,孫華剋 著
圖書標籤:
  • MATLAB
  • 智能算法
  • 科學計算
  • 工程計算
  • 優化算法
  • 數值分析
  • 機器學習
  • 仿真
  • 建模
  • 算法實現
想要找书就要到 求知書站
立刻按 ctrl+D收藏本页
你会得到大惊喜!!
出版社: 清华大学出版社
ISBN:9787302467748
版次:1
商品编码:12149057
包装:平装
开本:16开
出版时间:2017-07-01
用纸:胶版纸
页数:480
字数:756000
正文语种:中文

具体描述

産品特色

內容簡介

  

  本書以新推齣的MATLAB 2016a軟件為基礎,詳細介紹瞭各種智能算法的原理及其MATLAB在智能算法中的應用,是一種MATLAB智能算法設計的綜閤性參考書。

  全書以智能算法原理及MATLAB應用為主綫,結閤各種應用實例,詳細講解瞭智能算法的MATLAB實現。全書分為兩部共13章,第一部分首先從人工智能概述開始,詳細介紹瞭神經網絡算法、粒子群算法、遺傳算法、模糊邏輯控製、免疫算法、蟻群算法、小波分析算法及其MATLAB的實現方式等內容; 第二部分詳細介紹瞭智能算法的工程中的應用問題,包括模糊神經網絡在工程中的應用、遺傳算法在圖像處理中的應用、神經網絡在參數估計中的應用、基於智能算法的PID控製和智能算法的綜閤應用等。

  本書以工程應用為目標,內容深入淺齣,講解循序漸進,既可以作為高等院校理工科相關專業研究生、本科生的教材,也可作為廣大科研工程技術人員的參考用書。


  

作者簡介

  作者簡介

  溫正 北京航空航天大學博士後,現就職於航天某院所,精通MATLAB、ANSYS、Fluent等工程仿真計算軟件。在國內外期刊發錶論文多篇,其中被EI檢索3篇。申請並獲得授權專利多項,曾獲得國防科學技術成果奬等奬項,曾編寫多本暢銷計算機圖書。


目錄

目錄

第一部分專 題 介 紹

第1章人工智能概述

1.1人工智能的基本概念

1.1.1智能的概念

1.1.2人工智能的概念

1.1.3人工智能的研究目標

1.1.4人工智能的研究方法

1.2人工智能的特徵

1.3人工智能的應用

1.3.1機器思維

1.3.2機器感知

1.3.3機器行為

1.3.4機器學習

1.3.5機器計算

1.3.6分布式人工智能

1.3.7機器係統

1.3.8典型應用

1.4本章小結


第2章神經網絡算法及其MATLAB實現

2.1神經網絡基礎

2.1.1人工神經網絡的發展

2.1.2人工神經網絡研究內容

2.1.3人工神經網絡研究方嚮

2.1.4人工神經網絡發展趨勢

2.2神經網絡的結構及學習

2.2.1神經網絡結構

2.2.2神經網絡學習

2.2.3MATLAB在神經網絡中的應用

2.3MATLAB神經網絡工具箱

2.3.1神經網絡工具箱函數

2.3.2神經網絡工具箱的圖形用戶界麵

2.3.3神經網絡的MATLAB實現

2.4Simulink神經網絡控製工具箱

2.4.1神經網絡模型預測控製

2.4.2反饋綫性化控製

2.4.3模型參考控製

2.5本章小結


第3章粒子群算法及其MATLAB實現

3.1粒子群算法基礎

3.1.1粒子群算法的發展

3.1.2粒子群算法研究內容

3.1.3粒子群算法的特點

3.1.4粒子群算法的應用

3.2基本粒子群算法

3.2.1基本原理

3.2.2算法構成要素

3.2.3算法參數設置

3.2.4算法的基本流程

3.2.5算法的MATLAB實現

3.3MATLAB粒子群工具箱

3.4權重改進的粒子群算法

3.4.1自適應權重法

3.4.2隨機權重法

3.4.3綫性遞減權重法

3.5混閤粒子群算法

3.5.1基於雜交的算法

3.5.2基於自然選擇的算法

3.5.3基於免疫的粒子群算法

3.5.4基於模擬退火的算法

3.6本章小結


第4章遺傳算法及其MATLAB實現

4.1遺傳算法的基本概念

4.1.1算法的基本運算

4.1.2遺傳算法的特點

4.1.3遺傳算法中的術語

4.1.4遺傳算法的發展現狀

4.1.5遺傳算法的應用領域

4.2遺傳算法的原理

4.2.1算法運算過程

4.2.2算法編碼

4.2.3適應度及初始群體選取

4.3遺傳算法程序設計及其MATLAB工具箱

4.3.1程序設計

4.3.2算法參數設計原則

4.3.3適應度函數的調整

4.3.4算法MATLAB工具箱及其應用

4.3.5遺傳算法的GUI實現

4.4遺傳算法的典型應用

4.4.1利用遺傳算法求解函數極值

4.4.2遺傳算法在TSP中的應用

4.4.3遺傳算法的求解優化

4.5本章小結


第5章模糊邏輯控製及其MATLAB實現

5.1模糊邏輯控製基礎

5.1.1模糊邏輯控製的基本概念

5.1.2模糊邏輯控製原理

5.1.3模糊邏輯控製器設計的內容

5.1.4模糊邏輯控製規則設計

5.1.5模糊邏輯控製係統的應用領域

5.2模糊邏輯控製工具箱

5.2.1模糊邏輯控製工具箱的功能特點

5.2.2模糊係統的基本類型

5.2.3模糊邏輯控製係統的構成

5.2.4模糊推理係統的建立、修改與存儲管理

5.2.5模糊語言變量及其語言值

5.2.6模糊語言變量的隸屬度函數

5.2.7模糊規則的建立與修改

5.2.8模糊推理計算與去模糊化

5.3模糊邏輯控製工具箱的圖形界麵工具

5.3.1FIS編輯器

5.3.2隸屬度函數編輯器

5.3.3模糊規則編輯器

5.3.4模糊規則瀏覽器

5.3.5模糊推理輸入輸齣麯麵視圖

5.4模糊邏輯控製的經典應用

5.4.1基於Simulink的模糊邏輯控製應用

5.4.2基於模糊邏輯控製的路徑規劃應用

5.5本章小結


第6章免疫算法及其MATLAB實現

6.1免疫算法的基本概念

6.1.1生物免疫係統

6.1.2免疫算法基本原理

6.1.3免疫算法步驟和流程

6.1.4免疫係統模型和免疫算法

6.1.5免疫算法特點

6.1.6免疫算法的發展趨勢

6.2免疫遺傳算法

6.2.1免疫遺傳算法步驟和流程

6.2.2基於MATLAB實現免疫遺傳算法

6.3免疫算法的MATLAB應用

6.3.1免疫算法在剋隆選擇中的應用

6.3.2免疫算法在最短路徑規劃問題中的應用

6.3.3免疫算法在TSP中的應用

6.3.4免疫算法在故障檢測中的應用

6.4本章小結


第7章蟻群算法及其MATLAB實現

7.1蟻群算法概述

7.1.1蟻群算法起源

7.1.2蟻群算法的基本原理

7.1.3自適應蟻群算法的介紹

7.1.4蟻群算法實現的重要規則

7.1.5蟻群算法的特點

7.1.6蟻群優化算法的應用

7.2蟻群算法的MATLAB實現

7.3蟻群算法在MATLAB中的應用

7.3.1蟻群算法在路徑規劃中的應用

7.3.2蟻群算法在解決TSP中的應用

7.4本章小結


第8章小波分析算法及其MATLAB實現

8.1傅裏葉變換到小波分析

8.1.1傅裏葉變換

8.1.2小波分析

8.2Mallat算法

8.2.1Mallat算法原理

8.2.2常用小波函數介紹

8.2.3Mallat算法示例

8.3小波GUI簡介

8.4小波分析用例

8.4.1信號壓縮

8.4.2信號去噪

8.4.3分離信號的不同成分

8.5小波變換在圖像處理中的應用

8.5.1小波變換用於圖像壓縮

8.5.2小波在圖像邊緣檢測的應用

8.5.3小波變換在圖像增強方麵的應用

8.6本章小結

第二部分綜閤實例應用

第9章模糊神經網絡在工程中的應用

9.1模糊神經網絡

9.1.1模糊神經網絡概述

9.1.2模糊係統與神經網絡的區彆與聯係

9.1.3典型模糊神經網絡結構

9.1.4自適應模糊神經推理係統

9.2模糊神經網絡建模方法

9.3模糊神經網絡在工程中的應用

9.3.1模糊神經網絡在解耦控製中的應用

9.3.2模糊神經網絡在函數逼近中的應用

9.4本章小結


第10章遺傳算法在圖像處理中的應用

10.1圖像分割的基礎知識

10.1.1圖像分割的概念

10.1.2圖像分割的理論

10.1.3灰度門限法簡介

10.1.4基於最大類間方差圖像分割原理

10.2遺傳算法實現圖像分割

10.2.1利用遺傳算法實現圖像分割的原理

10.2.2算法的實現

10.3遺傳算法在圖像處理中的應用

10.3.1基於遺傳算法的道路圖像閾值分割

10.3.2基於遺傳神經網絡的圖像分割

10.3.3應用遺傳算法和KSW熵法實現灰度圖像閾值分割

10.4本章小結


第11章神經網絡在參數估計中的應用

11.1參數估計的基本知識

11.1.1參數估計的概念

11.1.2點估計與區間估計

11.1.3樣本容量

11.2幾種通用神經網絡MATLAB代碼

11.3神經網絡在參數估計中的應用

11.3.1神經網絡在人臉識彆中的應用

11.3.2灰色神經網絡在數據預測中的應用

11.3.3BP神經網絡在數據預測中的應用

11.3.4概率神經網絡在分類預測中的應用

11.4本章小結


第12章基於智能算法的PID控製器設計

12.1PID控製器的理論基礎

12.2智能算法在PID控製器設計中的應用

12.2.1神經網絡在PID控製器設計中的應用

12.2.2模糊控製在PID控製器設計中的應用

12.2.3遺傳算法在PID控製器設計中的應用

12.3本章小結


第13章智能算法綜閤應用

13.1模糊神經網絡控製在MATLAB中的應用

13.2基於遺傳算法的MP算法的應用

13.3本章小結


參考文獻


精彩書摘

  第3章粒子群算法及其MATLAB實現

  粒子群算法,也稱粒子群優化算法(particleswarmoptimization,PSO),是近年來發展起來的一種新的進化算法(evolutionaryalgorithm,EA)。

  這種算法以其實現容易、精度高、收斂快等優點引起瞭學術界的重視,並且在解決實際問題中展示瞭其優越性。粒子群算法是一種並行算法。

  本章主要講解瞭粒子群算法的原理及其在MATLAB上的運用。

  學習目標:

  ■瞭解粒子群算法的發展。

  ■掌握粒子群算法的基本原理。

  ■熟悉MATLAB粒子群算法工具箱。

  ■掌握MATLAB在粒子群算法中的運用。

  3.1粒子群算法基礎

  PSO算法屬於進化算法的一種,和模擬退火算法相似,它也是從隨機解齣發,通過迭代尋找最優解,它也是通過適應度來評價解的品質,但它比遺傳算法規則更為簡單,它沒有遺傳算法的“交叉”和“變異”操作,它通過追隨當前搜索到的最優值來尋找全局最優。

  3.1.1粒子群算法的發展

  1995年美國電氣工程師Eberhart和社會心理學傢Kenndy基於鳥群覓食行為提齣瞭粒子群優化算法(PSO),簡稱粒子群算法。由於該算法概念簡明、實現方便、收斂速度快、參數設置少,是一種高效的搜索算法。

  PSO是模擬鳥群隨機搜尋食物的捕食行為。假設在搜索食物區域裏隻有一塊食物,所有的小鳥都不知道食物在什麼地方,所以Kenndy等認為鳥之間存在著互相交換信息,通過估計自身的適應度值,它們知道當前的位置離食物還有多遠,所以搜索目前離食物最近的鳥的周圍區域是找到食物的最簡單有效的辦法,通過鳥之間的集體協作使群體達到最優。

  PSO就是從這種模型中得到啓示並用於解決優化問題。在PSO中每個優化問題的潛在解都可以想象成搜索空間中的一隻鳥,稱之為“粒子”。粒子主要追隨當前的最優粒子在解空間中搜索,PSO初始化為一群隨機粒子(隨機解),然後通過迭代找到最優解。

  在每一次迭代中,粒子通過跟蹤兩個“極值”來更新自己,第一個就是粒子本身所找到的最優解,這個解稱為個體極值pbest,另一個極值是整個種群目前找到的最優解,這個極值是全局極值gbest。

  這兩個最優變量使得鳥在某種程度上朝著這些方嚮靠近,此外也可以不用整個種群而隻用其中一部分作為粒子的鄰居,那麼所有鄰居的極值就是局部極值,粒子始終跟隨這兩個極值變更自己的位置和速度,直到找到最優解。

  到目前為止,粒子群算法的發展得到越來越多的眾多領域學者的關注和研究,成為解決許多問題的熱點算法的研究重點。

  其中對PSO算法的改進也非常多,有增強算法自適應性的改進、增強收斂性的改進、增加多種群多樣性的改進、增強局部搜索的改進、與全局優化算法相結閤、與確定性的局部優化算法相融閤等。

  以上所述的是對於算法改進的目的的討論,實際改進中應用的方法有基於參數的改進,即對PSO算法的迭代公式的形式上做改進;還有從粒子的行為模式進行改進,即粒子之間的信息交流方式,如拓撲結構的改進、全局模式與局部模式相結閤的改進等;還有基於算法融閤的粒子群算法的改進,算法融閤可以引入其他算法的優點來彌補PSO算法的缺點,設計齣更適閤問題求解的優化算法。

  目前,粒子群算法的發展趨勢如下。

  (1)粒子群優化算法的改進。粒子群優化算法在解決空間函數的優化問題和單目標優化問題上應用得比較多,如何應用於離散空間優化問題和多目標優化問題將是粒子群優化算法的主要研究方嚮。如何充分結閤其他進化類算法,發揮優勢,改進粒子群優化算法的不足也是值得研究的。

  (2)粒子群優化算法的理論分析。粒子群優化算法提齣的時間不長,數學分析很不成熟和係統,存在許多不完善和未涉及的問題,對算法運行行為、收斂性、計算復雜性的分析比較少。如何知道參數的選擇和設計,如何設計適應值函數,如何提高算法在解空間搜索的效率算法收斂以及對算法模型本身的研究都需要在理論上進行更深入的研究。這些都是粒子群優化算法的研究方嚮之一。

  (3)粒子群算法的生物學基礎。如何根據群體進行行為完善算法,將群體智能引入算法中,藉鑒生物群體進化規則和進化的智能性也是學者關注的問題。

  (4)粒子群優化算法與其他進化類算法的比較研究。與其他進化算法的融閤,如何將其他進化算法的優點和粒子群優化算法相結閤,構造齣有特色有實用價值的混閤算法是當前算法改進的一個重要方嚮。

  (5)粒子群優化算法的應用。算法的有效性必須在應用中纔能體現,廣泛地開拓粒子群優化算法的應用領域,也對深入研究粒子群優化算法非常有意義。

  3.1.2粒子群算法研究內容

  粒子群算法是一個非常簡單的算法,且能夠有效地優化各種函數。從某種程度上說,此算法介於遺傳算法和進化規劃之間。

  此算法非常依賴於隨機的過程,這也是和進化規劃的相識之處,算法中朝全局最優和局部最優靠近的調整非常類似於遺傳算法中的交叉算子。

  粒子群算法的主要研究內容如下。

  (1)尋找全局最優點。

  (2)有較高的收斂速度。

  算法還是用瞭適應值的概念,這是所有進化計算方法所共有的特徵。

  3.1.3粒子群算法的特點

  粒子群算法的本質是一種隨機搜索算法,它是一種新興的智能優化技術,是群體智能中一個新的分支,它也是對簡單社會係統的模擬。

  該算法能以較大的概率收斂於全局最優解。實踐證明,它適閤在動態、多目標優化環境中尋優,與傳統的優化算法相比較具有更快的計算速度和更好的全局搜索能力。

  其具體特點如下:

  (1)粒子群優化算法是基於群體智能理論的優化算法,通過群體中粒子間的閤作與競爭産生的群體智能指導優化搜索。與進化算法比較,PSO是一種更為高效的並行搜索算法。

  (2)PSO與GA有很多共同之處,兩者都是隨機初始化種群,使用適應值來評價個體的優劣程度和進行一定的隨機搜索。但PSO是根據自己的速度來決定搜索,沒有GA的明顯交叉和變異。與進化算法比較,PSO保留瞭基於種群的全局搜索策略,但是其采用的速度�參灰頗P筒僮骷虻ィ�避免瞭復雜的遺傳操作。

  (3)由於每個粒子在算法結束時仍然保持著其個體極值。因此,若將PSO用於調度和決策問題時可以給齣多種有意義的選擇方案。而基本遺傳算法在結束時,隻能得到最後一代個體的信息,前麵迭代的信息沒有保留。

  (4)PSO特有的記憶使其可以動態地跟蹤當前的搜索情況並調整其搜索策略。

  (5)PSO有良好的機製來有效地平衡搜索過程的多樣性和方嚮性。

  (6)在收斂的情況下,由於所有的粒子都嚮最優解的方嚮飛去,所以粒子趨嚮同一化(失去瞭多樣性)使得後期收斂速度明顯變慢,以緻算法收斂到一定精度時無法繼續優化。因此很多學者都緻力於提高PSO算法的性能。

  (7)PSO算法對種群大小不十分敏感,即種群數目下降時性能下降不是很大。

  3.1.4粒子群算法的應用

  粒子群算法提供瞭一種求解復雜係統優化問題的通用框架,它不依賴於問題的具體領域,對問題的種類有很強的適應性,所以廣泛應用於很多學科。粒子群算法的一些主要應用領域如下。

  (1)約束優化。隨著問題的增多,約束優化問題的搜索空間也急劇變換,有時在目前的計算機上用枚舉法很難或甚至不可能求齣其精確最優解。粒子群算法是解決這類問題的最佳工具之一。實踐證明,粒子群算法對於約束優化中的規劃,離散空間組閤問題的求解非常有效。

  (2)函數優化。是粒子群算法的經典應用領域,也是對粒子群算法進行性能評價的常用算例。

  (3)機器人智能控製。機器人是一類復雜的難以精確建模的人工係統,而粒子群算法可用於此類機器人群搜索,如機器人的控製與協調,移動機器人路徑規劃。所以機器人智能控製理所當然地成為粒子群算法的一個重要應用領域。

  (4)電力係統領域。在其領域中有種類多樣的問題,根據目標函數特性和約束類型許多與優化相關的問題需要求解。PSO在電力係統方麵的應用如配電網擴展規劃、檢修計劃、機組組閤等。隨著粒子群優化理論研究的深入,它還將在電力市場競價交易等其他領域發揮巨大的應用潛在力。

  (5)工程設計問題。在許多情況下所建立起來的數學模型難以精確求解,即使經過一些簡化之後可以進行求解,也會因簡化得太多而使得求解結果與實際相差甚遠。現在粒子群算法已成為解決復雜調度問題的有效工具,在電路及濾波器設計、神經網絡訓練、控製器設計與優化、任務分配等方麵粒子群算法都得到瞭有效的應用。

  (6)生物醫學領域。許多菌體的生長模型即為非綫性模型提齣瞭用粒子群算法解決非綫性模型的參數估計問題。還在分子力場的參數設定和蛋白質圖形的發現。根據粒子群算法提齣的自適應多峰生物測定融閤算法,提高瞭解決問題的準確性。在醫學方麵,如醫學成像上得到的推廣應用等。

  (7)通信領域。包括路由選擇及移動通信基站布置優化,在順序碼分多址連接方式(DS�睠DMA)通信係統中使用粒子群算法,可獲得可移植的有力算法並提供並行處理能力。比傳統先前的算法有瞭顯著的優越性,還可以應用到天綫陣列控製和偏振模色散補償等方麵。

  (8)交通運輸領域。在物流配送供應領域中要求以最少的車輛數、最小的車輛總行程來完成貨物的派送任務;在交通控製控製領域,城市交通問題是睏擾城市發展、製約城市經濟建設的重要因素。

  3.2基本粒子群算法

  PSO算法是起源對簡單社會係統的模擬,具有很好的生物社會背景而易理解、參數少而易實現,對非綫性、多峰問題均具有較強的全局搜索能力,在科學研究與工程實踐中得到瞭廣泛關注。同時,PSO是一種很好的優化工具。

  3.2.1基本原理

  PSO從這種模型中得到啓示並用於解決優化問題。PSO中,每個優化問題的潛在解都是搜索空間中的一隻鳥,稱之為粒子。所有的粒子都有一個由被優化的函數決定的適值(fitnessvalue),每個粒子還有一個速度決定它們“飛行”的方嚮和距離。然後粒子就追隨當前的最優粒子在解空間中搜索。

  粒子位置的更新方式如圖3��1所示。

  圖3��1每代粒子位置的更新方式

  ……


前言/序言

  前言

  美國MathWorks公司的MATLAB軟件是一款用於算法開發、數據可視化、數據分析以及數值計算的高級技術計算語言和交互式環境,主要包括MATLAB和Simulink兩大部分。這款軟件和Mathematica、Maple並稱為三大數學軟件。它在數學類科技應用軟件中首屈一指。MATLAB的基本數據單位是矩陣,它的指令錶達式與數學、工程中常用的形式十分相似,故用MATLAB來實現智能算法設計要比用C、FORTRAN等語言更為方便。

  在人工智能研究領域,智能算法是其重要的一個分支。目前智能計算正在蓬勃發展,研究人工智能的領域十分活躍。雖然智能算法研究水平暫時還很難使“智能機器”真正具備人類的智能,但是人工腦是人腦和生物腦的結閤,這種結閤將使人工智能的研究更廣、更深。

  智能計算不斷地在探索智能的新概念、新理論、新方法和新技術,這些研究成果將給人類世界帶來巨大的改變。本書將詳細介紹應用MATLAB2016a進行智能算法的設計及應用方法。

  1.本書特點

  (1)由淺入深,循序漸進。本書以初、中讀者為對象,首先從人工智能概述的基礎講起,再以各種智能算法原理及其在MATLAB中的應用案例幫助讀者盡快掌握神經網絡設計的技能。

  (2)步驟詳盡、內容新穎。本書結閤作者多年的MATLAB智能算法使用經驗與實際工程應用案例,將智能算法的原理及其MATLAB的實現方法與技巧詳細地講解給讀者。本書在講解過程中步驟詳盡、內容新穎,講解過程輔以相應的圖片,使讀者在閱讀時一目瞭然,從而快速把握書中所講內容。

  (3)實例典型,輕鬆易學。通過學習實際工程應用案例的具體操作是掌握神經網絡設計最好的方式。本書通過綜閤應用案例,透徹詳盡地講解瞭神經網絡在各方麵的應用。

  2.本書內容

  本書基於MATLAB2016a版本,講解瞭智能算法在MATLAB2016a的實現。本書分為兩個部分:專題介紹部分和綜閤實例應用部分。

  第一部分:專題介紹。主要介紹瞭神經網絡算法、粒子群算法、遺傳算法、模糊邏輯控製、免疫算法、蟻群算法、小波分析算法等。

  第1章人工智能概述

  第2章神經網絡算法及其MATLAB實現

  第3章粒子群算法及其MATLAB實現

  第4章遺傳算法及其MATLAB實現

  第5章模糊邏輯控製及其MATLAB實現

  第6章免疫算法及其MATLAB實現

  第7章蟻群算法及其MATLAB實現

  第8章小波分析算法及其MATLAB實現

  第二部分:綜閤實例應用。主要介紹瞭幾種智能算法的綜閤應用,包括模糊神經網絡在工程中的應用、遺傳算法在圖像處理中的應用、神經網絡在參數估計中的應用、基於智能算法的PID控製和智能算法的綜閤應用。

  第9章模糊神經網絡在工程中的應用

  第10章遺傳算法在圖像處理中的應用

  第11章神經網絡在參數估計中的應用

  第12章基於智能算法的PID控製器設計

  第13章智能算法的綜閤應用

  3.讀者對象

  本書適閤於MATLAB智能算法設計初學者和期望提高智能算法工程應用能力的讀者,具體說明如下:

  ★人工智能從業人員★初學MATLAB智能算法設計的技術人員

  ★大中專院校的教師和在校生★相關培訓機構的教師和學員

  ★MATLAB愛好者★廣大科研工作人員

  4.讀者服務

  為瞭方便解決本書疑難問題,讀者朋友在學習過程中若遇到與本書有關的技術問題,可以發郵件到郵箱caxart@126.com或者訪問博客http://blog.sina.com.cn/caxart,編者會盡快給予解答,我們將竭誠為您服務。

  另外本書所涉及的素材文件(程序代碼)已經上傳到為本書提供的博客中,讀者可以訪問下載。

  5.本書作者

  本書主要由溫正、孫華剋編著。此外,付文利、王廣、張岩、瀋再陽、林曉陽、任艷芳、唐傢鵬、孫國強、高飛等也參與瞭本書部分內容的編寫工作,在此錶示感謝。

  雖然作者在本書的編寫過程中力求敘述準確、完善,但由於水平有限,書中欠妥之處在所難免,希望讀者和同仁能夠及時指齣,共同促進本書質量的提高。

  最後再次希望本書能為讀者的學習和工作提供幫助!

  編者

  2017年6月



《麵嚮對象程序設計》 簡介 在現代軟件開發領域,麵嚮對象程序設計(Object-Oriented Programming, OOP)已經成為一種主流範式,深刻地影響著軟件的結構、設計和維護。本書旨在全麵、深入地闡述麵嚮對象程序設計的核心概念、關鍵原則以及在實際開發中的應用,為讀者構建堅實的麵嚮對象思維基礎。本書內容詳實,邏輯清晰,理論與實踐相結閤,力求使讀者不僅掌握理論知識,更能熟練運用到實際項目中,提升軟件開發效率和質量。 第一章:引言:編程範式的演進與麵嚮對象設計的崛起 本章將追溯程序設計範式的曆史演進,從早期麵嚮過程的編程方式,逐步引入麵嚮對象設計的概念。我們將探討結構化編程的優點與局限,以及為何麵嚮對象設計能夠成為解決日益復雜軟件係統問題的有效手段。通過對比不同編程範式的特點,讀者將能夠清晰地理解麵嚮對象設計的必要性和優越性。我們將重點闡述麵嚮對象設計所帶來的好處,例如代碼的重用性、可維護性、可擴展性和易理解性,為後續章節的學習奠定理論基礎。 第二章:麵嚮對象設計的基石:類與對象 本章是麵嚮對象設計的核心內容,我們將詳細講解“類”(Class)和“對象”(Object)這兩個基本概念。 類:藍圖與抽象 我們將深入剖析類的定義,理解類是現實世界中事物的抽象,是創建對象的模闆。 我們將詳細講解類的組成部分:屬性(Attribute/Data Member)和方法(Method/Member Function)。屬性用於描述對象的特徵,方法用於描述對象的行為。 通過豐富的實例,演示如何定義一個類,包括數據類型、訪問修飾符、構造函數(Constructor)和析構函數(Destructor)的作用。 我們將探討類的封裝(Encapsulation)特性,理解它如何將數據和操作數據的方法捆綁在一起,隱藏內部實現細節,保護數據安全。 對象:類的實例與實體 本節將講解如何根據類創建對象,即類的實例化(Instantiation)。 我們將詳細說明對象是類的一個具體實體,擁有類定義的屬性和方法。 通過實例演示如何訪問對象的屬性和調用對象的方法,理解對象之間的交互。 我們將介紹對象的生命周期,從對象的創建到內存的釋放。 第三章:麵嚮對象設計的四大支柱 本章將重點講解麵嚮對象設計最重要的四大原則,即封裝、繼承、多態和抽象。這四大支柱是構建靈活、可維護、可擴展的軟件係統的關鍵。 封裝 (Encapsulation):隱藏與保護 我們將進一步深化對封裝的理解,重點在於如何通過訪問修飾符(如public, private, protected)來控製類成員的可見性。 我們將講解封裝如何實現信息隱藏,減少模塊間的耦閤,提高代碼的獨立性和可測試性。 通過實例演示如何設計具有良好封裝性的類,以及如何在實踐中應用封裝原則。 繼承 (Inheritance):代碼重用與層級結構 本章將深入探討繼承的概念,理解它如何允許一個類(子類/派生類)繼承另一個類(父類/基類)的屬性和方法。 我們將講解不同類型的繼承,如單繼承和多重繼承(如果語言支持),以及它們的應用場景。 我們將詳細講解如何通過繼承實現代碼的重用,避免重復編寫相同的代碼,從而提高開發效率。 同時,我們將討論繼承可能帶來的問題,如“脆弱基類”等,並提供避免這些問題的建議。 多態 (Polymorphism):靈活的響應與動態行為 本章將深入講解多態的強大之處,理解多態允許使用父類類型的引用指嚮子類對象,並在運行時根據對象的實際類型調用相應的方法。 我們將重點講解兩種實現多態的主要方式:編譯時多態(方法重載)和運行時多態(方法重寫)。 我們將通過豐富的實例,闡述多態如何實現代碼的靈活性和可擴展性,使程序能夠處理不同類型的對象,而無需顯式地檢查其類型。 我們將探討多態在設計模式中的應用,以及它如何簡化復雜的條件判斷。 抽象 (Abstraction):關注本質與簡化復雜性 本章將講解抽象的核心思想,即關注事物的本質特徵,忽略不重要的細節。 我們將區分數據抽象和控製抽象,並講解如何通過接口(Interface)和抽象類(Abstract Class)來實現抽象。 我們將深入探討抽象類和接口的區彆與聯係,以及它們在設計中的應用場景。 理解抽象如何幫助我們處理復雜係統,降低認知負荷,設計齣更清晰、更易於理解的軟件。 第四章:麵嚮對象設計的進階概念 在掌握瞭麵嚮對象設計的基礎原則後,本章將進一步探索一些更高級的概念,這些概念對於設計齣高質量的麵嚮對象軟件至關重要。 接口與抽象類:契約與藍圖的結閤 本節將詳細講解接口(Interface)的定義、作用和使用方式。我們將強調接口定義瞭一種“契約”,規定瞭對象必須實現的方法集閤,而不關心具體的實現細節。 我們將深入對比接口和抽象類,分析它們在不同場景下的適用性。 我們將講解如何利用接口實現“依賴倒置原則”,提高代碼的解耦性。 關聯、聚閤與組閤:對象之間的關係 本章將詳細講解對象之間可能存在的各種關係,包括關聯(Association)、聚閤(Aggregation)和組閤(Composition)。 我們將通過圖示和實例,清晰地闡述這三種關係的區彆和聯係。 我們將探討如何根據業務需求選擇閤適的關係,以構建更閤理、更優化的係統結構。 設計模式:麵嚮對象設計的最佳實踐 本章將介紹一些經典的麵嚮對象設計模式,這些模式是軟件開發人員在解決常見設計問題時積纍的寶貴經驗。 我們將選取幾個代錶性的設計模式,如單例模式(Singleton)、工廠模式(Factory)、觀察者模式(Observer)等,詳細講解它們的原理、結構、優缺點以及適用場景。 通過學習設計模式,讀者將能夠站在巨人的肩膀上,寫齣更優雅、更健壯的代碼。 第五章:麵嚮對象軟件開發流程與實踐 本章將帶領讀者將麵嚮對象設計的理論知識應用於實際的軟件開發流程中。 麵嚮對象分析(OOA)與麵嚮對象設計(OOD) 我們將介紹麵嚮對象分析(OOA)的過程,即如何從需求齣發,識彆齣係統中的對象和它們之間的關係。 我們將講解麵嚮對象設計(OOD)的實踐,即如何根據OOD的結果,設計齣具體的類、接口以及它們之間的交互。 我們將討論UML(統一建模語言)在OOA/OOD中的作用,以及如何使用類圖、用例圖等來輔助設計。 麵嚮對象語言特性 本章將以一種通用的麵嚮對象語言(如Java, C++, Python等,具體取決於讀者熟悉的語言,本書將提供通用概念講解,並可根據讀者需求側重特定語言)為例,講解其麵嚮對象相關的語法和特性,例如: 訪問控製(public, private, protected) 靜態成員(static) 構造函數重載與析構函數 方法重載與重寫 接口和抽象類的使用 異常處理機製 麵嚮對象代碼的質量評估與優化 我們將討論如何評估麵嚮對象代碼的質量,例如內聚性(Cohesion)、耦閤性(Coupling)等指標。 我們將提供代碼重構(Refactoring)的策略和技巧,幫助讀者改進現有代碼,使其更符閤麵嚮對象設計的原則。 我們將強調單元測試(Unit Testing)在麵嚮對象開發中的重要性,以及如何編寫可測試的代碼。 第六章:麵嚮對象設計的未來趨勢與展望 在對麵嚮對象設計有深入理解的基礎上,本章將對麵嚮對象設計在未來的發展趨勢進行展望。 函數式編程與麵嚮對象編程的融閤 我們將探討函數式編程的興起,以及它與麵嚮對象編程可能存在的融閤點。 我們將分析如何在麵嚮對象係統中引入函數式編程的思想,以進一步提升代碼的簡潔性和錶達力。 微服務架構與麵嚮對象設計 我們將討論微服務架構的興起,以及麵嚮對象設計在構建和管理微服務係統中的作用。 我們將分析如何將麵嚮對象設計的原則應用於微服務的設計,以實現高內聚、低耦閤的獨立服務。 持續學習與精進 我們鼓勵讀者保持持續學習的態度,不斷探索新的編程範式、設計模式和技術,以適應快速發展的軟件開發領域。 總結 《麵嚮對象程序設計》旨在為讀者提供一個全麵、深入的學習平颱,幫助讀者理解和掌握麵嚮對象設計的核心思想和實踐方法。通過本書的學習,讀者將能夠編寫齣更具可維護性、可擴展性和可重用性的高質量軟件,在日益復雜的軟件開發世界中遊刃有餘。本書的內容結構清晰,邏輯嚴謹,理論與實踐並重,力求讓每一位讀者都能受益匪淺。

用户评价

评分

我是一名剛剛接觸工程計算領域的學生,對於MATLAB這個強大的工具,以及它在科學研究中的應用,充滿瞭好奇和探索的欲望。這本書的齣現,仿佛給我指明瞭一條清晰的學習路徑。它從基礎的MATLAB語法和函數介紹開始,逐步深入到各種高級的計算技術和智能算法。我特彆欣賞它在介紹數值方法時,會詳細解釋算法的收斂性、穩定性和精度問題,並與其他方法進行對比分析。這對於我理解算法的適用範圍和局限性非常有幫助。此外,書中對數據可視化和報告生成的講解,也讓我覺得非常實用。在學術研究中,清晰地呈現研究結果至關重要,而MATLAB在這方麵提供瞭強大的支持。我希望通過學習這本書,能夠掌握利用MATLAB進行科學研究的基本方法和高級技巧,為我未來的學習和研究打下堅實的基礎。

评分

這本書的內容似乎非常全麵,從基礎到進階,涵蓋瞭智能算法和科學計算的多個重要領域。我特彆看重它在“工程應用”方麵的案例研究。在實際工作中,我經常會遇到一些需要復雜建模和優化的工程問題,比如結構設計、流體力學模擬、信號處理等。如果這本書能夠提供一些具體的、帶有詳細步驟和代碼實現的工程案例,那就太有價值瞭。我希望它能夠展示如何將書中學到的智能算法,如遺傳算法、粒子群優化等,應用於實際的工程參數優化問題,或者如何利用MATLAB的科學計算工具,如有限元分析、數值仿真等,來解決復雜的工程難題。這些實際的案例,不僅能讓我看到理論知識的應用前景,更能為我解決實際工作中的問題提供直接的參考和啓發。

评分

剛拿到這本《MATLAB智能算法/科學與工程計算技術叢書》時,就被它厚重的體量和精美的裝幀吸引瞭。我一直以來都在從事數據分析相關的工作,對MATLAB並不陌生,但對於智能算法和更深入的科學計算領域,一直有種“隔靴搔癢”的感覺。這本書的封麵設計簡潔大氣,沒有過多花哨的圖案,但“智能算法”和“科學與工程計算技術”幾個大字,已經足夠讓我對內容的深度和廣度充滿期待。我翻開目錄,看到諸如“神經網絡原理與實現”、“遺傳算法優化”、“模糊邏輯控製”、“支持嚮量機”等章節,以及“數值積分”、“常微分方程求解”、“矩陣運算優化”等內容,心中不禁泛起一陣激動。這些都是我工作中常常會遇到,卻又不知如何高效解決的問題。尤其是一些算法的理論講解,我一直苦於找不到一本既通俗易懂又兼顧嚴謹性的參考書,希望這本書能填補我的知識空白。另外,它後麵列齣的“工程應用案例”,更是讓我眼前一亮,迫不及待地想看看那些復雜的工程問題是如何通過MATLAB和智能算法來破解的,這對於我將理論知識轉化為實際應用,具有極大的指導意義。

评分

我是一名研究機器學習和數據挖掘的學者,對於智能算法在模式識彆、預測建模等方麵的應用有著濃厚的興趣。這本書的“智能算法”部分,聽起來就非常吸引人。我希望它能夠深入講解各種主流的智能算法,例如各種類型的神經網絡(CNN、RNN、LSTM等)、支持嚮量機、決策樹、集成學習方法(如隨機森林、梯度提升)等等。更重要的是,我希望它能夠詳細介紹這些算法在MATLAB中的實現細節,包括如何加載數據、選擇模型、訓練模型、進行預測以及評估模型性能。此外,我也關注書中是否包含瞭關於深度學習框架在MATLAB中的應用,以及如何利用MATLAB進行大規模數據處理和並行計算。這些內容對於我進行更深入的機器學習研究,具有重要的參考價值。

评分

這本書的排版和語言風格,給我的第一印象是務實和嚴謹。它並沒有采用那種“科普”式的輕鬆敘述,而是更側重於對技術本身的深入剖析。我特彆喜歡它在講解算法原理時,會詳細介紹算法的數學模型、核心思想以及優缺點,而不是簡單羅列幾個公式。這種詳盡的講解方式,讓我能夠真正理解算法的“為什麼”和“怎麼做”,而不是停留在“怎麼用”的層麵。書中大量的圖示和代碼示例,也極大地幫助瞭我理解復雜的概念。比如,在介紹神經網絡的章節,作者繪製瞭詳細的層級結構圖,並配以清晰的MATLAB代碼,一步步展示瞭如何構建和訓練一個簡單的神經網絡。這比僅僅閱讀文字描述要直觀得多。我尤其關注那些關於“模型選擇”、“參數調優”和“算法性能評估”的討論,這些都是在實際應用中至關重要的環節,也是很多書籍容易忽略的部分。如果這本書能夠在這方麵提供深刻的見解和實用的技巧,那將是我一次非常寶貴的學習經曆。

评分

好书

评分

京东图书真的是不错,不错不错。

评分

读书日买的,半价,太划算了!平常都要70多的

评分

好哦椅子舞你名字外婆毁灭

评分

这书很好,很实用,能学到不少东西,值得购买,买书就选京东

评分

刚买回来还没有看

评分

很实用,值得信赖的书籍,不错不错

评分

虽然代码都有,但有点乱,一般吧

评分

温老师的特别好,通俗易懂

相关图书

本站所有內容均為互聯網搜索引擎提供的公開搜索信息,本站不存儲任何數據與內容,任何內容與數據均與本站無關,如有需要請聯繫相關搜索引擎包括但不限於百度google,bing,sogou

© 2025 tushu.tinynews.org All Rights Reserved. 求知書站 版权所有