本版《 MATLAB數(shù)值計(jì)算》是經(jīng) MATLAB、數(shù)值分析和科學(xué)計(jì)算之父 Cleve Moler本人正式授權(quán)的 Numerical Computing with MATLAB初譯本的修訂版。
譯本全面繼承原著編寫宗旨和闡述內(nèi)容。全書共 11章,內(nèi)容涉及:MATLAB入門、線性方程組、插值、零點(diǎn)和根、最小二乘、定積分、常微分方程、傅立葉分析、隨機(jī)數(shù)、特征值和奇異值、偏微分方程。該書不以深?yuàn)W的數(shù)值分析理論為重筆,而以易于理解的數(shù)學(xué)思維和便于掌握的數(shù)學(xué)計(jì)算編程邏輯為要旨。該書摒棄以往數(shù)值分析教材中常見的程式性定理、定理證明、收斂性理論和冗長(zhǎng)公式推演。該書數(shù)值算法原理的表述,言簡(jiǎn)意賅、層次豐富、見解獨(dú)到、權(quán)威精辟。
譯本附錄 A是為幫助 MATLAB初學(xué)者理解本書代碼編寫的;附錄 B可供讀者從 MATLAB命令代碼查詢書中敘述;附錄 C可供讀者由專業(yè)中文詞匯檢索書中內(nèi)容。配套于英文原版的 M文件由 Cleve Moler本人精心編寫,且被其本人引以為傲。讀者通過這些文件的運(yùn)行、 GUI界面的操作以及文件代碼的研讀,可以更深入地理解數(shù)值計(jì)算編程之精粹,更通透地掌握交互操作編程之要領(lǐng)。
該版修訂內(nèi)容有:一,為適配 MATLAB R2022a,對(duì)該書所涉 MATLAB代碼進(jìn)行了全面的審核、運(yùn)行和修正;二,為充分適應(yīng) MATLAB自 R2016起提供的實(shí)時(shí)編輯器綜合工作環(huán)境,為本書各章節(jié)新編了適配于 MATLAB R2022a的 66個(gè). mlx實(shí)時(shí)腳本文件。它們不僅匯集了對(duì)應(yīng)節(jié)次的全部可運(yùn)行代碼,而且可以確保那些代碼無障礙地運(yùn)行。這些實(shí)時(shí)腳本也為教師、科技人員、學(xué)生制作可視化數(shù)字演講稿、科研報(bào)告、學(xué)習(xí)筆記提供了結(jié)構(gòu)性框架。
本書英文原版是 Cleve Moler專為高校研究生、本科生、理工科技人員編寫的數(shù)值計(jì)算與 MATLAB結(jié)合的一體性教材。初譯本自 2015年以來的發(fā)行記錄也表明,本書適合用作高校教材,也是廣大科技人員自學(xué)、精讀或隨時(shí)查閱的最可信賴的參考書。
修訂說明
《MATLAB數(shù)值計(jì)算》作為Numerical Computing with MATLAB的中譯本自 2015年公開發(fā)行 8年以來,受到廣大讀者的歡迎。他們不僅對(duì)此書數(shù)值計(jì)算之嚴(yán)謹(jǐn)和MATLAB編程之靈巧給予了高度的贊譽(yù)和肯定,同時(shí)也從自身教學(xué)實(shí)踐或自身學(xué)習(xí)體驗(yàn)中對(duì)此書提出了若干建議。此番譯本修訂就為積極響應(yīng)讀者的建議并盡力改善讀者的用書感受。
多年來MATLAB版本升級(jí)一方面導(dǎo)致配套于初譯本的M文件出錯(cuò)報(bào)警逐年遞增,另一方面新版MATLAB又新增了集文字、公式、圖片、代碼、輸出結(jié)果于一體的 MLX實(shí)時(shí)腳本應(yīng)用平臺(tái)。正是基于以上原因,譯者決計(jì)對(duì)初譯本正文、附錄及其相應(yīng)文件進(jìn)行修訂。
本次修訂以MATLAB R2022a為平臺(tái),修改涉及以下幾個(gè)方面:
①為適應(yīng) MATLAB的版本升級(jí),刪除或更換了初譯本中那些已經(jīng)或即將被廢棄的語句代碼,適配了新的語句、代碼、運(yùn)算結(jié)果以及相應(yīng)的文字解說,以確保代碼運(yùn)行的順暢,及與書本敘文的一致。
②為適應(yīng)MATLAB的版本升級(jí),上機(jī)檢驗(yàn)了配套于初譯本正文的全部 M文件,并進(jìn)行了適配性修改。
③為響應(yīng)讀者建議,調(diào)整了若干節(jié)中某些段落的次序,使之更適宜自學(xué)或查閱。
④為滿足讀者熟悉和運(yùn)用 GUI(圖形用戶界面)的熱切需求,凡譯本正文中述及圖形用戶界面處,均采用完整的界面截圖替換了原先的純坐標(biāo)軸圖。
⑤為滿足教師學(xué)者講演、學(xué)生筆記需要,也為讀者無障礙實(shí)踐譯本代碼,本書譯者在 MATLAB R2022a平臺(tái)上新編了與此譯本各章節(jié)配套的66個(gè)MLX文件。若在 MATLAB實(shí)時(shí)編輯器中打開 MLX文件,既可以看到已編寫好的或您現(xiàn)場(chǎng)修改的運(yùn)行代碼,又可以實(shí)時(shí)地看到相應(yīng)的計(jì)算結(jié)果和圖形;MLX文件既可以作單純的運(yùn)行文件使用,也可以在文件中填寫所需文字、公式后當(dāng)作課堂講授或?qū)W術(shù)報(bào)告的可視化數(shù)字演講稿。
張志涌、張子燕、楊祖櫻
2023年 2月于南京
譯文前言
2012年仲秋,我作為 Moler十年前訪華晤面過的熟人,再次受 MathWorks中國(guó)公司的邀請(qǐng),出席 Cleve Moler的訪華歡迎會(huì)。在歡迎午餐席間, Moler表達(dá)了希望在中國(guó)見到由他本人授權(quán)的著作中譯本的強(qiáng)烈意愿。我欣然允諾翻譯,隨即 Moler把 Numerical Computing with MATLAB的翻譯工作委托于我,并將出版權(quán)授予北京航空航天大學(xué)出版社。對(duì)此,我深感榮幸,因?yàn)閺?MathWorks網(wǎng)站首次出現(xiàn)此書電子版起的這些年里,我一直持有翻譯此書的強(qiáng)烈沖動(dòng)和期盼譯著在中國(guó)出版發(fā)行的迫切愿望。
我喜歡此書,因?yàn)?Numerical Computing with MATLAB一書,既能讓讀者初讀時(shí)感受易學(xué)易懂之愉悅,又能讓讀者細(xì)讀時(shí)領(lǐng)受滲透于字里碼間的睿智點(diǎn)化;既能使讀者從 MATLAB中獲得前所未有的數(shù)值解算能力,又可使讀者欣賞到浮點(diǎn)計(jì)算之?dāng)?shù)學(xué)優(yōu)雅。
我推崇此書,因?yàn)?Numerical Computing with MATLAB的作者是 Cleve Moler,一個(gè)始終懷揣那樸實(shí)的、讓學(xué)生學(xué)數(shù)學(xué)更輕松理念的大學(xué)教授,一個(gè)始終懷揣那讓他人最放心、最方便使用高質(zhì)量數(shù)學(xué)計(jì)算軟件平常心的科學(xué)家。正是這濟(jì)世理念驅(qū)使他成為了高性能數(shù)值計(jì)算測(cè)試標(biāo)準(zhǔn)的 LINPACK、EISPACK軟件的主要貢獻(xiàn)者,驅(qū)使他發(fā)明了對(duì)世界工程教學(xué)和科研領(lǐng)域產(chǎn)生不可估量深遠(yuǎn)影響的 MATLAB ,使他成為了世界公認(rèn)的現(xiàn)代數(shù)值分析和科學(xué)計(jì)算的一位創(chuàng)始人、給計(jì)算世界打下深深烙印的數(shù)學(xué)奇才。他是美國(guó)工業(yè)和應(yīng)用數(shù)學(xué)學(xué)會(huì) SIAM前主席、美國(guó)工程院院士、 2012年 IEEE計(jì)算機(jī)先驅(qū)獎(jiǎng)獲得者。然而,他喜歡自稱最愛編程的地地道道駭客( hacker),趣喻自己是圍繞數(shù)學(xué)家和計(jì)算機(jī)科學(xué)家雙核作 Lorenz混沌運(yùn)動(dòng)的人。
我贊賞此書,因?yàn)?Numerical Computing with MATLAB一書是 Cleve Moler從其前 20年教學(xué)生涯和后 20年專事 MATLAB經(jīng)驗(yàn)中升華而成的原創(chuàng)珍品,是凝聚其對(duì)數(shù)學(xué)應(yīng)用本質(zhì)性獨(dú)特見解、展示未來教學(xué)方向的數(shù)值計(jì)算教材之圭臬。該書物化地展現(xiàn)了,Cleve Moler對(duì)數(shù)值分析和科學(xué)計(jì)算教學(xué)的如下卓識(shí)真見:
- 在科學(xué)和技術(shù)計(jì)算中,存在一個(gè)既不被數(shù)學(xué)覆蓋也不被計(jì)算機(jī)學(xué)科和其他應(yīng)用學(xué)科覆蓋的共同知識(shí)體系。它是涉及數(shù)值分析、科學(xué)編程、計(jì)算機(jī)圖形和數(shù)據(jù)庫(kù)管理等內(nèi)容的獨(dú)立知識(shí)體系。
- 對(duì)于科技領(lǐng)域的非數(shù)學(xué)從業(yè)人員而言,他們所需要解決的具體問題,往往不是單一的數(shù)學(xué)問題,而是更大更復(fù)雜的綜合性問題。這些問題的解決需要多種數(shù)學(xué)知識(shí)和數(shù)值計(jì)算方法。在此境況下,他們不可能、也不需要知道每種數(shù)值方法的微妙細(xì)節(jié)和具體公式,而只需要知道如何調(diào)用各種計(jì)算軟件去解決面前不可回避的數(shù)學(xué)問題,以騰出更多的時(shí)間和精力專注于綜合性的具體設(shè)計(jì)目標(biāo)。就像在一個(gè)具體問題中遇到需要計(jì)算的正弦、余弦函數(shù)值時(shí),人們并不會(huì)對(duì)近似計(jì)算正弦、余弦函數(shù)值的具體公式和執(zhí)行細(xì)節(jié)刻意刨根問底,而只是徑直調(diào)用它們的計(jì)算命令。
Numerical Computing with MATLAB由美國(guó)工業(yè)和應(yīng)用數(shù)學(xué)學(xué)會(huì) SIAM于 2004年出第一版, 2008年出修訂版。此書在 2013年經(jīng) Cleve Moler再次修訂,且在其親自授權(quán)后于不久前由北京航空航天大學(xué)出版社出版。該書的章節(jié)標(biāo)題不僅涵蓋常見數(shù)值分析教材的所有章節(jié)標(biāo)題,而且包含隨機(jī)數(shù)和偏微分方程兩章。
Numerical Computing with MATLAB的特別之處在于:該書是由具有數(shù)值分析、科學(xué)計(jì)算之父和 MATLAB之父雙重身份的 Cleve Moler寫成的。該書不以深?yuàn)W的數(shù)值分析理論為內(nèi)容,而以向讀者提供易于理解的數(shù)學(xué)思維、易于掌握的數(shù)學(xué)編程技術(shù)為宗旨。因此,在該書中,沒有某些數(shù)值分析教材中那定理和定理證明的重巒疊嶂,沒有那冗長(zhǎng)公式和滿紙推演的濃霧密云,也沒有浮點(diǎn)誤差理論的濃墨重彩。在書中,能見到的是那信手拈來的博引旁征、高屋建瓴的評(píng)價(jià)結(jié)論,能見到的是脈絡(luò)清晰的引導(dǎo)、使人頓悟的簡(jiǎn)明示例,能見到的是由 MATLAB代碼一步一步指引的、讀者完全可以自己在計(jì)算機(jī)上重現(xiàn)的各種算法演繹和實(shí)驗(yàn),能見到的是能準(zhǔn)確掌控計(jì)算誤差和提供性能改善選項(xiàng)的 MATLAB命令。
Numerical Computing with MATLAB英文原版正文和習(xí)題中的 MATLAB代碼、隨書 NCM匯集中的 M文件,都在 MATLAB R2013a版下由 Moler進(jìn)行過適配性修改。這些代碼和文件設(shè)計(jì)之精心、運(yùn)用之巧妙、可讀性之強(qiáng),都達(dá)到了 Moler自認(rèn)的前所未有的滿意程度,并被 Moler引以自傲 1。
《MATLAB數(shù)值計(jì)算》(2013修訂版)是據(jù) 2014英文版 Numerical Computing with MATLAB翻譯的。本書正文及習(xí)題翻譯忠于原著、原意。在翻譯時(shí),為保證讀者能重現(xiàn)英文原版所列之計(jì)算結(jié)果,也為幫助讀者準(zhǔn)確理解原文編碼的奧妙,在個(gè)別段落中補(bǔ)寫了些許 M碼,在個(gè)別 M碼后增補(bǔ)了一點(diǎn)解釋。此外,為適應(yīng)我國(guó)學(xué)術(shù)和教學(xué)環(huán)境,把英文原版中實(shí)施對(duì)應(yīng)元素間運(yùn)算的 Matrix、Vector詞匯,翻譯成數(shù)組、行(或列)數(shù)組。中譯版《 MATLAB數(shù)值計(jì)算》中的 MATLAB代碼、隨書 NCM匯集中的 M文件,由譯者在 MATLAB R2014a版下進(jìn)行過適配性修訂。
《MATLAB數(shù)值計(jì)算》( 2013修訂版)除正文外,增添四個(gè)附錄:附錄 A. MATLAB功用釋要,是對(duì)正文提及的 MATLAB要素,從用法角度出發(fā),給予簡(jiǎn)明系統(tǒng)地要旨介紹或補(bǔ)充,減少讀者閱讀困難和查閱其他幫助材料的麻煩。附錄 B. MATLAB命令和示教文件名索引,供讀者據(jù)命令名、文件名檢索書中示例。附錄 C.中文關(guān)鍵詞索引,供讀者據(jù)中文術(shù)語對(duì)照英文詞匯檢索正文表述。附錄 D. 2012年度計(jì)算機(jī)先驅(qū)獎(jiǎng)?lì)C獎(jiǎng)典禮視頻整理稿,供讀者全面了解 Moler的杰出貢獻(xiàn)和人文精神,進(jìn)而更好領(lǐng)悟 Moler原著所體現(xiàn)的科學(xué)計(jì)算思想。
《MATLAB數(shù)值計(jì)算》(2013修訂版)的編譯由張志涌、張子燕、楊祖櫻三人協(xié)同完成。全書經(jīng)通譯、 M碼運(yùn)作、附錄編寫、通校、文字修飾等幾階段后完稿,前后歷時(shí) 18個(gè)月。在通譯和 M碼運(yùn)作及附錄編寫期間,我們就正文敘述、 M代碼、GUI表現(xiàn)及附錄內(nèi)容等,多次向原作者請(qǐng)教、咨詢及建議。對(duì)此,原作者都及時(shí)地給予詳盡回復(fù)和認(rèn)真處理。這使我們親身感受到 Cleve Moler對(duì)所有議題了然于胸的從容和一絲不茍的嚴(yán)謹(jǐn),領(lǐng)受到 Cleve Moler對(duì) MATLAB命令設(shè)計(jì)原由的透徹解讀和出神入化的功力。在本譯作完稿之際,我們?nèi)w譯者向 MathWorks公司首席科學(xué)家 Cleve Moler表示最真誠(chéng)的深深謝意。
在譯稿出版之際,我們還要向北京航空航天大學(xué)出版社的陳守平、蔡喆、趙延永等表達(dá)最真摯的感謝,感謝他們?yōu)槲覀兙幾g所提供的各種寶貴資料和信息,感謝他們?yōu)楸WC本書高質(zhì)量出版所作出的一切努力。
《MATLAB數(shù)值計(jì)算》(2013修訂版)譯作雖經(jīng)我們多人反復(fù)修正校對(duì),但限于我們知識(shí)的局限,誤譯、錯(cuò)譯、片面理解及其他疏漏仍難以杜絕。在此,懇請(qǐng)各方面專家和廣大讀者不吝指教。譯者聯(lián)系電子信箱:zyzh@njupt.edu.cn。
張志涌、張子燕、楊祖櫻
2014年 10月 21日
原文序
本書是為講授數(shù)值方法、 MATLAB及工程計(jì)算而編寫的入門性教材,著重強(qiáng)調(diào)數(shù)學(xué)軟件的靈活應(yīng)用。我們希望你通過本書能充分理解MATLAB數(shù)學(xué)計(jì)算函數(shù)及命令的內(nèi)涵,充分辨析其局限性,正確使用它們,并能根據(jù)你自己的需要對(duì)它們加以修改。本書包含以下章節(jié):
- MATLAB入門
- 線性方程組
- 插值
- 零點(diǎn)和根
- 最小二乘
- 定積分
- 常微分方程
- 隨機(jī)數(shù)
- 傅里葉分析
- 特征值和奇異值
- 偏微分方程
20世紀(jì) 60年代后期,George Forsythe首先在美國(guó)斯坦福大學(xué)開創(chuàng)了基于軟件的數(shù)值方法課程。Forsythe、Malcolm和Moler三人合寫的教材 [20],及其后由 Kahaner、Moler和 Nash合寫的教材 [34],都是由斯坦福大學(xué)的那門課程演化產(chǎn)生的,且它們都建筑在 Fortran子程序庫(kù)基礎(chǔ)上。
本書以 MATLAB為基礎(chǔ)。含70多個(gè)M文件的NCM匯集是本書的重要組成部分。本書200多道習(xí)題中的許多習(xí)題都涉及對(duì) NCM程序的修改及擴(kuò)展。本書還廣泛使用計(jì)算機(jī)圖示的功能,其中包括對(duì)各種數(shù)值算法的交互式圖形展示。
選修本課程或閱讀本書的前提條件是:
- 學(xué)過微積分;
- 對(duì)常微分方程有所了解;
- 對(duì)矩陣有所了解;
- 有些計(jì)算機(jī)編程經(jīng)驗(yàn)。
假如你此前從未用過 MATLAB,那么第 1章將幫助你跨入大門。假如你已經(jīng)熟悉MATLAB,那么你可以快速瀏覽第 1章的大部分內(nèi)容。但是,每位讀者都不應(yīng)跳過第 1章關(guān)于浮點(diǎn)算法的那節(jié)內(nèi)容。
對(duì)于一學(xué)季或一學(xué)期的課程而言,本書內(nèi)容可能偏多。建議講授前 7章的全部?jī)?nèi)容,而在后 4章中有選擇地講授學(xué)生感興趣的部分內(nèi)容。
在你閱讀本書時(shí),應(yīng)確定你所在計(jì)算機(jī)網(wǎng)或個(gè)人電腦上已經(jīng)安裝了 NCM程序匯集。NCM程序匯集可從如下的本書英文原版網(wǎng)站 [47]上免費(fèi)獲得。
http://www.mathworks.cn/moler
NCM程序匯集中的文件有三類:
- gui文件,交互式圖形演示文件;
- tx文件,MATLAB內(nèi)建文件的示教性簡(jiǎn)略版;
- 其他:各種配用文件,主要與習(xí)題有關(guān)。在自己機(jī)器上安裝了 NCM匯集后,你在 MATLAB中運(yùn)行命令
ncmgui
便產(chǎn)生一個(gè)如下頁所示的綜合性圖形用戶界面。該綜合界面上的每個(gè)縮略小圖,實(shí)際上都是引出相應(yīng) GUI圖形用戶界面的按鈕。
離開MathWorks和SIAM的同仁,本書不可能完成。這兩個(gè)團(tuán)隊(duì)中的人員都很專業(yè)、富具創(chuàng)造力和能融洽合作。他們對(duì)本書給予了巨大的支持。在眾多做出特殊貢獻(xiàn)的朋友和同仁中,我特別要提到其中五位。 Kathryn Ann Moler多次在斯坦福大學(xué)的課程中使用本書的早期書稿,并成為給予我最中肯批評(píng)的智者。 Tim Davis和 Charlie Van Loan給出了特別有益的審閱意見。Lisl Urban為本書做了完美無瑕的編輯工作。我妻子 Patsy始終陪伴身旁,包容、照料我的工作習(xí)慣和筆記本電腦,她深愛著我的一切。我感謝所有的人!
本書 2008修訂重印版的更改內(nèi)容有:為改進(jìn)無出鏈網(wǎng)頁的處理,對(duì)Google PageRank那節(jié)所作的修訂;在隨機(jī)數(shù)那章新增一小節(jié)內(nèi)容;刪除了關(guān)于inline和feval命令的內(nèi)容;校正了幾十處小的印刷疏誤。2013年9月對(duì)本書進(jìn)行了60多處重要的更新修訂。其中大多數(shù)修訂是中國(guó)南京郵電大學(xué)的張志涌教授所提議的。那時(shí),他正在為北京航空航天大學(xué)出版社準(zhǔn)備本書的中譯本。本書第 5.3節(jié)美國(guó)人口普查算例納入了2010年的人口數(shù)據(jù)。 format long格式下的計(jì)算結(jié)果顯示 16位有效數(shù)字。涉及符號(hào)工具包的應(yīng)用現(xiàn)已反映 MuPAD引擎所引起的變化。非常感謝張教授。
Cleve Moler
2013年 9月 16日
第1章 MATLAB入門1
1.1黃金分割比 1
1.2斐波那契數(shù) 8
1.3分形蕨 14
1.4魔方矩陣 19
1.5密碼技術(shù) 26
1.6數(shù)論問題 3n 1序列 31
1.7浮點(diǎn)運(yùn)算 34
1.8更多閱讀. 42
習(xí)題 42
第2章 線性方程 52
2.1解線性方程組 52
2.2 MATLAB反斜杠矩陣左除算符52
2.3 33方程組算例 53
2.4排列矩陣和三角矩陣55
2.5 LU分解 56
2.6選主元的必要性 58
2.7示教 M文件 lutx、bslashtx、lugui 60
2.8舍入誤差的影響 63
2.9范數(shù)和條件數(shù) 66
2.10稀疏矩陣和帶狀矩陣72
2.11 PageRank和馬爾可夫鏈 74
2.12更多閱讀 83
習(xí)題 83
第3章 插值94
3.1插值多項(xiàng)式 94
3.2分段線性插值 99
3.3分段三次埃爾米特插值 101
3.4保形分段三次插值 102
3.5三次樣條 104
3.6示教 M文件 pchiptx, splinetx 108
3.7插值計(jì)算交互界面 interpgui 111
習(xí)題 113
第4章 零點(diǎn)和根 120
4.1二分法120
4.2牛頓法 122
4.3牛頓法失常算例124
4.4弦截法125
4.5逆二次插值126
4.6 Zeroin算法127
4.7示教 M文件 fzerotx 128
4.8 fzerogui 132
4.9值的解算和反插值 135
4.10最優(yōu)化和示教 M文件 fmintx 135
習(xí)題138
第5章 最小二乘 143
5.1模型和曲線擬合 143
5.2范數(shù)145
5.3人口模型交互界面 censusgui 146
5.4豪斯霍爾德反射 148
5.5 QR分解 149
5.6偽逆154
5.7秩虧156
5.8可分離最小二乘159
5.9更多閱讀 161
習(xí)題 161
第6章 定積分 168
6.1自適應(yīng)定積分算法 168
6.2定積分的基本法則 169
6.3示教 M文件 quadtx和 quadgui 171
6.4被積函數(shù)的表述173
6.5性能176
6.6積分離散數(shù)據(jù)178
6.7更多閱讀 180
習(xí)題 .180
第7章 常微分方程 188
7.1微分方程的積分 188
7.2微分方程組 189
7.3線性化的微分方程 190
7.4單步法193
7.5 BS23算法 195
7.6示教 M文件 ode23tx 197
7.7兩個(gè)簡(jiǎn)單示例 201
7.8洛倫茨吸引子203
7.9剛性206
7.10事件 210
7.11多步法 214
7.12 MATLAB的 ODE解算命令214
7.13誤差 216
7.14性能 219
7.15更多閱讀221
習(xí)題221
第8章 傅里葉分析237
8.1按鍵撥號(hào) 237
8.2有限傅里葉變換 241
8.3交互界面 fftgui 242
8.4太陽黑子 246
8.5周期時(shí)間序列 249
8.6快速有限傅里葉變換250
8.7示教 M文件 ffttx 252
8.8 fftmatrix繪制傅里葉矩陣的圖 253
8.9其他傅里葉變換與級(jí)數(shù) . 255
8.10更多閱讀 256
習(xí)題 .256
第9章 隨機(jī)數(shù) 258
9.1偽隨機(jī)數(shù) 258
9.2均勻分布 258
9.3正態(tài)分布 262
9.4示教 M文件 randtx和 randntx . 265
9.5 Twister算法 267
習(xí)題 268
第10章 特征值和奇異值 271
10.1特征值與奇異值分解271
10.2小規(guī)模矩陣分解示例273
10.3分解演示界面 eigshow 275
10.4特征多項(xiàng)式277
10.5對(duì)稱矩陣和埃爾米特矩陣 278
10.6特征值的靈敏度和精度 279
10.7奇異值的靈敏度和精度 285
10.8約當(dāng)型和舒爾型 286
10.9 QR算法288
10.10 QR算法演示界面 eigsvdgui 290
10.11主成分分析 292
10.12成圓算法296
10.13更多閱讀 301
習(xí)題301
第11章 偏微分方程 309
11.1模型問題 309
11.2有限差分法310
11.3離散拉普拉斯算子矩陣 312
11.4數(shù)值穩(wěn)定性314
11.5 L形薄膜波動(dòng) 316
習(xí)題321
參考文獻(xiàn) 328
附錄 AMATLAB功用釋要 332
A.1 MATLAB工作界面簡(jiǎn)介 332
A.1.1 MATLAB的啟動(dòng)和工作界面簡(jiǎn)介 332
A.1.2 MATLAB的工作機(jī)理333
A.1.3 NCM文件的兩種使用方案 333
A.1.4如何設(shè)置當(dāng)前文件夾334
A.1.5如何設(shè)置搜索路徑 334
A.2如何獲取幫助信息 335
A.2.1如何利用 help命令求助法 335
A.2.2如何利用幫助瀏覽器求助 336
A.3入門要旨337
A.3.1如何在命令窗中輸入命令 337
A.3.2如何輸入數(shù)值和定義變量名338
A.3.3如何控制雙精度浮點(diǎn)數(shù)的顯示格式 338
A.3.4如何正確地表述復(fù)數(shù) 339
A.3.5如何正確地理解復(fù)數(shù)運(yùn)算結(jié)果341
A.3.6如何清空窗口、內(nèi)存和恢復(fù)默認(rèn)設(shè)置 342
A.4數(shù)組及其運(yùn)算 342
A.4.1數(shù)組結(jié)構(gòu)和元素標(biāo)識(shí)343
A.4.2數(shù)組運(yùn)算通則345
A.4.3哪類標(biāo)量循環(huán)應(yīng)被數(shù)組運(yùn)算替代.347
A.5矩陣及其運(yùn)算350
A.5.1矩陣和數(shù)組的異同 350
A.5.2矩陣算符和矩陣函數(shù)351
A.5.3矩陣運(yùn)算為何應(yīng)摒棄標(biāo)量循環(huán)352
A.6 M泛函和函數(shù)句柄354
A.6.1 M泛函及常見命令 354
A.6.2含參泛函和無參泛函 355
A.6.3具名函數(shù)和匿名函數(shù)的句柄358
A.6.4泛函與含參目標(biāo)函數(shù)間參數(shù)傳遞的各種組合 360
A.6.5如何編寫含參泛函中的目標(biāo)函數(shù)361
A.6.6如何編寫無參泛函中的目標(biāo)函數(shù)362
A.6.7如何利用嵌套函數(shù)實(shí)現(xiàn)無參泛函中的參數(shù)傳遞 364
A.7符號(hào)計(jì)算 366
A.7.1為何及如何定義符號(hào)對(duì)象 366
A.7.2如何用 M碼符號(hào)對(duì)象精準(zhǔn)表述含數(shù)字?jǐn)?shù)學(xué)解析式368
A.7.3自由符號(hào)變量的辨認(rèn)和指定370
A.7.4限定性假設(shè)的設(shè)置 372
A.7.5限定性假設(shè)的觀察和撤銷 373
A.7.6限定性假設(shè)對(duì)符號(hào)計(jì)算的影響373
附錄B MATLAB命令及示教文件名索引 377
附錄C 中文關(guān)鍵詞索引 391
附錄D 2012年度計(jì)算機(jī)先驅(qū)獎(jiǎng)?lì)C獎(jiǎng)典禮視頻整理譯文 409