精通MATLAB R2011a

出版時(shí)間:2011-12  出版社:北京航空航天大學(xué)出版社  作者:張志涌 等  頁(yè)數(shù):691  
Tag標(biāo)簽:無  

前言

1.編寫背景MATLAB(MATrix LABoratory)自20世紀(jì)80年代初問世以來,歷經(jīng)30年的實(shí)踐檢驗(yàn)、市場(chǎng)篩選和時(shí)間凝煉,已成為科學(xué)研究、工程技術(shù)等眾多領(lǐng)域最可信賴的科學(xué)計(jì)算環(huán)境和標(biāo)準(zhǔn)仿真平臺(tái),成為高等教學(xué)必須傳授的學(xué)習(xí)和計(jì)算軟件,成為學(xué)術(shù)演講、交流中實(shí)驗(yàn)數(shù)據(jù)和曲線圖形的來源。近年我國(guó)經(jīng)濟(jì)發(fā)展迅猛,“便攜式個(gè)人電腦 + MATLAB”的配置工具在高校、科研院所以驚人的速度迅速普及。這使得理工科高校的每位師生、科研院所的每位研發(fā)人員都擁有了前所未有的巨大“計(jì)算潛能”。原有的研究方法、設(shè)計(jì)程式、論文寫作方式以及教學(xué)內(nèi)容等都必將受到這種新的“計(jì)算潛能”的巨大的沖擊。為緩和巨大計(jì)算潛能和原有教材之間的矛盾,國(guó)內(nèi)外理工科高校教材幾乎都作出了把MATLAB引進(jìn)教材的努力。這種努力大致可分為兩個(gè)層面。第一層面,完全不改變?cè)薪滩膬?nèi)容,而僅把MATLAB作為“手算的替身”用于相關(guān)內(nèi)容的算例習(xí)題解算。第二層面,對(duì)原有教材中“那些手算所不能處理”的內(nèi)容加以改變,而成為由MATLAB實(shí)施的新章節(jié);或把原教學(xué)大綱中“那些采用硬件設(shè)備進(jìn)行”的實(shí)驗(yàn)改成MATLAB仿真。MATLAB對(duì)我國(guó)高等教學(xué)的影響,雖然比國(guó)外晚10年左右,但變化之迅速卻遠(yuǎn)非歐美所及。在幾乎“人手一機(jī)”和MATLAB普及使用的高校里,無論是教師或?qū)W生,也不管有意識(shí)思考還是無意識(shí)感受,都會(huì)時(shí)時(shí)面臨一個(gè)共同的問題:擁有嶄新電腦工具的我們還有必要循著計(jì)算尺時(shí)代形成的模式去學(xué)習(xí)分析和綜合設(shè)計(jì)嗎?硬件的低成本化、外界的需求又反過來推動(dòng)MATLAB自身的改變和發(fā)展。近30年的歷練,MATLAB已經(jīng)從純指令操作軟件發(fā)展為在各種界面進(jìn)行交互式操作的平臺(tái),從單純的分析、計(jì)算軟件發(fā)展成為集計(jì)算、仿真、硬件開發(fā)于一體的綜合環(huán)境,從單一學(xué)科輔助工具擴(kuò)展為多門類多學(xué)科的計(jì)算資源庫(kù)。2.編寫宗旨及特點(diǎn)本書作者自2000年編寫《精通MATLAB 5.3版》和2003年編寫《精通MATLAB 6.5版 》以來,主要精力一直投入于以MATLAB為工具的控制、信號(hào)處理及智能計(jì)算等研究。與此同時(shí),隨著MATLAB的不斷升級(jí),每年也為《精通》一書寫些修訂和增補(bǔ)文檔,直接服務(wù)于面向本校學(xué)生的MATLAB課程。在此七、八年期間,本書作者曾多次嘗試《精通》一書的修訂,但終因時(shí)間不足,致半途而廢。2008年秋,MATLAB的默認(rèn)符號(hào)計(jì)算引擎由Maple更換為MuPAD。這一重大變化促使本書作者下定“重寫《精通》”的決心。此后,歷時(shí)2年多,完成此書初稿,共1150頁(yè)(A4版面)。這樣大的篇幅令人尷尬。一方面,恐因篇幅過大,而束縛對(duì)內(nèi)容深度與廣度應(yīng)有的舒展;另方面,這千余頁(yè)篇幅,無疑不便于讀者使用。經(jīng)與編輯多次商討后,決心對(duì)MATLAB與C、C++等外部程序關(guān)聯(lián)的內(nèi)容作“切除留后”處理,對(duì)MATLAB“自封閉”內(nèi)容則進(jìn)行了削枝強(qiáng)干的調(diào)整?,F(xiàn)在本書具有如下幾個(gè)特點(diǎn)。秉承《精通MATLAB 6.5版》的編寫宗旨:全面地多層次地描述MATLAB的通用功能。“全面及多層次”表現(xiàn)為:本書對(duì)MATLAB本身的入門引導(dǎo)寫得相當(dāng)細(xì)膩,即使是對(duì)MATLAB一無所知的讀者,也可以循著本書的第1章,順利跨入門檻。對(duì)于那些不大熟悉數(shù)值、符號(hào)、Simulink等計(jì)算、建模的讀者來說,只要找到相關(guān)章節(jié),沿著若干初始算例樹立的“路標(biāo)”,循序漸進(jìn),就能很快通過自我學(xué)習(xí)獲得熟練運(yùn)用的能力。涉及MATLAB較深應(yīng)用層面,如數(shù)值計(jì)算泛函指令的參數(shù)傳遞、符號(hào)變量的非負(fù)、整數(shù)域約束及跨空間計(jì)算、Simulink的信息流控制、圖形用戶界面回調(diào)函數(shù)編寫等內(nèi)容,本書的闡述也都可以為讀者解除困惑。本書276個(gè)算例中的絕大多數(shù)都是相對(duì)獨(dú)立的,都配有可實(shí)際運(yùn)行的完整解算指令。即使MATLAB新手,或?qū)λ憷婕爸R(shí)不甚了解的讀者,只要循序操作算例指令,并閱讀指令后的相關(guān)解釋,也能順利實(shí)踐,獲得啟發(fā)后,更可舉一反三。繼續(xù)保持《精通MATLAB 6.5版》的編寫傳統(tǒng):在避免囫圇吞棗的限度內(nèi),盡可能簡(jiǎn)明完整地透析MATLAB指令、Simulink模塊的數(shù)學(xué)本質(zhì)及其應(yīng)用。例如:依托有限差分、積分等章節(jié)的算例,揭示建立在“浮點(diǎn)數(shù)系”基礎(chǔ)上的數(shù)值計(jì)算,如何受“精度、空間、時(shí)間”等微觀、宏觀測(cè)度有限性的影響。借助奇異值分解闡述秩、范、子空間等矩陣結(jié)構(gòu)計(jì)算的數(shù)值本質(zhì),借助特征值分解描述矩陣函數(shù)的計(jì)算本質(zhì)。鑒于MATLAB R2011a版關(guān)于隨機(jī)流概念的系統(tǒng)歸納和rng新指令的給出,本書用較多篇幅闡述了偽隨機(jī)流、隨機(jī)序列的創(chuàng)建、重現(xiàn)控制和獨(dú)立性控制的多種方法。此外,還簡(jiǎn)明描述了均值、偏差、斜度、峭度等統(tǒng)計(jì)量的幾何意義及計(jì)算指令。提出求取系統(tǒng)傳遞函數(shù)的代數(shù)方程符號(hào)法,此法不僅系統(tǒng)性強(qiáng)而不依賴“人工技巧”,而且還原了梅遜信流圖法的數(shù)學(xué)實(shí)質(zhì)。借助積分模塊的兩種不同數(shù)學(xué)表述,隱喻Simulink積分解算方式與數(shù)值積分指令的本質(zhì)差異——前者體現(xiàn)“時(shí)間流”,后者依賴“數(shù)據(jù)流”。保持并延伸《精通MATLAB 6.5版》所涉內(nèi)容的數(shù)學(xué)知識(shí)縱深度,多方位地適應(yīng)MATLAB用戶知識(shí)層面的深化和多樣化。例如:在數(shù)值積分方面,不僅介紹了MATLAB“求面積、求體積”的quad類指令,而且介紹了樣條積分、Monte Carlo積分、Simulink積分的基本原理和實(shí)現(xiàn)方法。在隨機(jī)變量和數(shù)理統(tǒng)計(jì)方面,較大篇幅增添的內(nèi)容有:全局隨機(jī)流、隨機(jī)序列的創(chuàng)建、重現(xiàn)控制和獨(dú)立性控制,三階斜度、四階峭度計(jì)算等。在模型擬合和參數(shù)估計(jì)方面,新增內(nèi)容——以多項(xiàng)式擬合為算例,描述了擬合參數(shù)標(biāo)準(zhǔn)差及置信區(qū)間、新觀察預(yù)測(cè)區(qū)間等。在優(yōu)化計(jì)算方面,不僅介紹了無約束優(yōu)化計(jì)算,還新增了帶約束優(yōu)化計(jì)算及全域?qū)?yōu)算法和思想。推介MATLAB現(xiàn)代計(jì)算能力在方法學(xué)層面的新表現(xiàn),描述這種現(xiàn)代計(jì)算能力對(duì)“計(jì)算尺時(shí)代”遺留下來的傳統(tǒng)概念、方法和技巧的審視和沖擊。例如:第5.7.1節(jié)利用代數(shù)方程求根的現(xiàn)代計(jì)算能力和MATLAB的圖形表現(xiàn)力,直接根據(jù)不同放大倍數(shù)下求得的閉環(huán)根序列,繪制“精良根軌跡”,并進(jìn)而借助MATLAB提供的數(shù)據(jù)探索工具形象、互動(dòng)地表現(xiàn)放大倍數(shù)與閉環(huán)根之間的依賴關(guān)系。這種新方法概念清晰、操作簡(jiǎn)單、圖形精準(zhǔn)。值得指出的是:現(xiàn)今高校教材所教授的傳統(tǒng)根軌跡繪制法,乃是建立在“計(jì)算尺能力”之上的。第5.7.2節(jié)利用求解符號(hào)代數(shù)方程的現(xiàn)代能力,直接求取“方框圖”或“信流圖”的系統(tǒng)傳遞函數(shù)。該方法系統(tǒng)性、規(guī)范性及計(jì)算的簡(jiǎn)單性遠(yuǎn)勝于“計(jì)算尺時(shí)代”的梅遜法。值得指出的是:梅遜法至今仍廣泛地存在于我國(guó)高校的“信號(hào)與系統(tǒng)”“自動(dòng)控制原理”等教材中。第5.8.3節(jié),借助MATLAB的圖形表現(xiàn)力,繪制誤差曲面,形象地展示了泰勒近似的“鄰域適用性”。第8.7.51小節(jié)利用微分方程單步仿真法繪制“狀態(tài)軌跡”,其對(duì)系統(tǒng)性狀的描述能力遠(yuǎn)強(qiáng)于“傳統(tǒng)相軌跡”。這種單步狀態(tài)軌線,不僅能精確地表現(xiàn)穩(wěn)定平衡點(diǎn)周圍的速度場(chǎng),而且能同樣精確地表現(xiàn)不穩(wěn)定平衡點(diǎn)周圍的速度場(chǎng)。第8.7.52小節(jié)利用數(shù)值優(yōu)化指令求得的ITAE標(biāo)準(zhǔn)型系統(tǒng)的性能顯然優(yōu)于“模擬機(jī)時(shí)代”給出的那些傳統(tǒng)ITAE標(biāo)準(zhǔn)型系統(tǒng)。本書特別在第6.8節(jié)新增3小節(jié)用于表述MATLAB的交互式數(shù)據(jù)探索工具:數(shù)據(jù)探針、數(shù)據(jù)刷和數(shù)據(jù)鏈。而算例5.7.1則綜合地表現(xiàn)了數(shù)據(jù)探索工具的具體應(yīng)用。算例4.53、4.121、4.123分別表現(xiàn)了MATLAB圖形能力在非線性方程求解、單變量尋優(yōu)、帶約束二元函數(shù)尋優(yōu)等方面的應(yīng)用價(jià)值。本書第9章詳細(xì)敘述了對(duì)研究方法有重大影響的圖形用戶界面(GUI)的制作方法。該章算例9.21展示了GUI表現(xiàn)二階系統(tǒng)階躍響應(yīng)各種特征時(shí)所特有的能力。此外,也對(duì)原《精通MATLAB 6.5版》少部分內(nèi)容進(jìn)行了刪減。完全刪去原書中的“MATLAB編譯器”、“應(yīng)用程序接口API”兩章。原因是:一,避免因篇幅限制,使其內(nèi)容顯得膚淺;二,避免因外部程序變化,使其內(nèi)容不穩(wěn)定。刪除原書中“句柄圖形”一章。原因是:一,各種圖形對(duì)象的屬性,現(xiàn)已可在MATLAB圖形窗中便捷地讀取和設(shè)置;二,部分常用的圖形對(duì)象屬性的指令設(shè)置內(nèi)容已被融入新書的其他章節(jié)。原書中“Notebook”一章,精簡(jiǎn)后以附錄形式出現(xiàn)。3. 內(nèi)容簡(jiǎn)介全書由目錄、正文、附錄和隨書光盤組成。正文共9章。第1章基礎(chǔ)準(zhǔn)備及入門詳細(xì)講述MATLAB的工作平臺(tái)、基本特征和使用方法,講授如何借助MATLAB的幫助系統(tǒng)解決所遇到的困難。任何MATLAB新手借助本章都可以比較順利地跨入MATLAB門檻。第2章數(shù)值數(shù)組及向量化運(yùn)算介紹MATLAB的兩個(gè)數(shù)據(jù)類型(數(shù)值數(shù)組、邏輯數(shù)組),兩個(gè)特有變量(“非數(shù)”及“空”),兩個(gè)MATLAB指令及編程特征(數(shù)組運(yùn)算和向量化編程)。其中數(shù)值數(shù)組創(chuàng)建、編址、援引尋訪、擴(kuò)展收縮等所涉的概念和技法也適用于其他數(shù)據(jù)類型數(shù)組。第3章字符串、胞元和構(gòu)架數(shù)組集中介紹字符串、胞元、構(gòu)架三種數(shù)據(jù)類型的創(chuàng)建、特點(diǎn)及相互轉(zhuǎn)換。掌握這些數(shù)據(jù)類型有助于理解MATLAB(方程求解、優(yōu)化)泛函指令、圖形對(duì)象、Simulink模型模塊等的參數(shù)設(shè)置和使用。第4章數(shù)值計(jì)算集中描述MATLAB的數(shù)值計(jì)算能力,其節(jié)次按數(shù)學(xué)類別劃分。所涉數(shù)學(xué)理論知識(shí)大致涵蓋理工科本科及研究生知識(shí)層面。每個(gè)算例都會(huì)簡(jiǎn)明地勾勒問題的來龍去脈,幫助讀者克服由于理論數(shù)學(xué)、計(jì)算數(shù)學(xué)、MATLAB指令間的知識(shí)跳躍和交叉引起的困惑。第5章符號(hào)計(jì)算MATLAB由數(shù)值計(jì)算引擎驅(qū)動(dòng),其隨帶的符號(hào)計(jì)算引擎是MuPAD。本章內(nèi)容完全適配MuPAD引擎。該章的解題理念、建模計(jì)算、結(jié)果表述等都不同于數(shù)值計(jì)算,而與傳統(tǒng)教科書的理論內(nèi)容相似,因此學(xué)生更容易接受并使用。因?yàn)樵撜聝?nèi)容相對(duì)獨(dú)立,所以在內(nèi)容設(shè)計(jì)上,安排了從簡(jiǎn)單入門到跨空間進(jìn)入MuPAD環(huán)境的多層次節(jié)次。第6章數(shù)據(jù)可視及探索系統(tǒng)闡述離散數(shù)據(jù)繪制成圖的基本機(jī)理、基本技法、繪圖指令的調(diào)用和搭配。介紹MATLAB圖形窗所具備的“數(shù)據(jù)——圖形雙向交互能力”,推介MATLAB最新體現(xiàn)的“交互式數(shù)據(jù)探索”研究方法。第7章M文件和函數(shù)句柄系統(tǒng)介紹MATLAB編程的基本構(gòu)件、數(shù)據(jù)流控制、各類子函數(shù)、兩種函數(shù)句柄、泛函計(jì)算指令、跨空間調(diào)用和賦值等內(nèi)容,為編寫較復(fù)雜程序讀者所必讀。第8章Simulink交互仿真環(huán)境Simulink的建模、解算、結(jié)果表述既不同于數(shù)值計(jì)算,也不同于符號(hào)計(jì)算,相對(duì)獨(dú)立,由淺入深層次分明。第一個(gè)算例,非常詳盡地描寫Simulink的交互式建模步驟、操作要領(lǐng)、注意事項(xiàng),以使新手可循此例而入門。其他節(jié)次則涉及構(gòu)造并運(yùn)作復(fù)雜Simulink模型所必需的各種連續(xù)和離散模塊,各種條件控制子系統(tǒng),各種操作指令。第9章圖形用戶界面(GUI)重點(diǎn)介紹GUI的GUIDE輔助設(shè)計(jì)法。算例9.21的細(xì)膩敘述,足以幫助對(duì)GUI完全陌生的讀者,初步掌握創(chuàng)建圖形用戶界面的全部操作要領(lǐng)。該章內(nèi)容的重要性在于:GUI不僅使研發(fā)過程友善、結(jié)果表現(xiàn)形象生動(dòng),而且有孕育新研發(fā)技術(shù)和思維方式的潛能。附錄共3個(gè)。附錄A  Notebook簡(jiǎn)扼介紹Notebook工作環(huán)境的創(chuàng)建、組織及應(yīng)用。該附錄將有助于讀者創(chuàng)建集文字表述、數(shù)學(xué)公式、解算指令、計(jì)算結(jié)果、圖形表現(xiàn)于一體的學(xué)術(shù)演講稿、教學(xué)課件、科研報(bào)告、學(xué)位論文等。附錄 B  光盤使用說明專為隨書光盤編寫,主要用于:說明光盤mbook目錄上所載DOC文件的開啟環(huán)境和使用方法;說明光盤mfile目錄上M、MDL文件的使用。附錄 C  索引根據(jù)英文字母排列次序,列出了本書敘述文字或算例中所涉及的所有符號(hào)、指令、模塊和圖形對(duì)象屬性的“英文關(guān)鍵詞(或符)”。讀者借助該“索引”,可以由“英文關(guān)鍵詞(或符)”找到相關(guān)的中文說明或使用算例。4. 讀者對(duì)象MATLAB自身性質(zhì)決定了本書的主要讀者對(duì)象是:需要數(shù)學(xué)建模、研究分析、理論驗(yàn)證、計(jì)算機(jī)仿真的各類大學(xué)生、研究生、教師和科研人員。本書的章節(jié)安排、各章內(nèi)容、276個(gè)算例是作者根據(jù)MATLAB所跨數(shù)學(xué)及程序語(yǔ)言兩大范疇的內(nèi)涵融合而成的。與一般程序語(yǔ)言類書籍相比,本書的特點(diǎn)在于:包含了較大篇幅的理論數(shù)學(xué)、計(jì)算數(shù)學(xué)及其他專業(yè)基礎(chǔ)方面的理論描述。而與一般的數(shù)學(xué)教材、計(jì)算方法書籍相比,不同之處又在于:本書并不停留于純推理性闡述,而特別注重于表述完成計(jì)算任務(wù)的MATLAB指令的使用要旨及注意事項(xiàng)。因此,本書可以用作為MATLAB編程、數(shù)學(xué)建模、科學(xué)計(jì)算、數(shù)字仿真的綜合教學(xué)用書和科研參考書。本書在講述數(shù)值建模、符號(hào)建模、Simulink建模、及GUI制作等內(nèi)容時(shí),都專門設(shè)計(jì)了操作步驟及引導(dǎo)性算例(所涉工具介紹得特別詳細(xì)),用以幫助初學(xué)者順利地入門,并使他們?cè)陂喿x指令的注解說明后,可以舉一反三。因此,本書也可以供各類研發(fā)人員自學(xué)使用。除顯而易見的簡(jiǎn)單算例外,本書作者在設(shè)計(jì)和編寫算例時(shí),盡力在理論和編程兩方面保持各算例的獨(dú)立性和完整性,以供各類讀者根據(jù)需要隨時(shí)片段地翻閱,掌握具體的算法和指令配合。換句話說,像字典一樣,本書可用作查閱算法或MATLAB具體指令調(diào)用方法的“手冊(cè)”。5. 使用建議本書用于教學(xué)時(shí),教師可參考本書章節(jié)次序安排教學(xué)進(jìn)程。講授時(shí),不建議使用PowerPoint形式的課件,而建議采用Notebook制作的課件。這是因?yàn)?,后者可以讓聽課的學(xué)生在Word文字環(huán)境中看到MATLAB指令的實(shí)時(shí)操作和現(xiàn)場(chǎng)顯示出的數(shù)值或圖形結(jié)果。本書為教師制作課件方便,在隨書光盤里,提供了保持全書章節(jié)結(jié)構(gòu)、算例可運(yùn)行M碼的電子文檔。本書用于系統(tǒng)自學(xué)時(shí),讀者可不必循序閱讀,也不建議通讀。建議先認(rèn)真閱讀并實(shí)踐入門性算例,而不必強(qiáng)求自己去操練那些數(shù)學(xué)知識(shí)過深或編程過于復(fù)雜的算例。此外,再次誠(chéng)懇地建議:不要采用“復(fù)制隨書光盤中現(xiàn)成M碼”的方法,去實(shí)踐本書算例,而應(yīng)采用“自己鍵入”的方式去實(shí)踐,以體會(huì)編寫程序的思路和過程。本書用作“手冊(cè)”查閱參考時(shí),讀者應(yīng)注意目錄、索引、英文關(guān)鍵詞的不同檢索功用。目錄用于“可能模糊的內(nèi)容”檢索;索引用于“已知指令名稱”的交叉檢索;(本書中出現(xiàn)的)英文關(guān)鍵詞專供MATLAB幫助瀏覽器信息的檢索使用。本書所有算例的M碼都是可靠且可運(yùn)行的,所有算例結(jié)果也都是可重現(xiàn)的。至于那些無法通過紙質(zhì)書籍表現(xiàn)的Simulink模型代碼和彩色圖形,讀者都可以在隨書光盤中找到相應(yīng)的MDL文件或電子文檔。隨書光盤中,還存放有與《精通MATLAB 6.5版》相配的電子文檔,以供讀者不時(shí)之需。6. 致謝本書是作者長(zhǎng)年科研和教學(xué)積累的結(jié)果。本書的成稿得到張昀、阮秀凱、靳種寶、李娟娟、胡麗珍、謝逢博、馮子豪、王貴銀、張傳飛、朱捷、錢建平、江潔、蔣嘯、王擔(dān)擔(dān)、張蓉等博士和碩士研究生的幫助和支持,得到我始終一貫的合作者楊祖櫻教授的全力支持。借本書出版之際,向他們表示真誠(chéng)的感謝。最后還要感謝北京航空航天大學(xué)出版社長(zhǎng)期一貫的支持和合作。本書雖幾經(jīng)反復(fù)篩選提煉,但限于作者知識(shí),贅病、錯(cuò)誤和偏見仍難避免。在此,懇切各方面專家和廣大讀者的不吝指教。作者電子信箱:zyzh@njupt.edu.cn。作者2011年6月初于南京江寧

內(nèi)容概要

  本書由紙質(zhì)媒體和電子媒體有機(jī)結(jié)合而成。紙質(zhì)媒體便于讀者進(jìn)行系統(tǒng)、全面、長(zhǎng)時(shí)間連續(xù)地閱讀,便于隨心翻閱、瀏覽;而電子媒體向讀者提供色彩信息和動(dòng)態(tài)交互的軟件環(huán)境,提供讀者實(shí)踐本書內(nèi)容所需的各種文件。
本書包含MATLAB使用和數(shù)學(xué)知識(shí)的豐富層次。編著本書有四個(gè)主要目的:(1)幫助初學(xué)者順利跨入MATLAB大門;(2)全面、多層次、細(xì)致而深入地?cái)⑹鯩ATLAB中數(shù)值、字符串、胞元、構(gòu)架、邏輯、函數(shù)句柄六種重要數(shù)據(jù)類型的應(yīng)用規(guī)則、相互配用和編程規(guī)范;(3)由淺入深地闡述MATLAB三種建模、分析、仿真環(huán)境——數(shù)值計(jì)算、符號(hào)計(jì)算和Simulink環(huán)境的特征和使用要領(lǐng);(4)以實(shí)例講述MATLAB代表的現(xiàn)代計(jì)算能力對(duì)傳統(tǒng)算法和思維的影響。
全書包含276個(gè)算例。所有算例的程序都是可靠、完整的。讀者可以完整、準(zhǔn)確地重現(xiàn)本書所提供的算例結(jié)果,以掌握要領(lǐng),舉一反三,到達(dá)靈活應(yīng)用的境地。
本書正文和算例所涉及的指令全部羅列在“附錄C索引”中。該索引與目錄組合,可為讀者提供比較完善的快速查閱環(huán)境。
隨書光盤中包含:黑白紙質(zhì)印刷版無法表現(xiàn)的各種彩色圖形;用Mbook模板制作的“活性”的各章DOC文檔;各算例運(yùn)行所需的M文件和MAT數(shù)據(jù)文件;Simulink塊圖模型的MDL文件;圖形用戶界面的FIG文件。
本書既可作為理工科院校研究生、本科生系統(tǒng)學(xué)習(xí)的教材,又可以作為廣大科技工作者借助MATLAB進(jìn)行科學(xué)計(jì)算及仿真的自學(xué)和參考用書。

作者簡(jiǎn)介

 張志涌
籍貫無錫,教授,博士生導(dǎo)師,享受國(guó)務(wù)院專項(xiàng)津貼;IEEE高級(jí)會(huì)員、中國(guó)智能自動(dòng)化專委會(huì)委員、中國(guó)機(jī)器人競(jìng)賽工作委員會(huì)委員、江蘇省自動(dòng)化學(xué)會(huì)常務(wù)理事;先后受教育于清華大學(xué)、上海交通大學(xué)、荷蘭王國(guó)Eindhoven技術(shù)大學(xué)。
 1989年至今,先后用MATLAB
3.0及以后各版本,從事系統(tǒng)辨識(shí)、故障診斷、系統(tǒng)仿真、智能計(jì)算和控制、無線信道盲辨識(shí)及盲均衡、仿真機(jī)器人足球和多智能體等方面的研究,先后主持和完成國(guó)家自然科學(xué)基金、省部基金資助的科研項(xiàng)目10多項(xiàng),以第一作者身份發(fā)表論文80余篇。
 1993年起,先后為研究生、本科生講授模式識(shí)別、系統(tǒng)辨識(shí)、故障診斷、自控原理、盲系統(tǒng)辨識(shí)和盲信號(hào)處理、MATLAB與仿真等課程。其中MATLAB與仿真課程,至今已有十多年的持續(xù)講授經(jīng)驗(yàn)。
 2003年起,利用MATLAB作為研究基礎(chǔ)和仿真平臺(tái),從事SCILAB科學(xué)計(jì)算開放軟件和RoboCup
2D/3D仿真足球機(jī)器人研究,指導(dǎo)學(xué)生在國(guó)內(nèi)外大賽中持續(xù)取得包括全國(guó)冠軍、世界冠軍在內(nèi)的優(yōu)異成績(jī)。
  1992年對(duì)MATLAB
3.0實(shí)現(xiàn)漢化,并編寫相應(yīng)講義。1997年出版《掌握和精通MATLAB》;2000年出版《精通MATLAB
5.3版》;2001年出版《MATLAB教程——基于6.x版本》。2003年出版《精通MATLAB
6.5版》;2006年出版《MATLAB教程》的第一版,該書每年都作更新,以及時(shí)適應(yīng)MATLAB的最新變化,最新版已升級(jí)至R2011a;2011年出版本書《精通MATLAB
R2011a》。

書籍目錄

第1章 基礎(chǔ)準(zhǔn)備及入門1
1.1MATLAB的安裝和工具包選擇1
1.2Desktop操作桌面的啟動(dòng)2
1.2.1MATLAB的啟動(dòng)2
1.2.2Desktop操作桌面簡(jiǎn)介2
1.3Command Window運(yùn)行入門3
1.3.1Command Window指令窗簡(jiǎn)介3
1.3.2最簡(jiǎn)單的計(jì)算器使用法3
1.3.3數(shù)值、變量和表達(dá)式5
1. 數(shù)值的記述5
2. 變量命名規(guī)則5
3. MATLAB默認(rèn)的數(shù)學(xué)常數(shù)5
4. 運(yùn)算符和表達(dá)式7
5. 面向復(fù)數(shù)設(shè)計(jì)的運(yùn)算——MATLAB特點(diǎn)之一8
6. 面向數(shù)組設(shè)計(jì)的運(yùn)算——MATLAB特點(diǎn)之二11
1.4Command Window操作要旨14
1.4.1指令窗的顯示方式14
1. 默認(rèn)的輸入顯示方式14
2. 運(yùn)算結(jié)果顯示14
3. 顯示方式的永久設(shè)置15
1.4.2指令行中的標(biāo)點(diǎn)符號(hào)15
1.4.3常用控制指令17
1.4.4指令窗中指令行的編輯17
1.5歷史指令窗(Command History)18
1.5.1Command History歷史指令窗簡(jiǎn)介18
1.5.2歷史指令的再運(yùn)行19
1.6當(dāng)前目錄瀏覽器(Current Directory)、路徑設(shè)置器和文件管理19
1.6.1當(dāng)前目錄瀏覽器簡(jiǎn)介20
1.6.2用戶目錄和當(dāng)前目錄設(shè)置21
1.6.3MATLAB的搜索路徑21
1.6.4MATLAB搜索路徑的擴(kuò)展22
1. 何時(shí)需要修改搜索路徑22
2. 利用設(shè)置路徑對(duì)話框修改搜索路徑22
3. 利用指令path設(shè)置路徑22
1.7工作空間瀏覽器和變量編輯器23
1.7.1工作空間瀏覽器和變量可視化23
1.7.2工作空間的管理指令25
1. 查詢指令who及whos25
2. 從工作空間中刪除變量和函數(shù)的指令clear25
3. 整理工作空間內(nèi)存碎片的指令pack25
1.7.3Variable Editor變量編輯器26
1.7.4數(shù)據(jù)文件和變量的存取26
1. 借助工作空間瀏覽器產(chǎn)生保存變量的MAT文件26
2. 借助輸入向?qū)mport Wizard向工作空間裝載變量26
3. 存取數(shù)據(jù)的操作指令save和load27
1.8Editor/Debugger和腳本編寫初步28
1.8.1Editor/Debugger M文件編輯器簡(jiǎn)介28
1.8.2M腳本文件編寫初步29
1.9幫助系統(tǒng)及其使用30
1.9.1幫助體系的三大系統(tǒng)30
1.9.2常用幫助指令30
1. 函數(shù)搜索指令30
2. 詞條搜索指令31
1.9.3Help 幫助瀏覽器32
1. 幫助瀏覽器的導(dǎo)出32
2. 幫助瀏覽器界面簡(jiǎn)介32
3. 幫助瀏覽器默認(rèn)顯示的利用34
第2章數(shù)值數(shù)組及向量化運(yùn)算39
2.1數(shù)值數(shù)組的創(chuàng)建和尋訪39
2.1.1一維數(shù)組的創(chuàng)建39
1. 遞增/減型一維數(shù)組的創(chuàng)建39
2. 其他類型一維數(shù)組的創(chuàng)建40
2.1.2二維數(shù)組的創(chuàng)建41
1. 小規(guī)模數(shù)組的直接輸入法41
2. 中規(guī)模數(shù)組的數(shù)組編輯器創(chuàng)建法41
3. 中規(guī)模的M文件創(chuàng)建法42
4. 利用MATLAB函數(shù)創(chuàng)建數(shù)組43
2.1.3二維數(shù)組元素的標(biāo)識(shí)和尋訪45
1. 數(shù)組的維數(shù)和大小45
2. 數(shù)組的標(biāo)識(shí)和尋訪46
2.1.4數(shù)組的擴(kuò)縮和特殊操作47
1. 數(shù)組的擴(kuò)充和收縮47
2. 數(shù)組的特殊操作49
3. 數(shù)組操作函數(shù)51
2.2數(shù)組運(yùn)算52
2.2.1數(shù)組運(yùn)算的由來和規(guī)則52
1. 函數(shù)關(guān)系數(shù)值計(jì)算模型的分類52
2. 提高程序執(zhí)行性能的三大措施52
3. 數(shù)組運(yùn)算規(guī)則52
4. 數(shù)組運(yùn)算符及數(shù)組運(yùn)算函數(shù)53
2.2.2數(shù)組運(yùn)算和向量化編程54
2.2.3數(shù)組特殊運(yùn)算指令匯總57
2.3高維數(shù)組59
2.3.1高維數(shù)組的創(chuàng)建59
2.3.2高維數(shù)組的孤維刪除61
2.3.3高維數(shù)組的維度重排62
2.4“非數(shù)”和“空”數(shù)組64
2.4.1非數(shù)NaN64
2.4.2“空”數(shù)組66
2.5關(guān)系操作和邏輯操作67
2.5.1關(guān)系操作67
2.5.2邏輯操作69
2.5.3常用邏輯函數(shù)71
第3章字符串、胞元和構(gòu)架數(shù)組72
3.1MATLAB的數(shù)據(jù)類型72
3.2字符串?dāng)?shù)組73
3.2.1串?dāng)?shù)組的屬性和標(biāo)識(shí)73
3.2.2復(fù)雜串?dāng)?shù)組的創(chuàng)建75
1. 多行字符串?dāng)?shù)組的創(chuàng)建75
2. 利用胞元數(shù)組創(chuàng)建復(fù)雜字符串77
3.2.3串轉(zhuǎn)換函數(shù)78
3.2.4串操作函數(shù)82
3.3胞元數(shù)組82
3.3.1胞元數(shù)組的創(chuàng)建和顯示83
1. 胞元標(biāo)識(shí)尋訪和內(nèi)容編址尋訪的不同83
2. 胞元數(shù)組的創(chuàng)建和顯示83
3.3.2胞元數(shù)組的擴(kuò)充、收縮和重組84
3.3.3胞元數(shù)組內(nèi)容的獲取和配置85
3.3.4胞元與數(shù)值數(shù)組之間的轉(zhuǎn)換87
3.3.5對(duì)胞元數(shù)組運(yùn)算的cellfun指令88
3.3.6胞元數(shù)組的操作函數(shù)匯總90
3.4構(gòu)架數(shù)組90
3.4.1構(gòu)架數(shù)組的創(chuàng)建和顯示91
1. 直接創(chuàng)建法及顯示91
2. 利用構(gòu)造函數(shù)創(chuàng)建構(gòu)架數(shù)組92
3.4.2構(gòu)架數(shù)組域中內(nèi)容的調(diào)取和設(shè)置93
3.4.3構(gòu)架數(shù)組的擴(kuò)縮、域的增刪和域名重排96
3.4.4構(gòu)架數(shù)組和胞元數(shù)組之間的轉(zhuǎn)換97
3.4.5對(duì)構(gòu)架域運(yùn)算的structfun和arrayfun指令100
3.4.6構(gòu)架數(shù)組的操作函數(shù)匯總102
第4章數(shù)值計(jì)算103
4.1MATLAB的浮點(diǎn)數(shù)體系103
4.2數(shù)值微積分104
4.2.1數(shù)值極限104
4.2.2數(shù)值差分106
4.2.3數(shù)值積分(Numerical Integration)108
1. 一元函數(shù)積分(Quadrature)108
2. 樣條法求一元數(shù)值積分112
3. 用SIMULINK求一元數(shù)值積分112
4.2.4多重?cái)?shù)值積分113
1. 常限重積分113
2. 變限重積分114
4.3矩陣分析117
4.3.1矩陣運(yùn)算和特征參數(shù)117
1. 矩陣運(yùn)算117
2. 矩陣的標(biāo)量特征參數(shù)118
4.3.2奇異值分解和矩陣結(jié)構(gòu)119
1. 奇異值分解119
2. 與奇異值相關(guān)的矩陣結(jié)構(gòu)119
4.4特征值分解和矩陣函數(shù)123
4.4.1特征值分解問題123
4.4.2矩陣的譜分解和矩陣函數(shù)125
4.5解線性方程126
4.5.1求解線性方程的相關(guān)指令127
4.5.2線性方程矩陣除解法127
4.5.3線性二乘問題的解129
4.5.4一般代數(shù)方程的解130
4.6隨機(jī)數(shù)的產(chǎn)生及其特征描述133
4.6.1隨機(jī)數(shù)的產(chǎn)生及重現(xiàn)控制133
1. 默認(rèn)全局隨機(jī)流的簡(jiǎn)明管理指令133
2. 三種基本隨機(jī)數(shù)發(fā)生指令134
3. 用戶隨機(jī)流的創(chuàng)建和使用136
4. 隨機(jī)流的重現(xiàn)控制140
5. 獨(dú)立隨機(jī)數(shù)序列和隨機(jī)流的產(chǎn)生143
6. 隨機(jī)數(shù)重現(xiàn)控制舊版指令的使用建議148
4.6.2數(shù)據(jù)樣本分布可視化描述149
4.6.3隨機(jī)分布的數(shù)字特征及其統(tǒng)計(jì)量150
1. 隨機(jī)分布的中心位置統(tǒng)計(jì)量150
2. 隨機(jī)分布的聚散度統(tǒng)計(jì)量151
3. 斜度和峭度高階統(tǒng)計(jì)量152
4.7多項(xiàng)式運(yùn)算和卷積157
4.7.1多項(xiàng)式的運(yùn)算函數(shù)157
1. 多項(xiàng)式表達(dá)方式的約定157
2. 多項(xiàng)式運(yùn)算函數(shù)157
4.7.2卷積161
1. 兩有限長(zhǎng)序列的卷積161
2. 有限長(zhǎng)序列與無限長(zhǎng)序列的卷積164
4.8多項(xiàng)式擬合和非線性最小二乘165
4.8.1線性擬合和最小二乘165
4.8.2多項(xiàng)式擬合166
4.8.3非線性最小二乘擬合172
1. 偽線性化處理172
2. 非線性最小二乘擬合172
4.9插值和樣條176
4.9.1一維插值176
4.9.2高維函數(shù)的插值179
4.9.3樣條插值181
4.9.4樣條函數(shù)的應(yīng)用183
1. 樣條函數(shù)的微積分183
2. 樣條函數(shù)的零點(diǎn)和最小值186
4.10 Fourier分析191
4.10.1快速Fourier變換和逆變換指令191
4.10.2連續(xù)時(shí)間函數(shù)的Fourier級(jí)數(shù)展開192
1. 展開系數(shù)的積分求取法192
2. Fourier級(jí)數(shù)與DFT之間的數(shù)學(xué)聯(lián)系193
3. MATLAB算法實(shí)現(xiàn)193
4.10.3利用DFT計(jì)算連續(xù)函數(shù)Fourier變換CFT201
1. CFT與DFT之間的數(shù)學(xué)聯(lián)系201
2. MATLAB算法實(shí)現(xiàn)202
4.11常微分方程205
4.11.1常微分方程初值問題的解算205
1. 求解初值問題的思路205
2. 解算指令的調(diào)用格式206
3. 解算指令的屬性及其設(shè)置207
4. 嵌套函數(shù)法傳遞解算參數(shù)209
5. 匿名函數(shù)法傳遞解算參數(shù)213
6. 帶事件設(shè)置的微分方程解算215
4.11.2常微分方程的邊值問題解218
1. bvp4c求解邊值問題的思路219
2. 求解邊值問題的配套指令220
3. 求解含未知參數(shù)的邊值問題222
4.12最小值優(yōu)化問題227
4.12.1MATLAB最小值優(yōu)化指令概述227
4.12.2單變量局域優(yōu)化指令fminbnd228
4.12.3多變量無約束局域優(yōu)化指令fminsearch232
4.12.4多變量約束局域優(yōu)化指令fmincon236
4.12.5GlobalSearch實(shí)施的全域優(yōu)化242
第5章符號(hào)計(jì)算250
5.1符號(hào)對(duì)象的產(chǎn)生和識(shí)別250
5.1.1基本符號(hào)對(duì)象的創(chuàng)建250
1. 定義符號(hào)數(shù)字和符號(hào)常數(shù)
2. 定義基本符號(hào)變量251
3. 定義元符號(hào)表達(dá)式251
5.1.2符號(hào)計(jì)算中的算符和函數(shù)指令252
1. 符號(hào)計(jì)算中的算符252
2. 符號(hào)計(jì)算中的函數(shù)指令252
5.1.3符號(hào)對(duì)象、變量、自由變量的識(shí)別253
1. 符號(hào)對(duì)象的識(shí)別253
2. 符號(hào)變量及自由變量的認(rèn)定254
5.1.4符號(hào)運(yùn)算機(jī)理和變量假設(shè)259
1. 符號(hào)運(yùn)算的工作機(jī)理259
2. 對(duì)符號(hào)變量的限定性假設(shè)259
3. 清除變量和撤銷假設(shè)260
5.1.5符號(hào)幫助及其他常用指令263
1. 符號(hào)運(yùn)作的幫助體系263
2. 服務(wù)于符號(hào)運(yùn)算的其他指令267
5.2數(shù)字類型轉(zhuǎn)換及符號(hào)表達(dá)式操作268
5.2.1數(shù)字類型及轉(zhuǎn)換268
1. 三種數(shù)字類型及轉(zhuǎn)換指令268
2. 雙精度數(shù)字向符號(hào)數(shù)字轉(zhuǎn)換269
3. 符號(hào)數(shù)字向雙精度數(shù)字轉(zhuǎn)換274
4. 符號(hào)數(shù)字的任意精度表達(dá)形式275
5.2.2符號(hào)表達(dá)式的簡(jiǎn)化操作277
5.2.3表達(dá)式中的置換操作280
1. 公因子法簡(jiǎn)化表達(dá)280
2. 通用置換指令282
5.3符號(hào)微積分285
5.3.1極限和導(dǎo)數(shù)的符號(hào)計(jì)算285
5.3.2序列/級(jí)數(shù)的符號(hào)求和290
5.3.3符號(hào)積分291
5.4微分方程的符號(hào)解法295
5.4.1符號(hào)解法和數(shù)值解法的互補(bǔ)作用295
5.4.2求微分方程符號(hào)解的一般指令295
5.4.3微分方程符號(hào)解示例296
5.5符號(hào)變換和符號(hào)卷積299
5.5.1Fourier變換及其反變換299
5.5.2Laplace變換及其反變換303
5.5.3Z變換及其反變換305
5.5.4符號(hào)卷積308
5.6符號(hào)矩陣分析和代數(shù)方程解309
5.6.1符號(hào)矩陣分析309
5.6.2線性方程組的符號(hào)解310
5.6.3一般代數(shù)方程組的解311
5.7符號(hào)算法的綜合應(yīng)用313
5.7.1三維根軌跡和數(shù)據(jù)探索313
5.7.2代數(shù)狀態(tài)方程求符號(hào)傳遞函數(shù)319
1. 結(jié)構(gòu)框圖的代數(shù)狀態(tài)方程解法320
2. 信號(hào)流圖的代數(shù)狀態(tài)方程解法322
3. 多輸入、多輸出系統(tǒng)傳遞矩陣的求取324
5.8符號(hào)計(jì)算結(jié)果的可視化326
5.8.1直接可視化符號(hào)表達(dá)式326
1. 單獨(dú)立變量符號(hào)函數(shù)的可視化327
2. 雙獨(dú)立變量符號(hào)函數(shù)的可視化329
5.8.2符號(hào)計(jì)算結(jié)果的數(shù)值化繪圖330
5.8.3可視化與數(shù)據(jù)探索332
5.9符號(hào)計(jì)算資源的數(shù)值環(huán)境應(yīng)用335
5.9.1符號(hào)表達(dá)式、串操作及數(shù)值計(jì)算M碼間的轉(zhuǎn)換335
5.9.2符號(hào)工具包資源表達(dá)式轉(zhuǎn)換成M碼函數(shù)337
1. 轉(zhuǎn)換指令matlabFunction337
2. 把符號(hào)包資源轉(zhuǎn)換成M碼函數(shù)的示例338
3. 把MuPAD資源轉(zhuǎn)換為M碼函數(shù)的示例344
5.9.3用符號(hào)表達(dá)式創(chuàng)建Simulink用戶模塊345
1. 轉(zhuǎn)換指令emlBlock345
2. 把符號(hào)包資源轉(zhuǎn)換為Simulink模塊的示例346
5.10MuPAD資源的深層利用349
5.10.1借助mfun調(diào)用MuPAD特殊函數(shù)349
5.10.2直接調(diào)用MuPAD的函數(shù)352
1. 非mfunlist列表MuPAD函數(shù)的調(diào)用步驟353
2. 借助evalin運(yùn)行MuPAD函數(shù)353
3. 借助feval運(yùn)行MuPAD函數(shù)356
第6章數(shù)據(jù)可視及探索359
6.1引導(dǎo)359
6.1.1離散數(shù)據(jù)和離散函數(shù)的可視化359
6.1.2連續(xù)函數(shù)的可視化360
6.1.3可視化的一般步驟362
1. 繪制二維圖形的一般步驟362
2. 繪制三維圖形的一般步驟363
6.2二維線圖及修飾操作364
6.2.1基本指令plot的調(diào)用格式365
1. 基本調(diào)用格式365
2. 衍生調(diào)用格式366
3. 帶屬性設(shè)置的調(diào)用格式367
6.2.2坐標(biāo)控制和圖形標(biāo)識(shí)369
1. 坐標(biāo)軸的控制369
2. 分格線和坐標(biāo)框371
3. 圖形標(biāo)識(shí)指令371
4. 標(biāo)識(shí)字符的精細(xì)控制372
6.2.3多次疊繪、雙縱坐標(biāo)和多子圖375
1. 多次疊繪375
2. 雙縱坐標(biāo)圖376
3. 多子圖377
6.3三維繪圖及修飾操作378
6.3.1三維線圖指令plot3378
6.3.2三維曲面/網(wǎng)線圖指令379
1. 基本調(diào)用格式379
2. 衍生調(diào)用格式380
3. 色圖colormap381
4. 濃淡處理shading381
6.3.3視點(diǎn)控制和圖形的旋動(dòng)382
1. 視點(diǎn)控制view382
2. 圖形旋動(dòng)rotate383
6.3.4光照、材質(zhì)和透視384
1. 光照light384
2. 材質(zhì)處理material384
3. 透明處理386
6.3.5消隱、鏤空和裁切390
1. 網(wǎng)線的消隱390
2. 圖形的鏤空390
3. 圖形的裁切391
6.4高維可視化392
6.4.1二維半圖線392
6.4.2準(zhǔn)四維表現(xiàn)393
6.4.3四維切片及等位線394
6.5動(dòng)態(tài)圖形396
6.5.1高層指令生成動(dòng)態(tài)圖形396
1. 彗星狀軌跡圖396
2. 色圖的變幻397
3. 影片動(dòng)畫397
6.5.2低層指令生成實(shí)時(shí)動(dòng)畫398
6.6特殊圖形指令401
6.6.1彩色份額圖401
1. 面域圖area401
2. 直方圖bar, barh, bar3, bar3h402
3. 餅圖pie, pie3402
6.6.2有向線圖402
6.6.3多面體異形圖403
1. 德洛奈三角剖分和Voronoi圖403
2. 填色圖fill,fill3404
3. 不規(guī)則數(shù)據(jù)的網(wǎng)線圖和曲面圖405
4. 彩帶圖ribbon406
6.6.4散點(diǎn)圖scatter和plotmatrix407
6.6.5泛函繪圖指令fplot408
6.7圖像409
6.7.1圖像的類別和顯示410
6.7.2圖像的讀寫411
6.8圖形窗的編輯探索功能414
6.8.1圖形窗的結(jié)構(gòu)414
1. 圖形窗的功能分區(qū)414
2. 圖形窗工具條415
3. 主要構(gòu)件與對(duì)應(yīng)菜單416
6.8.2指令鼠標(biāo)混合操作生成繪圖文件418
6.8.3數(shù)據(jù)探針422
6.8.4數(shù)據(jù)刷424
6.8.5數(shù)據(jù)鏈和數(shù)據(jù)聯(lián)動(dòng)427
第7章M文件和函數(shù)句柄432
7.1M碼編程的基本構(gòu)件432
7.2MATLAB的數(shù)據(jù)流控制434
7.2.1for循環(huán)和while循環(huán)控制434
1. 循環(huán)結(jié)構(gòu)的基本形式434
2. 輔助控制指令continue和break438
7.2.2if?elseif?else條件分支控制440
7.2.3switch?case切換多分支控制442
7.2.4try?catch容錯(cuò)控制443
7.2.5編程用的其他指令446
1. return返回和pause暫定446
2. error出錯(cuò)信息和warning警告447
3. 與鍵盤交互指令input和keyboard447
7.3M文件和P文件448
7.3.1M文件448
1. M腳本文件448
2. M函數(shù)文件449
7.3.2P碼文件的創(chuàng)建、查詢和清除452
7.4MATLAB的函數(shù)類別453
7.4.1主函數(shù)和子函數(shù)454
7.4.2匿名函數(shù)456
7.4.3嵌套函數(shù)456
7.5函數(shù)句柄458
7.5.1函數(shù)作用域和優(yōu)先等級(jí)458
7.5.2函數(shù)句柄的創(chuàng)建459
1. 直接函數(shù)句柄的創(chuàng)建法459
2. 匿名函數(shù)句柄的創(chuàng)建法459
7.5.3函數(shù)句柄的調(diào)用格式460
1. 直接函數(shù)句柄調(diào)用格式460
2. 匿名函數(shù)句柄調(diào)用格式460
7.5.4觀察函數(shù)句柄的內(nèi)涵461
7.6泛函演算指令462
7.6.1eval462
7.6.2feval464
7.6.3內(nèi)聯(lián)對(duì)象465
7.7變量的使用域和跨內(nèi)存交換466
7.7.1輸入輸出檢測(cè)指令466
7.7.2“變長(zhǎng)度”輸入輸出量467
7.7.3局域變量、全域變量和持存變量471
7.7.4跨內(nèi)存計(jì)算及賦值472
1. 跨內(nèi)存計(jì)算串表達(dá)式472
2. 跨內(nèi)存賦值474
7.8編輯調(diào)試器的應(yīng)用深入475
7.8.1詞串彩化和定界符匹配提示475
1. 詞串彩化475
2. 定界符匹配提示475
7.8.2M?Lint代碼分析器477
1. 檢測(cè)信息的界面靜態(tài)標(biāo)識(shí)477
2. 詳細(xì)檢測(cè)信息的鼠標(biāo)動(dòng)態(tài)獲取478
7.8.3M文件調(diào)試器479
1. 直接調(diào)試法480
2. 交互式調(diào)試器的界面480
3. 調(diào)試器應(yīng)用示例482
第8章Simulink交互式仿真486
8.1引導(dǎo)486
8.1.1Simulink模型本質(zhì)和一般結(jié)構(gòu)486
8.1.2創(chuàng)建塊圖模型的方法和基本環(huán)境487
8.2連續(xù)系統(tǒng)建模490
8.2.1微分方程建模和積分模塊490
1. 微分方程塊圖模型的創(chuàng)建和操作細(xì)節(jié)490
2. 創(chuàng)建微分方程的向量化塊圖模型498
3. 積分模塊501
8.2.2狀態(tài)空間建模503
1. 狀態(tài)空間模塊及其建模應(yīng)用503
2. 模型內(nèi)存和模型瀏覽器506
8.2.3傳遞函數(shù)建模及模型內(nèi)存的操控510
1. 單位脈沖信號(hào)的近似實(shí)現(xiàn)510
2. 傳遞函數(shù)模塊和非零初始系統(tǒng)建模510
8.3子系統(tǒng)和分層模型513
8.3.1創(chuàng)建簡(jiǎn)裝子系統(tǒng)的套裝法514
8.3.2創(chuàng)建簡(jiǎn)裝子系統(tǒng)的容器法521
8.3.3精裝子系統(tǒng)和裝幀編輯器523
8.4使能觸發(fā)子系統(tǒng)531
8.4.1使能子系統(tǒng)531
1. 子系統(tǒng)結(jié)構(gòu)和工作原理531
2. 子系統(tǒng)非狀態(tài)輸出的兩種形態(tài)533
3. 子系統(tǒng)狀態(tài)輸出的四種形態(tài)537
8.4.2觸發(fā)子系統(tǒng)539
1. 子系統(tǒng)的結(jié)構(gòu)和工作原理539
2. 子系統(tǒng)的三種觸發(fā)方式541
8.5Simulink的控制流544
8.5.1For環(huán)544
8.5.2While環(huán)548
8.5.3If?else條件轉(zhuǎn)向和信號(hào)合成551
8.6離散時(shí)間系統(tǒng)和混合系統(tǒng)554
8.6.1單位延遲模塊和差分方程建模555
1. 單位延遲模塊555
2. 差分方程的標(biāo)量法建模555
3. 差分方程組的向量建模法558
8.6.2離散積分模塊和混合系統(tǒng)559
1. 離散時(shí)間積分模塊559
2. 混合系統(tǒng)的s變量替換法560
8.6.3多速率系統(tǒng)的色彩標(biāo)識(shí)562
8.7Simulink的分析工具563
8.7.1模型和模塊信息的獲取563
1. 模型狀態(tài)及輸入輸出特征的獲取563
2. 模型/模塊參數(shù)的指令獲知和設(shè)置566
8.7.2用Sim指令運(yùn)行Simulink模型568
1. 運(yùn)行塊圖模型的sim指令568
2. sim指令的參數(shù)名/值設(shè)置法569
3. sim指令的參數(shù)構(gòu)架設(shè)置法 570
8.7.3模型的線性化問題572
1. 線性化的數(shù)學(xué)描述572
2. 模型線性化573
8.7.4系統(tǒng)平衡點(diǎn)和普通狀態(tài)軌線圖577
8.7.5M碼和Simulink模型的綜合運(yùn)用580
1. 單步仿真和精良狀態(tài)軌線圖580
2. 仿真模型和優(yōu)化指令的協(xié)調(diào)583
8.8數(shù)值計(jì)算方面的考慮586
8.8.1微分方程解算器Solver586
1. ode45和ode23運(yùn)作機(jī)理簡(jiǎn)要586
2. ode113運(yùn)作機(jī)理簡(jiǎn)要587
3. ode15s和ode23s運(yùn)作機(jī)理簡(jiǎn)要587
4. 不同解算器解Stiff方程的表現(xiàn)587
8.8.2積分步長(zhǎng)和容差589
1. 積分步長(zhǎng)的選擇589
1. 計(jì)算容差的選擇590
8.8.3代數(shù)環(huán)問題590
8.9S函數(shù)模塊的創(chuàng)建和應(yīng)用594
8.9.1S函數(shù)概述594
8.9.2S函數(shù)模塊及其運(yùn)作機(jī)理595
8.9.3M碼S函數(shù)596
1. 兩個(gè)級(jí)別的M碼S函數(shù)596
2. 對(duì)二級(jí)M碼S函數(shù)模版的注釋596
3. 二級(jí)M碼S函數(shù)模塊設(shè)計(jì)示例599
第9章圖形用戶界面(GUI)605
9.1設(shè)計(jì)原則和一般步驟605
9.1.1設(shè)計(jì)原則605
9.1.2一般制作步驟606
9.2借助GUIDE創(chuàng)建GUI606
9.2.1GUIDE607
1. GUIDE的啟動(dòng)607
2. Preferences設(shè)置對(duì)版面編輯器的影響607
3. GUIDE的功能分區(qū)608
4. 待設(shè)計(jì)用戶界面的性狀預(yù)設(shè)609
5. 設(shè)計(jì)區(qū)的坐標(biāo)參照和位置編排器610
6. 控件組件屬性值的初始設(shè)置612
7. 創(chuàng)建界面的文件保存和重命名614
9.2.2控件的運(yùn)作機(jī)理及創(chuàng)建615
1. 各控件的運(yùn)作機(jī)理615
2. 常需設(shè)置的控件通用屬性622
9.2.3GUI的創(chuàng)建示例623
1. 二階系統(tǒng)階躍響應(yīng)演示界面623
2. 多指令輸入的演示界面634
9.2.4界面菜單和工具圖標(biāo)的創(chuàng)建639
1. 標(biāo)準(zhǔn)菜單條和工具條的配置639
2. 定制菜單的創(chuàng)建和變量handles的觀察642
3. 現(xiàn)場(chǎng)菜單創(chuàng)建和Tag屬性應(yīng)用646
9.3全手工編程創(chuàng)建GUI650
9.3.1采用M腳本文件創(chuàng)建用戶界面651
9.3.2采用嵌套函數(shù)創(chuàng)建用戶界面655
附錄ANotebook658
A.1Notebook的配置和啟動(dòng)658
A.1.1Notebook的配置658
A.1.2Notebook的啟動(dòng)658
1. 創(chuàng)建新的Mbook文件658
2. 打開已有的Mbook文件660
A.2Mbook模板的使用660
A.2.1輸入細(xì)胞(群)的創(chuàng)建和運(yùn)行660
1. 細(xì)胞(群)660
2. 基本操作661
3. 輸入細(xì)胞(群)操作示例661
A.2.2Notebook菜單的其他選項(xiàng)663
2. 整個(gè)Mbook文件的運(yùn)行663
3. 刪去Mbook 文件所有輸出細(xì)胞664
A.2.3輸出細(xì)胞的格式控制664
1. 數(shù)據(jù)輸出的表示形式控制664
2. 圖形的嵌入控制665
3. 嵌入圖形大小的控制665
4. 嵌入圖形的背景色問題665
A.3使用Mbook模板的若干注意事項(xiàng)666
附錄B光盤使用說明667
B.1光盤文件的結(jié)構(gòu)667
B.2關(guān)于光盤第一級(jí)目錄和文件的說明667
B.3光盤對(duì)軟件環(huán)境的要求668
B.4光盤文件的操作準(zhǔn)備668
B.5mbook目錄上DOC文件的使用668
B.6mfile目錄上的M、MDL文件的使用669
附錄C索引670
C.1MATLAB的標(biāo)點(diǎn)及符號(hào)670
1. 算術(shù)運(yùn)算符Arithmetic operators670
2. 關(guān)系運(yùn)算符 Relational operators670
3. 邏輯運(yùn)算符 Logical operators670
4. 特殊符號(hào)Special characters 671
C.2MATLAB的函數(shù)及指令Functions and Commands671
A a671
B b672
C c673
D d674
E e675
F f676
G g677
H h678
I i678
J j 680
K k 680
L l 680
M m 681
N n 681
O o 682
P p 682
Q q 683
R r683
S s684
T t687
U u687
V v688
W w688
X x688
Y y688
Z z689
C.3 Simulink的庫(kù)模塊689
參考文獻(xiàn)691

章節(jié)摘錄

版權(quán)頁(yè):插圖:

媒體關(guān)注與評(píng)論

《精通Matlab6.5》是我學(xué)習(xí)Matlab的入門教程,它綜合性強(qiáng),內(nèi)容詳細(xì),實(shí)例也很有特點(diǎn),能夠涵蓋住所述知識(shí)點(diǎn),并給出擴(kuò)展。我曾經(jīng)閱讀《精通Matlab6.5》八遍左右,每一次都有收獲。期待《精通MatlabR2011a》的出版,因?yàn)殡S著科學(xué)技術(shù)的發(fā)展,Matlab也在不斷的退出新版,功能越來越強(qiáng)大。希望《精通MatlabR2011a》再續(xù)《精通Matlab6.5》的輝煌,為廣大莘莘學(xué)子提供幫助?!  猯yqmath第一次接觸《精通MATLAB 6.5》還是在大學(xué)本科時(shí),《精通MATLAB 6.5》是我大學(xué)選修課的一本推薦教程。那時(shí)候的主流的MATLAB版本還是6.5版。由于是理學(xué)專業(yè),對(duì)科學(xué)計(jì)算的要求比較高。所以很多課程上都會(huì)用到MATLAB。同時(shí)在大學(xué)期間,參加了大學(xué)生科技創(chuàng)新項(xiàng)目以及數(shù)學(xué)建模,所以MATLAB成為了我必備的一個(gè)編程工具,與此同時(shí)《精通MATLAB 6.5》也就成了經(jīng)常放在手邊的一個(gè)得力的工具書。這本書陪伴我順利完成了科技創(chuàng)新項(xiàng)目、數(shù)學(xué)建模,以及課堂上的各種編程實(shí)踐作業(yè),通過這個(gè)過程也積累了很多MATLAB的經(jīng)驗(yàn)和技巧。由于MATLAB語(yǔ)言的特殊性,例如矩陣處理,它的一些語(yǔ)言規(guī)則與其他語(yǔ)言不同,所以很多細(xì)小的技巧和語(yǔ)法會(huì)經(jīng)常忘掉,但是《精通MATLAB 6.5》解決了這個(gè)難題,它里面有豐富的實(shí)例,同時(shí)也有系統(tǒng)的講解,我們隨時(shí)都可以翻閱和查詢,能夠快速得出解決方案。所以,我個(gè)人認(rèn)為這還是一本MATLAB領(lǐng)域中文版難的一本系統(tǒng)工具書。時(shí)間飛逝,轉(zhuǎn)眼間,碩士畢業(yè),博士也已開始,又重新返回到了崇尚科學(xué)計(jì)算的科研大軍中。而MATLAB這個(gè)工具又一次進(jìn)入我的視野。如今,MATLAB版本已經(jīng)升級(jí)到了matlab2011a版本。上半年在ILOVEMATLAB論壇中,參加了關(guān)于matlab2011a中C語(yǔ)言與MATLAB語(yǔ)言無縫轉(zhuǎn)換的工具包,聽了之后,非常震撼。個(gè)人認(rèn)為,這個(gè)是MATLAB向主流語(yǔ)言進(jìn)軍邁出的一大步,因?yàn)檫@個(gè)工具包已經(jīng)是很多人期待很久的東西了。作為MATLAB以及《精通MATLAB 6.5》的忠實(shí)粉絲,非常希望《精通matlab2011a》能夠有更多和更新的信息提供給用戶,能夠在中國(guó)為MATLAB的普及和發(fā)展做出重要的貢獻(xiàn),同時(shí)希望為更多的科研人員提供給幫助,成為一筆隱形的財(cái)富。  ——cheewii

編輯推薦

《精通MATLAB R2011a》是一本極具生命力的書!從它最早的雛形《掌握和精通MATLAB》1997年問世,到2000年最早版本《精通MATLAB 5.3版》出版,再到《精通MATLAB 6.5版》2003年更新版本,終于在2011年底,又推出了全新改版的《精通MATLAB R2011a》。都說“十年磨一劍”,我們跟隨《精通MATLAB R2011a》作者張志涌老師一起,用15年的時(shí)間,傾心打造一本【全面】【可靠】【實(shí)用】的MATLAB圖書。其間有削枝強(qiáng)干的不舍,有半途而廢的遺憾,但更多的是對(duì)內(nèi)容編寫的精益求精,對(duì)各方鼓勵(lì)的不勝感激,對(duì)出版形式的不斷改進(jìn)。在《精通MATLAB 6.5版》之后,時(shí)隔七年,新版《精通》終于在廣大讀者的熱切期盼中終于出版了!我們真誠(chéng)地感謝張志涌老師對(duì)我們的信任和支持,以及對(duì)《精通MATLAB R2011a》所傾注的心血!我們還要感謝一路以來,不斷支持和幫助我們的讀者朋友們,你們反饋的每一條意見和建議我們都如獲至寶,并鞭策我們不斷努力改進(jìn),以不辜負(fù)你們的希望。非常榮幸,進(jìn)十年來與《精通MATLAB R2011a》共同成長(zhǎng),與各位讀者共同進(jìn)步!

圖書封面

圖書標(biāo)簽Tags

評(píng)論、評(píng)分、閱讀與下載


    精通MATLAB R2011a PDF格式下載


用戶評(píng)論 (總計(jì)24條)

 
 

  •   作為一名消費(fèi)者,度過這本書過后,給人的感覺是這本書根本就不是給初學(xué)者編寫的,內(nèi)容設(shè)計(jì)盡管很全面,很完整,但很明顯沒有層次感,也就是說沒有循序漸進(jìn)的特點(diǎn),該書的另一個(gè)問題是不重視基礎(chǔ)原理,每個(gè)章節(jié)只有例題,而且例題所涉及的知識(shí)包括了整本書,所以啦,水平不高的同志們學(xué)起來會(huì)感覺很痛苦,該書是站在整體的角度來寫的,跨度極寬,綜合度極高,所以對(duì)于基礎(chǔ)較差或者是沒有基礎(chǔ)的消費(fèi)者,不建議購(gòu)買此書,希望后來者一定要重視我說的話,否則會(huì)得不償失的。
  •   每個(gè)學(xué)習(xí)Matlab的人都讀過《精通Matlab6.5》,《精通MATLAB R2011a》無疑是再續(xù)經(jīng)典。整本書將近700頁(yè),厚厚一大本,紙張質(zhì)量很好,對(duì)得起書價(jià)。大概的瀏覽了一下,整本書內(nèi)容翔實(shí),并且又很多的實(shí)例,通過對(duì)例子的實(shí)踐可以迅速掌握matlab的相關(guān)知識(shí)和技巧,能夠涵蓋住所述知識(shí)點(diǎn)。做課題的時(shí)候手邊放一本《精通MATLAB R2011a》作為工具書進(jìn)行查閱,是再好不過了。書中還詳細(xì)介紹了MuPAD符號(hào)計(jì)算引擎,這是書中的一大改變。全書不但在基礎(chǔ)知識(shí)上講的很細(xì)膩,而且在相關(guān)例子方面很有深度,猶如醍醐灌頂??傮w說來,《精通MATLAB R2011a》是經(jīng)典的延續(xù),輝煌的再現(xiàn),是一本難得的好書,值得擁有。
  •   內(nèi)容非常詳盡,但篇幅過長(zhǎng),對(duì)于初學(xué)者來說逐字閱讀很容易失去興趣...我也是初學(xué)者,我是先買了一本matlab建模方面的書,里面有不懂的地方,比如算法的原理、繪圖的方法等,就查這本《精通》,感覺效率非常高~跟大家分享一下
  •   首先書本印刷質(zhì)量很好,厚厚的一本,拿在手里非常享受??戳艘徊糠?,感覺寫的非常清晰、詳實(shí),每一個(gè)你可能產(chǎn)生疑問的地方,書中都有解釋,非常滿意的一本工具書。不愧為經(jīng)典,對(duì)得起這個(gè)價(jià)格……
  •   確實(shí)是用心編寫的好書。
  •   一直覺得借圖書館的書看就可以,但是買了書的感覺就是不一樣。紙質(zhì)相當(dāng)好,印刷也是一流!主要是內(nèi)容很好,不可多得的經(jīng)典?。。?/li>
  •   粗略翻了一下,覺得跟《精通Matlab6.5》的改動(dòng)還是比較多的,總之是非常不錯(cuò)的一本書。
  •   在我所看過的2009年以前的,關(guān)于Matlab的書中,這本是最經(jīng)典的。我2009年用該書入門,后來發(fā)現(xiàn)大部分學(xué)Matlab的人,都犯有該書中經(jīng)常提到的各種各樣的問題,比如Matlab最精髓的是矩陣運(yùn)算,所以不要像C一樣大量使用for循環(huán);即使迫不得已,應(yīng)該事先定義好數(shù)組維數(shù),不要在for循環(huán)中不斷增加數(shù)組維數(shù);等等。而且,書中對(duì)于各種計(jì)算方法,事先給予數(shù)學(xué)介紹,讓人能夠明白該方法的本質(zhì),不至于“明其然,而不明其所以然”。即使這兩年出了很多什么7.0以上的新書,但Matlab本身更改不大,這本6.5已經(jīng)足夠用了;最重要的是大多數(shù)新書都沒有該書的特點(diǎn),當(dāng)然也發(fā)現(xiàn)有個(gè)別新書的體系也在模仿該書,而且還在組織編排上有所創(chuàng)新,確實(shí)值得贊賞,比如《MATLAB 7.6從入門到精通》等,但仍然沒有突破該書的框架。所以非常期待《精通matlab2011a》.希望能再續(xù)經(jīng)典啊。。是很不錯(cuò)的一本書。
  •   非常適合自學(xué),系統(tǒng)而又全面,不管研究什么方向,這本書都值得研究,房子是怎么做的大家都知道吧!更專業(yè)的東西,如神經(jīng)網(wǎng)絡(luò),信號(hào)處理,圖像處理等方向的研究還需參考其他的相關(guān)專業(yè)書籍
  •   超強(qiáng)的一本書,絕對(duì)推薦,系統(tǒng)學(xué)下來才會(huì)體會(huì)到
  •   下午剛收到的書,大致看了一下,功能很強(qiáng)大,,
  •   講述詳盡,易懂,隨書光盤里有例子的自帶小程序,節(jié)省了部分的學(xué)習(xí)時(shí)間。推薦
  •   挺不錯(cuò)的,數(shù)比較好,講的挺詳細(xì)
  •   自認(rèn)為是學(xué)習(xí)Matlab的最好的輔助資料。。
  •   少年,還是用help文檔吧
  •   買的有點(diǎn)貴了 但內(nèi)容還是很全面的
  •   滿意,買書一般都在亞馬遜,比較快
  •   非常好的一本書,講的很深入。
  •   書是正版,內(nèi)容上來說也很詳細(xì),想學(xué)習(xí)Matlab或者使用Matlab的同學(xué)可以買來作為參考書了。
  •   寫文章做實(shí)驗(yàn)必備啊
  •   精通MATLAB R2011a(附光盤)
  •   工科自動(dòng)化專業(yè)必看教材
  •   幫別人買的,據(jù)說還比較實(shí)用
  •   希望能對(duì)自己的技術(shù)有所幫助
 

250萬本中文圖書簡(jiǎn)介、評(píng)論、評(píng)分,PDF格式免費(fèi)下載。 第一圖書網(wǎng) 手機(jī)版

京ICP備13047387號(hào)-7