關(guān)于我們
書單推薦
新書推薦
|
精通MATLAB R2011a(附光盤)
《精通MATLAB R2011a》由紙質(zhì)媒體和電子媒體有機(jī)結(jié)合而成。紙質(zhì)媒體便于讀者進(jìn)行系統(tǒng)、全面、長(zhǎng)時(shí)間連續(xù)地閱讀,便于隨心翻閱、瀏覽;而電子媒體向讀者提供色彩信息和動(dòng)態(tài)交互的軟件環(huán)境,提供讀者實(shí)踐《精通MATLAB R2011a》內(nèi)容所需的各種文件。
《精通MATLABR2011a》包含MATLAB使用和數(shù)學(xué)知識(shí)的豐富層次。編著《精通MATLAB R2011a(附光盤1張)》有四個(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)算法和思維的影響!毒∕ATLAB R2011a》包含276個(gè)算例。所有算例的程序都是可靠、完整的。讀者可以完整、準(zhǔn)確地重現(xiàn)《精通MATLAB R2011a》所提供的算例結(jié)果,以掌握要領(lǐng),舉一反三,到達(dá)靈活應(yīng)用的境地!毒∕ATLAB R2011a》正文和算例所涉及的指令全部羅列在“附錄C索引”中。該索引與目錄組合,可為讀者提供比較完善的快速查閱環(huán)境。隨書光盤中包含:黑白紙質(zhì)印刷版無法表現(xiàn)的各種彩色圖形;用Mbook模板制作的“活性”的各章DOC文檔;各算例運(yùn)行所需的M文件和MAT數(shù)據(jù)文件;Simulink塊圖模型的MDL文件;圖形用戶界面的FIG文件!毒∕ATLABR2011a》既可作為理工科院校研究生、本科生系統(tǒng)學(xué)習(xí)的教材,又可以作為廣大科技工作者借助MATLAB進(jìn)行科學(xué)計(jì)算及仿真的自學(xué)和參考用書。
《精通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)步!
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ì)算資源庫。 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頁(A4版面)。這樣大的篇幅令人尷尬。一方面,恐因篇幅過大,而束縛對(duì)內(nèi)容深度與廣度應(yīng)有的舒展;另方面,這千余頁篇幅,無疑不便于讀者使用。經(jīng)與編輯多次商討后,決心對(duì)MATLAB與C、C++等外部程序關(guān)聯(lián)的內(nèi)容作“切除留后”處理,對(duì)MATLAB“自封閉”內(nèi)容則進(jìn)行了削枝強(qiáng)干的調(diào)整。 現(xiàn)在本書具有如下幾個(gè)特點(diǎn)。 秉承《精通MATLAB 6.5版》的編寫宗旨:全面地多層次地描述MATLAB的通用功能!叭婕岸鄬哟巍北憩F(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é)及程序語言兩大范疇的內(nèi)涵融合而成的。與一般程序語言類書籍相比,本書的特點(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)椋笳呖梢宰屄犝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ò)誤和偏見仍難避免。在此,懇切各方面專家和廣大讀者的不吝指教。 作者 2011年6月初于南京江寧
張志涌,籍貫無錫,教授,博士生導(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 MATLAB的安裝和工具包選擇 1.2 Desktop操作桌面的啟動(dòng) 1.2.1 MATLAB的啟動(dòng) 1.2.2 Desktop操作桌面簡(jiǎn)介 1.3 CommandWindow運(yùn)行入門 1.3.1 CommandWindow指令窗簡(jiǎn)介 1.3.2 最簡(jiǎn)單的計(jì)算器使用法 1.3.3 數(shù)值、變量和表達(dá)式 1.數(shù)值的記述 2.變量命名規(guī)則 3.MATLAB默認(rèn)的數(shù)學(xué)常數(shù) 4.運(yùn)算符和表達(dá)式 5.面向復(fù)數(shù)設(shè)計(jì)的運(yùn)算——MATLAB特點(diǎn)之一 6.面向數(shù)組設(shè)計(jì)的運(yùn)算——MATLAB特點(diǎn)之二 1.4 CommandWindow操作要旨 1.4.1 指令窗的顯示方式 1.默認(rèn)的輸入顯示方式 2.運(yùn)算結(jié)果顯示 3.顯示方式的永久設(shè)置 1.4.2 指令行中的標(biāo)點(diǎn)符號(hào) 1.4.3 常用控制指令 1.4.4 指令窗中指令行的編輯 1.5 歷史指令窗(Command History) 1.5.1 Command History歷史指令窗簡(jiǎn)介 1.5.2 歷史指令的再運(yùn)行 1.6 當(dāng)前目錄瀏覽器(Current Directory)、路徑設(shè)置器和文件管理 1.6.1 當(dāng)前目錄瀏覽器簡(jiǎn)介 1.6.2 用戶目錄和當(dāng)前目錄設(shè)置 1.6.3 MATLAB的搜索路徑 1.6.4 MATLAB搜索路徑的擴(kuò)展 1.何時(shí)需要修改搜索路徑 2.利用設(shè)置路徑對(duì)話框修改搜索路徑 3.利用指令path設(shè)置路徑 1.7 工作空間瀏覽器和變量編輯器 1.7.1 工作空間瀏覽器和變量可視化 1.7.2 工作空間的管理指令 1.查詢指令who及whos 2.從工作空間中刪除變量和函數(shù)的指令clear 3.整理工作空間內(nèi)存碎片的指令pack 1.7.3 VariableEditor變量編輯器 1.7.4 數(shù)據(jù)文件和變量的存取 1.借助工作空間瀏覽器產(chǎn)生保存變量的MAT文件 2.借助輸入向?qū)mportWizard向工作空間裝載變量 3.存取數(shù)據(jù)的操作指令save和load 1.8 Editor/Debugger和腳本編寫初步 1.8.1 Editr/DebuggerM文件編輯器簡(jiǎn)介 1.8.2 M腳本文件編寫初步 1.9 幫助系統(tǒng)及其使用 1.9.1 幫助體系的三大系統(tǒng) 1.9.2 常用幫助指令 1.函數(shù)搜索指令 2.詞條搜索指令 1.9.3 Help幫助瀏覽器 1.幫助瀏覽器的導(dǎo)出 2.幫助瀏覽器界面簡(jiǎn)介 3.幫助瀏覽器默認(rèn)顯示的利用 第2章 數(shù)值數(shù)組及向量化運(yùn)算 2.1 數(shù)值數(shù)組的創(chuàng)建和尋訪 2.1.1 一維數(shù)組的創(chuàng)建 1.遞增/減型一維數(shù)組的創(chuàng)建 2.其他類型一維數(shù)組的創(chuàng)建 2.1.2 二維數(shù)組的創(chuàng)建 1.小規(guī)模數(shù)組的直接輸入法 2.中規(guī)模數(shù)組的數(shù)組編輯器創(chuàng)建法 3.中規(guī)模的M文件創(chuàng)建法 4.利用MATLAB函數(shù)創(chuàng)建數(shù)組 2.1.3 二維數(shù)組元素的標(biāo)識(shí)和尋訪 1.數(shù)組的維數(shù)和大小 2.數(shù)組的標(biāo)識(shí)和尋訪 2.1.4 數(shù)組的擴(kuò)縮和特殊操作 1.數(shù)組的擴(kuò)充和收縮 2.數(shù)組的特殊操作 3.數(shù)組操作函數(shù) 2.2 數(shù)組運(yùn)算 2.2.1 數(shù)組運(yùn)算的由來和規(guī)則 1.函數(shù)關(guān)系數(shù)值計(jì)算模型的分類 2.提高程序執(zhí)行性能的三大措施 3.數(shù)組運(yùn)算規(guī)則 4.數(shù)組運(yùn)算符及數(shù)組運(yùn)算函數(shù) 2.2.2 數(shù)組運(yùn)算和向量化編程 2.2.3 數(shù)組特殊運(yùn)算指令匯總 2.3 高維數(shù)組 2.3.1 高維數(shù)組的創(chuàng)建 2.3.2 高維數(shù)組的孤維刪除 2.3.3 高維數(shù)組的維度重排 2.4 “非數(shù)”和“空”數(shù)組 2.4.1 非數(shù)NaN 2.4.2 “空”數(shù)組 2.5 關(guān)系操作和邏輯操作 2.5.1 關(guān)系操作 2.5.2 邏輯操作 2.5.3 常用邏輯函數(shù) 第3章 字符串、胞元和構(gòu)架數(shù)組 3.1 MATLAB的數(shù)據(jù)類型 3.2 字符串?dāng)?shù)組 3.2.1 串?dāng)?shù)組的屬性和標(biāo)識(shí) 3.2.2 復(fù)雜串?dāng)?shù)組的創(chuàng)建 1.多行字符串?dāng)?shù)組的創(chuàng)建 2.利用胞元數(shù)組創(chuàng)建復(fù)雜字符串 3.2.3 串轉(zhuǎn)換函數(shù) 3.2.4 串操作函數(shù) 3.3 胞元數(shù)組 3.3.1 胞元數(shù)組的創(chuàng)建和顯示 1.胞元標(biāo)識(shí)尋訪和內(nèi)容編址尋訪的不同 2.胞元數(shù)組的創(chuàng)建和顯示 3.3.2 胞元數(shù)組的擴(kuò)充、收縮和重組 3.3.3 胞元數(shù)組內(nèi)容的獲取和配置 3.3.4 胞元與數(shù)值數(shù)組之間的轉(zhuǎn)換 3.3.5 對(duì)胞元數(shù)組運(yùn)算的cellfun指令 3.3.6 胞元數(shù)組的操作函數(shù)匯總 3.4 構(gòu)架數(shù)組 3.4.1 構(gòu)架數(shù)組的創(chuàng)建和顯示 1.直接創(chuàng)建法及顯示 2.利用構(gòu)造函數(shù)創(chuàng)建構(gòu)架數(shù)組 3.4.2 構(gòu)架數(shù)組域中內(nèi)容的調(diào)取和設(shè)置 3.4.3 構(gòu)架數(shù)組的擴(kuò)縮、域的增刪和域名重排 3.4.4 構(gòu)架數(shù)組和胞元數(shù)組之間的轉(zhuǎn)換 3.4.5 對(duì)構(gòu)架域運(yùn)算的structfun和arrayfun指令 3.4.6 構(gòu)架數(shù)組的操作函數(shù)匯總 第4章 數(shù)值計(jì)算 4.1 MATLAB的浮點(diǎn)數(shù)體系 4.2 數(shù)值微積分 4.2.1 數(shù)值極限 4.2.2 數(shù)值差分 4.2.3 數(shù)值積分(Numerical Integration) 1.一元函數(shù)積分(Quadrature) 2.樣條法求一元數(shù)值積分 3.用SIMULINK求一元數(shù)值積分 4.2.4 多重?cái)?shù)值積分 1.常限重積分 2.變限重積分 4.3 矩陣分析 4.3.1 矩陣運(yùn)算和特征參數(shù) 1.矩陣運(yùn)算 2.矩陣的標(biāo)量特征參數(shù) 4.3.2 奇異值分解和矩陣結(jié)構(gòu) 1.奇異值分解 2.與奇異值相關(guān)的矩陣結(jié)構(gòu) 4.4 特征值分解和矩陣函數(shù) 4.4.1 特征值分解問題 4.4.2 矩陣的譜分解和矩陣函數(shù) 4.5 解線性方程 4.5.1 求解線性方程的相關(guān)指令 4.5.2 線性方程矩陣除解法 4.5.3 線性二乘問題的解 4.5.4 一般代數(shù)方程的解 4.6 隨機(jī)數(shù)的產(chǎn)生及其特征描述 4.6.1 隨機(jī)數(shù)的產(chǎn)生及重現(xiàn)控制 1.默認(rèn)全局隨機(jī)流的簡(jiǎn)明管理指令 2.三種基本隨機(jī)數(shù)發(fā)生指令 3.用戶隨機(jī)流的創(chuàng)建和使用 4.隨機(jī)流的重現(xiàn)控制 5.獨(dú)立隨機(jī)數(shù)序列和隨機(jī)流的產(chǎn)生 6.隨機(jī)數(shù)重現(xiàn)控制舊版指令的使用建議 4.6.2 數(shù)據(jù)樣本分布可視化描述 4.6.3 隨機(jī)分布的數(shù)字特征及其統(tǒng)計(jì)量 1.隨機(jī)分布的中心位置統(tǒng)計(jì)量 2.隨機(jī)分布的聚散度統(tǒng)計(jì)量 3.斜度和峭度高階統(tǒng)計(jì)量 4.7 多項(xiàng)式運(yùn)算和卷積 4.7.1 多項(xiàng)式的運(yùn)算函數(shù) 1.多項(xiàng)式表達(dá)方式的約定 2.多項(xiàng)式運(yùn)算函數(shù) 4.7.2 卷積 1.兩有限長(zhǎng)序列的卷積 2.有限長(zhǎng)序列與無限長(zhǎng)序列的卷積 4.8 多項(xiàng)式擬合和非線性最小二乘 4.8.1 線性擬合和最小二乘 4.8.2 多項(xiàng)式擬合 4.8.3 非線性最小二乘擬合 1.偽線性化處理 2.非線性最小二乘擬合 4.9 插值和樣條 4.9.1 一維插值 4.9.2 高維函數(shù)的插值 4.9.3 樣條插值 4.9.4 樣條函數(shù)的應(yīng)用 1.樣條函數(shù)的微積分 2.樣條函數(shù)的零點(diǎn)和最小值 4.10 Fourier分析 4.10.1 快速Fourier變換和逆變換指令 4.10.2 連續(xù)時(shí)間函數(shù)的Fourier級(jí)數(shù)展開 1.展開系數(shù)的積分求取法 2.Fourier級(jí)數(shù)與DFT之間的數(shù)學(xué)聯(lián)系 3.MATLAB算法實(shí)現(xiàn) 4.10.3 利用DFT計(jì)算連續(xù)函數(shù)Fourier變換CFT 1.CFT與DFT之間的數(shù)學(xué)聯(lián)系 2.MATLAB算法實(shí)現(xiàn) 4.11 常微分方程 4.11.1 常微分方程初值問題的解算 1.求解初值問題的思路 2.解算指令的調(diào)用格式 3.解算指令的屬性及其設(shè)置 4.嵌套函數(shù)法傳遞解算參數(shù) 5.匿名函數(shù)法傳遞解算參數(shù) 6.帶事件設(shè)置的微分方程解算 4.11.2 常微分方程的邊值問題解 1.bvp4c求解邊值問題的思路 2.求解邊值問題的配套指令 3.求解含未知參數(shù)的邊值問題 4.12 最小值優(yōu)化問題 4.12.1 MATLAB最小值優(yōu)化指令概述 4.12.2 單變量局域優(yōu)化指令fminbnd 4.12.3 多變量無約束局域優(yōu)化指令fminsearch 4.12.4 多變量約束局域優(yōu)化指令fmincon 4.12.5 GlobalSearch實(shí)施的全域優(yōu)化 …… 第5章 符號(hào)計(jì)算 第6章 數(shù)據(jù)可視及探索 第7章 M文件和函數(shù)句柄 第8章 Simulink交互式仿真 第9章 圖形用戶界面(GUI) 附錄A Notebook 附錄B 光盤使用說明 附錄C 索引 參考文獻(xiàn)
你還可能感興趣
我要評(píng)論
|