第1章 MATLAB語言概述_第1頁
第1章 MATLAB語言概述_第2頁
第1章 MATLAB語言概述_第3頁
第1章 MATLAB語言概述_第4頁
第1章 MATLAB語言概述_第5頁
已閱讀5頁,還剩100頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、ZHU JunZHU JunCollege of Physics Science & TechnologyYANGZHOU UNIVERSITYCHINA朱駿朱駿Office:物理樓:物理樓408Tel-mail: ZHU JunZHU JunCollege of Physics Science & TechnologyYANGZHOU UNIVERSITYCHINA 第一章第一章 MATLAB簡介簡介ZHU JunZHU JunCollege of Physics Science & TechnologyYANGZHOU UNIVERSITYCHINA1.1 MAT

2、LAB語言的發(fā)展語言的發(fā)展一、什么是一、什么是MATLAB Matrix-矩陣,矩陣,laboratory-實驗室。實驗室。 MATLAB原意就是矩陣實驗室。原意就是矩陣實驗室。 MATLAB是一種科學計算軟件,主要適用于是一種科學計算軟件,主要適用于矩陣運算及控制矩陣運算及控制和信息處理領(lǐng)域和信息處理領(lǐng)域的分析設(shè)計。它使用方便,輸入簡便,運算的分析設(shè)計。它使用方便,輸入簡便,運算高效高效、內(nèi)容豐富、容易由用戶自行擴展。、內(nèi)容豐富、容易由用戶自行擴展。ZHU JunZHU JunCollege of Physics Science & TechnologyYANGZHOU UNIVERSITY

3、CHINAl MATLAB早就早就成為美國和其它發(fā)達國家大學教學和科研中不成為美國和其它發(fā)達國家大學教學和科研中不可缺少的工具。可缺少的工具。l 上世紀上世紀90年代初被一些國外留學人員帶回國,使用于科研工年代初被一些國外留學人員帶回國,使用于科研工作。學習使用人群經(jīng)歷了從科研人員擴展到研究生,再擴展作。學習使用人群經(jīng)歷了從科研人員擴展到研究生,再擴展到廣大本科生的過程。到廣大本科生的過程。ZHU JunZHU JunCollege of Physics Science & TechnologyYANGZHOU UNIVERSITYCHINA二、二、MATLAB語言的發(fā)展語言的發(fā)展 MATLA

4、B 語言的首創(chuàng)者語言的首創(chuàng)者 Cleve Moler 教教授在數(shù)值分析,特別是在數(shù)值線性代數(shù)的領(lǐng)授在數(shù)值分析,特別是在數(shù)值線性代數(shù)的領(lǐng)域中很有影響,他參與編寫了數(shù)值分析領(lǐng)域域中很有影響,他參與編寫了數(shù)值分析領(lǐng)域一些著名的著作和兩個重要的一些著名的著作和兩個重要的 Fortran 程序:程序: EisPack和和LinPack。他曾在密西根大學、斯。他曾在密西根大學、斯坦福大學和新墨西哥大學任數(shù)學與計算機科坦福大學和新墨西哥大學任數(shù)學與計算機科學教授。學教授。ZHU JunZHU JunCollege of Physics Science & TechnologyYANGZHOU UNIVERS

5、ITYCHINA 1980 年前后,年前后, Moler 教授任新墨西哥大學計算機系主任。教授任新墨西哥大學計算機系主任。他講授線性代數(shù)課程時,發(fā)現(xiàn)了用其他高級語言編程極為不便,他講授線性代數(shù)課程時,發(fā)現(xiàn)了用其他高級語言編程極為不便,便構(gòu)思并開發(fā)了便構(gòu)思并開發(fā)了 MATLAB (MATrix LABoratory,即矩陣實驗,即矩陣實驗室室), 這一軟件利用了當時數(shù)值線性代數(shù)領(lǐng)域最高水平的這一軟件利用了當時數(shù)值線性代數(shù)領(lǐng)域最高水平的 EisPack和和LinPack兩大軟件包中可靠的子程序,用兩大軟件包中可靠的子程序,用Fortran語言語言編寫了集命令翻譯、科學計算于一身的一套編寫了集命令翻

6、譯、科學計算于一身的一套交互式交互式軟件系統(tǒng)。軟件系統(tǒng)。 交互式語言,是指人們給出一條命令,立即就可以得出該交互式語言,是指人們給出一條命令,立即就可以得出該命令的結(jié)果。該語言無需像命令的結(jié)果。該語言無需像C和和Fortran語言那樣,首先要求使語言那樣,首先要求使用者去用者去編寫源程序編寫源程序,然后對之進行,然后對之進行編譯編譯、連接連接,最終,最終形成可執(zhí)形成可執(zhí)行文件行文件。這無疑會給使用者帶來了極大的方便。這無疑會給使用者帶來了極大的方便。ZHU JunZHU JunCollege of Physics Science & TechnologyYANGZHOU UNIVERSITYC

7、HINA早期的早期的 MATLAB :用用Fortran語言編寫語言編寫;只能作矩陣運算;只能作矩陣運算;繪圖也只能用極其原始的方法,即用星號描點的形式畫圖;繪圖也只能用極其原始的方法,即用星號描點的形式畫圖;內(nèi)部函數(shù)也只提供了幾十個。內(nèi)部函數(shù)也只提供了幾十個。 即使其當時的功能十分簡單,當它作為免費軟件出現(xiàn)以來,即使其當時的功能十分簡單,當它作為免費軟件出現(xiàn)以來,還是吸引了大批的使用者。還是吸引了大批的使用者。ZHU JunZHU JunCollege of Physics Science & TechnologyYANGZHOU UNIVERSITYCHINA 1983年年Cleve Mo

8、ler教授到斯坦福大學講學,作為工程師教授到斯坦福大學講學,作為工程師Jonh Little覺查到覺查到MATLAB在工程運算中的巨大潛力,與在工程運算中的巨大潛力,與Moler、Steve Bangert成立了一個名叫成立了一個名叫The MathWorks的公司,的公司,Cleve Moler 一直任該公司的首席科學家,合作開發(fā)第二代的一直任該公司的首席科學家,合作開發(fā)第二代的專業(yè)版專業(yè)版MATLAB。 MathWorks的主頁:的主頁:ZHU JunZHU JunCollege of Physics Science & TechnologyYANGZHOU UNIVERSITYCHINA

9、ZHU JunZHU JunCollege of Physics Science & TechnologyYANGZHOU UNIVERSITYCHINAu1984年成立的年成立的MathWorks公司正式將公司正式將MATLAB推向市場。推向市場。當時的當時的MATLAB版本已經(jīng)用版本已經(jīng)用C語言作了完全的改寫,其后又增語言作了完全的改寫,其后又增添了豐富多彩的添了豐富多彩的圖形圖像處理圖形圖像處理、多媒體功能多媒體功能、符號運算符號運算和它和它與與其他流行軟件的接口其他流行軟件的接口功能,使得功能,使得MATLAB 的功能越來越強大。的功能越來越強大。u1987年推出的年推出的MATLAB

10、 3.0版以及版以及1991年的版本還是在年的版本還是在DOS平臺上。平臺上。u1993年在年在Windows 3.0平臺平臺上的上的3.5k版出臺。版出臺。u緊接著緊接著MATLAB 4.0版被開發(fā)出來,可以在版被開發(fā)出來,可以在Windows 3.x上運上運行;并開始有了行;并開始有了Symbolic Math符號運算軟件包;符號運算軟件包;ZHU JunZHU JunCollege of Physics Science & TechnologyYANGZHOU UNIVERSITYCHINAu1994年年Notebook for word工具包研制成功工具包研制成功;u1997年年MAT

11、LAB5.0推出;實現(xiàn)真正的推出;實現(xiàn)真正的32-bit運作運作;u1999年年MATLAB5.3推出推出u2000年年10月月MATLAB6.0面世,功能更加強大,用戶界面更面世,功能更加強大,用戶界面更友好,數(shù)值計算速度更快。友好,數(shù)值計算速度更快。u2002年夏,年夏, MATLAB6.5。u2004 年年9月,月,MATLAB 7.0 。u2005年年9月,月, MATLAB 7.1 。u最近幾年都是每六個月出一新版,每年最近幾年都是每六個月出一新版,每年3月的就是月的就是200 xa,9月月10月出的是月出的是200 xb。ZHU JunZHU JunCollege of Physi

12、cs Science & TechnologyYANGZHOU UNIVERSITYCHINA當前最新版本為當前最新版本為2011a ZHU JunZHU JunCollege of Physics Science & TechnologyYANGZHOU UNIVERSITYCHINA 雖然雖然MATLAB語言是計算數(shù)學專家倡導并開發(fā)的,但其語言是計算數(shù)學專家倡導并開發(fā)的,但其普及和發(fā)展離不開普及和發(fā)展離不開自動控制領(lǐng)域自動控制領(lǐng)域?qū)W者的貢獻。甚至可以說,學者的貢獻。甚至可以說,MATLAB語言是自動控制領(lǐng)域?qū)W者和工程技術(shù)人員捧紅的,語言是自動控制領(lǐng)域?qū)W者和工程技術(shù)人員捧紅的,因為在因為在M

13、ATLAB語言的發(fā)展進程中,許多有代表性的成就和語言的發(fā)展進程中,許多有代表性的成就和控制界的要求與貢獻是分不開的。迄今為止,大多數(shù)工具箱控制界的要求與貢獻是分不開的。迄今為止,大多數(shù)工具箱也都是控制方面的。也都是控制方面的。MATLAB具有強大的數(shù)學運算能力、方具有強大的數(shù)學運算能力、方便實用的繪圖功能及語言的高度集成性,它在便實用的繪圖功能及語言的高度集成性,它在其他科學與工其他科學與工程領(lǐng)域的應用程領(lǐng)域的應用也是越來越廣,并且有著更廣闊的應用前景和也是越來越廣,并且有著更廣闊的應用前景和無窮無盡的潛能。無窮無盡的潛能。ZHU JunZHU JunCollege of Physics Sc

14、ience & TechnologyYANGZHOU UNIVERSITYCHINA 如果有一種十分有效的工具能解決在教學與研究中遇到如果有一種十分有效的工具能解決在教學與研究中遇到的問題,那么的問題,那么MATLAB語言正是這樣的一種工具。它可以將語言正是這樣的一種工具。它可以將使用者從繁瑣、無謂的底層編程中解放出來,把有限的寶貴使用者從繁瑣、無謂的底層編程中解放出來,把有限的寶貴時間更多地花在解決問題中,這樣無疑會提高工作效率。目時間更多地花在解決問題中,這樣無疑會提高工作效率。目前,前,MATLAB已經(jīng)成為國際上最流行的已經(jīng)成為國際上最流行的科學與工程計算的軟科學與工程計算的軟件工具件工

15、具。ZHU JunZHU JunCollege of Physics Science & TechnologyYANGZHOU UNIVERSITYCHINA 現(xiàn)在的現(xiàn)在的 MATLAB 已經(jīng)不僅僅是一個已經(jīng)不僅僅是一個“矩陣實驗室矩陣實驗室”了,了,它已經(jīng)成為了一種具有它已經(jīng)成為了一種具有廣泛應用前景的全新的計算機高級編程廣泛應用前景的全新的計算機高級編程語言了語言了,有人稱它為,有人稱它為“第四代第四代”計算機語言計算機語言,它在國內(nèi)外高校,它在國內(nèi)外高校和研究部門正扮演著重要的角色。和研究部門正扮演著重要的角色。MATLAB語言的功能也越來語言的功能也越來越強大,不斷適應新的要求提出新的

16、解決方法。可以預見,在越強大,不斷適應新的要求提出新的解決方法??梢灶A見,在科學運算、自動控制與科學繪圖科學運算、自動控制與科學繪圖領(lǐng)域領(lǐng)域MATLAB語言將長期保持語言將長期保持其獨一無二的地位。其獨一無二的地位。ZHU JunZHU JunCollege of Physics Science & TechnologyYANGZHOU UNIVERSITYCHINA MATLAB語言比較好學語言比較好學前流行用前流行用Fortran和和C語言編制計算程序語言編制計算程序, 既需要對有關(guān)算法有既需要對有關(guān)算法有深刻的了解,還需要熟練地掌握所用語言的語法及編程技巧。深刻的了解,還需要熟練地掌握所

17、用語言的語法及編程技巧。對多數(shù)科學工作者而言,同時具備這兩方面技能有一定困難。對多數(shù)科學工作者而言,同時具備這兩方面技能有一定困難。通常,編制程序也是繁雜的,不僅消耗人力與物力,而且影響通常,編制程序也是繁雜的,不僅消耗人力與物力,而且影響工作進程和效率。工作進程和效率。只有一種數(shù)據(jù)類型只有一種數(shù)據(jù)類型(16位十進制即二進制雙精度位十進制即二進制雙精度)、一種標準的、一種標準的輸入輸出語句、不用指針、不需編譯輸入輸出語句、不用指針、不需編譯 ,比其它語言少了很多內(nèi),比其它語言少了很多內(nèi)容。容。ZHU JunZHU JunCollege of Physics Science & Technolo

18、gyYANGZHOU UNIVERSITYCHINA MATLAB語言的難點是函數(shù)較多語言的難點是函數(shù)較多 700多基本函數(shù),常用的近多基本函數(shù),常用的近200個個 盡量多記少查以提高編程效率盡量多記少查以提高編程效率 MATLAB語言的缺點是運行速度慢語言的缺點是運行速度慢 例如例如100100的矩陣的求逆需的矩陣的求逆需0.1秒秒(與計算機有關(guān)與計算機有關(guān)) ZHU JunZHU JunCollege of Physics Science & TechnologyYANGZHOU UNIVERSITYCHINA1.2 Matlab 語言的特點和應用領(lǐng)域語言的特點和應用領(lǐng)域 1語言簡潔,編程

19、效率高語言簡潔,編程效率高 它是一種面向科學與工程計算的高級語言,允許用數(shù)學形它是一種面向科學與工程計算的高級語言,允許用數(shù)學形式的語言編寫程序,且比式的語言編寫程序,且比Basic、Fortran和和C等語言更加接近等語言更加接近我們書寫計算公式的思維方式,用我們書寫計算公式的思維方式,用Matlab編寫程序猶如在演算編寫程序猶如在演算紙上排列出公式與求解問題。因此,紙上排列出公式與求解問題。因此,Matlab語言也可通俗地稱語言也可通俗地稱為為演算紙式科學算法語言演算紙式科學算法語言。由于它編寫簡單,所以編程效率高,。由于它編寫簡單,所以編程效率高,易學易懂。易學易懂。 2 2 2 x e

20、xp(-t) + (2 x + 1) exp(-t) + (x + 1) xZHU JunZHU JunCollege of Physics Science & TechnologyYANGZHOU UNIVERSITYCHINA2交互性好,用戶使用方便交互性好,用戶使用方便Matlab語言是一種解釋執(zhí)行的語言語言是一種解釋執(zhí)行的語言(在沒被專門的工具編在沒被專門的工具編譯之前譯之前),它靈活、方便,其調(diào)試程序手段豐富,調(diào)試速度快,它靈活、方便,其調(diào)試程序手段豐富,調(diào)試速度快,需要學習時間少。需要學習時間少。Matlab語言與其它語言相比,較好地解決語言與其它語言相比,較好地解決了編輯、編譯、

21、連接和執(zhí)行問題,融為一體。它能了編輯、編譯、連接和執(zhí)行問題,融為一體。它能在同一畫面在同一畫面上進行靈活操作快速排除輸入程序中的書寫錯誤、語法錯誤以上進行靈活操作快速排除輸入程序中的書寫錯誤、語法錯誤以至語意錯誤至語意錯誤,從而加快了用戶編寫、修改和調(diào)試程序的速度,從而加快了用戶編寫、修改和調(diào)試程序的速度,可以說在編程和調(diào)試過程中它是一種比可以說在編程和調(diào)試過程中它是一種比VB還要簡單的語言。還要簡單的語言。ZHU JunZHU JunCollege of Physics Science & TechnologyYANGZHOU UNIVERSITYCHINA3開放性好,易于擴充開放性好,易于

22、擴充Matlab語言有豐富的庫函數(shù),在進行復雜的數(shù)學運算時語言有豐富的庫函數(shù),在進行復雜的數(shù)學運算時可以直接調(diào)用,而且可以直接調(diào)用,而且Matlab的的庫函數(shù)同用戶文件在形成上一庫函數(shù)同用戶文件在形成上一樣,所以用戶文件也可作為樣,所以用戶文件也可作為Matlab的庫函數(shù)來調(diào)用的庫函數(shù)來調(diào)用。用戶可。用戶可以根據(jù)自己的需要方便地建立和擴充新的庫函數(shù),以便提高以根據(jù)自己的需要方便地建立和擴充新的庫函數(shù),以便提高Matlab使用效率和擴充它的功能。另外,可以充分利用使用效率和擴充它的功能。另外,可以充分利用Fortran、C等語言的資源,包括用戶已編好的等語言的資源,包括用戶已編好的Fortran

23、,C語語言程序,混合編程,言程序,混合編程,方便地調(diào)用有關(guān)的方便地調(diào)用有關(guān)的Fortran,C語言的子語言的子程序程序。ZHU JunZHU JunCollege of Physics Science & TechnologyYANGZHOU UNIVERSITYCHINA4語句簡單,內(nèi)涵豐富語句簡單,內(nèi)涵豐富 Mat1ab語言中最基本最重要的成分是函數(shù),其一般形式為語言中最基本最重要的成分是函數(shù),其一般形式為a,b,c = fun(d,e,f,),即一個函數(shù)由函數(shù)名,即一個函數(shù)由函數(shù)名,輸入變量輸入變量d,e,f,和輸出變量和輸出變量a,b,c組成,同一函數(shù)組成,同一函數(shù)名名F,不同數(shù)目的輸

24、入變量,不同數(shù)目的輸入變量(包括無輸入變量包括無輸入變量)及不同數(shù)目的輸出及不同數(shù)目的輸出變量,代表著不同的含義變量,代表著不同的含義(有點像面向?qū)ο笾械亩鄳B(tài)性。這不僅有點像面向?qū)ο笾械亩鄳B(tài)性。這不僅使使Matlab的庫函數(shù)功能更豐富,而大大減少了需要的磁盤空間,的庫函數(shù)功能更豐富,而大大減少了需要的磁盤空間,使得使得Matlab編寫的編寫的M文件簡單、短小而高效。文件簡單、短小而高效。ZHU JunZHU JunCollege of Physics Science & TechnologyYANGZHOU UNIVERSITYCHINA5高效方便的矩陣和數(shù)組運算高效方便的矩陣和數(shù)組運算Mat

25、lab語言象語言象Basic、Fortran和和C語言一樣規(guī)定了矩陣的語言一樣規(guī)定了矩陣的算術(shù)運算符、關(guān)系運算符、邏輯運算符、條件運算符及賦值運算術(shù)運算符、關(guān)系運算符、邏輯運算符、條件運算符及賦值運算符,而且這些運算符大部分可以毫無改變地照搬到數(shù)組間的算符,而且這些運算符大部分可以毫無改變地照搬到數(shù)組間的運算,有些如算術(shù)運算符只要增加運算,有些如算術(shù)運算符只要增加“”就可用于數(shù)組間的運算,就可用于數(shù)組間的運算,另外,它另外,它不需定義數(shù)組的維數(shù),并給出矩陣函數(shù)、特殊矩陣專不需定義數(shù)組的維數(shù),并給出矩陣函數(shù)、特殊矩陣專門的庫函數(shù),門的庫函數(shù),使之在求解諸如信號處理、建模、系統(tǒng)識別、控使之在求解諸

26、如信號處理、建模、系統(tǒng)識別、控制、優(yōu)化等領(lǐng)域的問題時,顯得大為簡捷、高效、方便,這是制、優(yōu)化等領(lǐng)域的問題時,顯得大為簡捷、高效、方便,這是其它高級語言所不能比擬的。在此基礎(chǔ)上,高版本的其它高級語言所不能比擬的。在此基礎(chǔ)上,高版本的Matlab已已逐步擴展到科學及工程計算的其它領(lǐng)域。逐步擴展到科學及工程計算的其它領(lǐng)域。ZHU JunZHU JunCollege of Physics Science & TechnologyYANGZHOU UNIVERSITYCHINA6方便的繪圖功能方便的繪圖功能Matlab的繪圖是十分方便的,它有一系列繪圖函數(shù)的繪圖是十分方便的,它有一系列繪圖函數(shù)(命命令令

27、),例如線性坐標、對數(shù)坐標,半對數(shù)坐標及極坐標,均只,例如線性坐標、對數(shù)坐標,半對數(shù)坐標及極坐標,均只需調(diào)用不同的繪圖函數(shù)需調(diào)用不同的繪圖函數(shù)(命令命令),在圖上標出圖題、,在圖上標出圖題、XY軸標注,軸標注,格格(柵柵)繪制也只需調(diào)用相應的命令,簡單易行。另外,在調(diào)用繪制也只需調(diào)用相應的命令,簡單易行。另外,在調(diào)用繪圖函數(shù)時調(diào)整自變量可繪出不變顏色的點、線、復線或多繪圖函數(shù)時調(diào)整自變量可繪出不變顏色的點、線、復線或多重線。這種為科學研究著想的設(shè)計是通用的編程語言所不及重線。這種為科學研究著想的設(shè)計是通用的編程語言所不及的。的。7學科眾多,領(lǐng)域廣泛的工具箱學科眾多,領(lǐng)域廣泛的工具箱8. 與與C

28、語言和語言和Fortran語言有良好的接口語言有良好的接口ZHU JunZHU JunCollege of Physics Science & TechnologyYANGZHOU UNIVERSITYCHINA例:例: 考慮兩個矩陣考慮兩個矩陣A和和B的乘積問題:的乘積問題: 在在C語言中要實現(xiàn)兩個矩陣的乘積并不僅僅是一組雙重語言中要實現(xiàn)兩個矩陣的乘積并不僅僅是一組雙重循環(huán)的問題。雙重循環(huán)當然是矩陣乘積所必需的,除此之外循環(huán)的問題。雙重循環(huán)當然是矩陣乘積所必需的,除此之外要考慮的問題很多。例如:要考慮的問題很多。例如:A和和B有一個是復數(shù)矩陣怎么考有一個是復數(shù)矩陣怎么考慮;其中一個是復數(shù)矩陣

29、時怎么考慮;全部是實系數(shù)矩陣時慮;其中一個是復數(shù)矩陣時怎么考慮;全部是實系數(shù)矩陣時又怎么管理;這樣就要在一個程序中有又怎么管理;這樣就要在一個程序中有4個分支,分別考慮個分支,分別考慮這這4種情況。種情況。ZHU JunZHU JunCollege of Physics Science & TechnologyYANGZHOU UNIVERSITYCHINA 然后還得判斷這兩個矩陣是否可乘。而考慮兩個矩陣是否然后還得判斷這兩個矩陣是否可乘。而考慮兩個矩陣是否可乘也并不僅僅是判斷可乘也并不僅僅是判斷A的列數(shù)是否等于的列數(shù)是否等于B的行數(shù)這么簡單。的行數(shù)這么簡單。其中一個若為標量,則它們可以無條件

30、地相乘。其中有標量其中一個若為標量,則它們可以無條件地相乘。其中有標量時又得考慮實數(shù)與復數(shù)的問題等。所以說,沒有幾十分鐘的時又得考慮實數(shù)與復數(shù)的問題等。所以說,沒有幾十分鐘的時間,用時間,用C語言并不可能編寫出考慮各種情況的子程序。有了語言并不可能編寫出考慮各種情況的子程序。有了 MATLAB 這樣的工具,這樣的工具,A和和B矩陣的乘積用矩陣的乘積用A*B這樣簡單的這樣簡單的算式就能表示了。算式就能表示了。ZHU JunZHU JunCollege of Physics Science & TechnologyYANGZHOU UNIVERSITYCHINA文藝復興時期德國畫家兼數(shù)學家文藝復興

31、時期德國畫家兼數(shù)學家Albercht Durer創(chuàng)作的版創(chuàng)作的版畫患憂郁癥的人畫患憂郁癥的人 ZHU JunZHU JunCollege of Physics Science & TechnologyYANGZHOU UNIVERSITYCHINA魔方矩陣生成與運算魔方矩陣生成與運算: 考慮一個考慮一個“數(shù)學問題數(shù)學問題”, 該問題用半數(shù)學語言描述就是:該問題用半數(shù)學語言描述就是:如何生成一個如何生成一個 3x3 矩陣矩陣, 并將自然數(shù)并將自然數(shù) 1, 2, ., 9 分別置成這分別置成這 9 個矩陣元素,才能使得每一行、每一列、且主、反對角線個矩陣元素,才能使得每一行、每一列、且主、反對角線

32、上元素相加都等于一個相同的數(shù)。這樣的矩陣稱為上元素相加都等于一個相同的數(shù)。這樣的矩陣稱為“魔方魔方矩陣矩陣”。ZHU JunZHU JunCollege of Physics Science & TechnologyYANGZHOU UNIVERSITYCHINA用用 MATLAB 的的 magic() 函數(shù),我們可以由下面的命令立即生函數(shù),我們可以由下面的命令立即生成這樣的矩陣:成這樣的矩陣: A=magic(3) A = 8 1 6 3 5 7 4 9 2 還可以由還可以由 B=magic(10) 一次生成一次生成 10 x10 的魔方矩陣。如的魔方矩陣。如果想求出矩陣的行列式和特征值,可

33、以分別由果想求出矩陣的行列式和特征值,可以分別由 det(B) 與與 eig(B) 立即得出結(jié)果,而同樣的工作在立即得出結(jié)果,而同樣的工作在 C 下并不是很簡單就可以得下并不是很簡單就可以得出的,算法選擇不好,還可能得出錯誤的結(jié)果。出的,算法選擇不好,還可能得出錯誤的結(jié)果。 ZHU JunZHU JunCollege of Physics Science & TechnologyYANGZHOU UNIVERSITYCHINA例例 :考慮一個二元函數(shù):考慮一個二元函數(shù) 如何用三維圖形的方式表現(xiàn)出這個曲面?如何用三維圖形的方式表現(xiàn)出這個曲面? 用用 C 這類語言,繪制圖形是一個難點,且從一個機器

34、移這類語言,繪制圖形是一個難點,且從一個機器移植程序到另一個機器,大部分調(diào)試程序時間都花在這上。但植程序到另一個機器,大部分調(diào)試程序時間都花在這上。但使用使用 MATLAB 這類高級語言,完成這樣的工作就是幾個直這類高級語言,完成這樣的工作就是幾個直觀語句的事。且得出的圖形美觀準確、可以將語句毫不變化觀語句的事。且得出的圖形美觀準確、可以將語句毫不變化地移植到另外的機器上,得出完全一致的結(jié)果,如下所示。地移植到另外的機器上,得出完全一致的結(jié)果,如下所示。 222222)1(53)1(2231)5(10)1 (3),(yxyxyxeeyxxexyxfzZHU JunZHU JunCollege

35、of Physics Science & TechnologyYANGZHOU UNIVERSITYCHINA 使用使用 MATLAB 這類高級語言,完成這樣的工作就是幾這類高級語言,完成這樣的工作就是幾個直觀語句的事。且得出的圖形美觀準確、可以將語句毫不個直觀語句的事。且得出的圖形美觀準確、可以將語句毫不變化地移植到另外的機器上,得出完全一致的結(jié)果,如下所變化地移植到另外的機器上,得出完全一致的結(jié)果,如下所示。示。 x,y=meshgrid(-3:1/8:3);z=3*(1-x).2.*exp(-(x.2)-(y+1).2)-10*(x/5-x.3-y.5).*exp(-x.2-y.2)-1

36、/3*exp(-(x+1).2 - y.2);surf(x,y,z)shading interp;colorbar ZHU JunZHU JunCollege of Physics Science & TechnologyYANGZHOU UNIVERSITYCHINAZHU JunZHU JunCollege of Physics Science & TechnologyYANGZHOU UNIVERSITYCHINA 微分方程的數(shù)值解法是在科學與工程計算中經(jīng)常遇到微分方程的數(shù)值解法是在科學與工程計算中經(jīng)常遇到的問題。假設(shè)著名的的問題。假設(shè)著名的 Lorenz 模型的狀態(tài)方程表示為:模型的狀

37、態(tài)方程表示為: 若令若令 且初值為:且初值為: )()()()()()()()()()()()(322133223211txtxtxtxtxtxtxtxtxtxtxtx38,28,10-1032110,)0(, 0)0()0(為一小常數(shù),等于xxx例:例:ZHU JunZHU JunCollege of Physics Science & TechnologyYANGZHOU UNIVERSITYCHINA則我們可以由下面的幾個語句就可以描述微分則我們可以由下面的幾個語句就可以描述微分方程:方程: function xdot = lorenzeq(t,x)xdot=-8/3*x(1)+x(2)

38、*x(3); -10*x(2)+10*x(3); -x(1)*x(2)+28*x(2)-x(3);ZHU JunZHU JunCollege of Physics Science & TechnologyYANGZHOU UNIVERSITYCHINA這樣下面幾個語句就能求解該微分方程,繪制出這樣下面幾個語句就能求解該微分方程,繪制出時間曲線與相空間曲線,如下所示。時間曲線與相空間曲線,如下所示。 t_final=100; x0=0;0;1e-10; t,x=ode45(lorenzeq,0,t_final,x0); plot(t,x), figure; plot3(x(:,1),x(:,2)

39、,x(:,3); axis(10 40 -20 20 -20 20);ZHU JunZHU JunCollege of Physics Science & TechnologyYANGZHOU UNIVERSITYCHINAZHU JunZHU JunCollege of Physics Science & TechnologyYANGZHOU UNIVERSITYCHINA三維曲面陰影圖ZHU JunZHU JunCollege of Physics Science & TechnologyYANGZHOU UNIVERSITYCHINA等高線圖ZHU JunZHU JunCollege o

40、f Physics Science & TechnologyYANGZHOU UNIVERSITYCHINA三維網(wǎng)格曲面圖ZHU JunZHU JunCollege of Physics Science & TechnologyYANGZHOU UNIVERSITYCHINA帶亮度的三維曲面陰影圖ZHU JunZHU JunCollege of Physics Science & TechnologyYANGZHOU UNIVERSITYCHINA箭頭圖ZHU JunZHU JunCollege of Physics Science & TechnologyYANGZHOU UNIVERSIT

41、YCHINA體積切片圖ZHU JunZHU JunCollege of Physics Science & TechnologyYANGZHOU UNIVERSITYCHINA 總之,總之,MatlabMatlab語言的設(shè)計思想可以說代表了當語言的設(shè)計思想可以說代表了當前計算機高級語言的發(fā)展方向。在不斷使用中,會前計算機高級語言的發(fā)展方向。在不斷使用中,會發(fā)現(xiàn)它的巨大潛力。發(fā)現(xiàn)它的巨大潛力。MATLAB的應用領(lǐng)域的應用領(lǐng)域 MATLAB的上述特點,使它深受工程技術(shù)人員及科技專的上述特點,使它深受工程技術(shù)人員及科技專家的歡迎,并很快成為應用學科家的歡迎,并很快成為應用學科計算機輔助分析、設(shè)計、仿

42、計算機輔助分析、設(shè)計、仿真、教學真、教學等領(lǐng)域不可缺少的基礎(chǔ)軟件。目前,在國外高等院等領(lǐng)域不可缺少的基礎(chǔ)軟件。目前,在國外高等院校,校,MATLAB已成為本科生、研究生必須掌握的基礎(chǔ)軟件,已成為本科生、研究生必須掌握的基礎(chǔ)軟件,國內(nèi)一些理工院校也已經(jīng)或者正在把國內(nèi)一些理工院校也已經(jīng)或者正在把MATLAB作為學生必須作為學生必須掌握的一種軟件。掌握的一種軟件。ZHU JunZHU JunCollege of Physics Science & TechnologyYANGZHOU UNIVERSITYCHINA1.3 MATLAB系統(tǒng)及工具箱系統(tǒng)及工具箱 MATLAB系統(tǒng)由基本部分、各種功能性與

43、學科性的工具系統(tǒng)由基本部分、各種功能性與學科性的工具箱兩部分組成。箱兩部分組成?;静糠职〝?shù)組、矩陣運算,代數(shù)和超越方程的求解,數(shù)基本部分包括數(shù)組、矩陣運算,代數(shù)和超越方程的求解,數(shù)據(jù)處理和傅利葉變換,數(shù)值積分等。據(jù)處理和傅利葉變換,數(shù)值積分等。工具箱實際是用工具箱實際是用MATLAB語句編成的、可供調(diào)用的函數(shù)文語句編成的、可供調(diào)用的函數(shù)文件集,用于解決某一方面的專門問題或?qū)崿F(xiàn)某一類新算法。件集,用于解決某一方面的專門問題或?qū)崿F(xiàn)某一類新算法。如生物信息科學工具箱、通信工具箱、控制系統(tǒng)工具箱、曲如生物信息科學工具箱、通信工具箱、控制系統(tǒng)工具箱、曲線擬合工具箱、數(shù)據(jù)采集工具箱等。目前線擬合工具箱

44、、數(shù)據(jù)采集工具箱等。目前MATLAB本身提供本身提供的工具箱共有的工具箱共有40多個,用戶也可自行開發(fā)工具箱,多個,用戶也可自行開發(fā)工具箱,Internet上上也有大量用戶開發(fā)的工具箱。也有大量用戶開發(fā)的工具箱。ZHU JunZHU JunCollege of Physics Science & TechnologyYANGZHOU UNIVERSITYCHINA1.4 MATLAB的安裝的安裝l 運行運行MATLAB安裝文件安裝文件setup.exe。l 默認路徑為默認路徑為c:Program Filesmatlab71。l 在桌面生成在桌面生成MATLAB 7.1的快捷方式圖標。的快捷方式

45、圖標。ZHU JunZHU JunCollege of Physics Science & TechnologyYANGZHOU UNIVERSITYCHINAZHU JunZHU JunCollege of Physics Science & TechnologyYANGZHOU UNIVERSITYCHINAZHU JunZHU JunCollege of Physics Science & TechnologyYANGZHOU UNIVERSITYCHINAZHU JunZHU JunCollege of Physics Science & TechnologyYANGZHOU UNIV

46、ERSITYCHINAZHU JunZHU JunCollege of Physics Science & TechnologyYANGZHOU UNIVERSITYCHINAZHU JunZHU JunCollege of Physics Science & TechnologyYANGZHOU UNIVERSITYCHINAZHU JunZHU JunCollege of Physics Science & TechnologyYANGZHOU UNIVERSITYCHINAZHU JunZHU JunCollege of Physics Science & TechnologyYANGZ

47、HOU UNIVERSITYCHINAZHU JunZHU JunCollege of Physics Science & TechnologyYANGZHOU UNIVERSITYCHINAZHU JunZHU JunCollege of Physics Science & TechnologyYANGZHOU UNIVERSITYCHINAZHU JunZHU JunCollege of Physics Science & TechnologyYANGZHOU UNIVERSITYCHINAZHU JunZHU JunCollege of Physics Science & Technol

48、ogyYANGZHOU UNIVERSITYCHINAZHU JunZHU JunCollege of Physics Science & TechnologyYANGZHOU UNIVERSITYCHINAZHU JunZHU JunCollege of Physics Science & TechnologyYANGZHOU UNIVERSITYCHINAZHU JunZHU JunCollege of Physics Science & TechnologyYANGZHOU UNIVERSITYCHINA目錄結(jié)構(gòu)目錄結(jié)構(gòu)ZHU JunZHU JunCollege of Physics S

49、cience & TechnologyYANGZHOU UNIVERSITYCHINA(1)matlabbin:主執(zhí)行文件:主執(zhí)行文件matlab.exe在在binwin32內(nèi);此外,內(nèi);此外,還有建立還有建立MEX_文件所需的批處理文件和必需的二進制文件文件所需的批處理文件和必需的二進制文件.(2)matlabextern:包含:包含MATLAB與與CFORTRAN語言交互所需語言交互所需的函數(shù)定義和鏈接庫的函數(shù)定義和鏈接庫 (3)matlabnotebook:該目錄包含實現(xiàn):該目錄包含實現(xiàn)MATLAB數(shù)學環(huán)境與數(shù)學環(huán)境與MS_Word文字處理環(huán)境交換所需的軟件文字處理環(huán)境交換所需的軟件(M

50、_book模板模板)和一和一些示范文件;些示范文件;(4)matlabsimulink:該目錄包含建立:該目錄包含建立simulink MEX_文件所必文件所必需的函數(shù)定義和接口文件;需的函數(shù)定義和接口文件; simulink是一個專門用于動態(tài)仿是一個專門用于動態(tài)仿真分析的軟件環(huán)境真分析的軟件環(huán)境ZHU JunZHU JunCollege of Physics Science & TechnologyYANGZHOU UNIVERSITYCHINA(5)matlabtoolbox:(1.24G, 81206個文件,個文件,MATLAB文件夾為文件夾為2.0G,87807個文件個文件)umatl

51、ab MATLAB核心工具包核心工具包usimulink Simulink函數(shù)和工具函數(shù)和工具ulocal ustateflowutour(6)matlabwork:這是:這是MATLAB的工作空間,在啟動系統(tǒng)時的工作空間,在啟動系統(tǒng)時直接進入該目錄用以保存用戶自己的直接進入該目錄用以保存用戶自己的.mat或或.m文件。文件。ZHU JunZHU JunCollege of Physics Science & TechnologyYANGZHOU UNIVERSITYCHINA1.5 MATLAB操作界面操作界面Command Window MATLAB的命令窗口的命令窗口Command Hi

52、story 命令歷史窗口命令歷史窗口Current Directory 當前目錄瀏覽器當前目錄瀏覽器 Workspace 工作空間瀏覽器工作空間瀏覽器Help 幫助窗口幫助窗口ZHU JunZHU JunCollege of Physics Science & TechnologyYANGZHOU UNIVERSITYCHINAZHU JunZHU JunCollege of Physics Science & TechnologyYANGZHOU UNIVERSITYCHINAZHU JunZHU JunCollege of Physics Science & TechnologyYANGZ

53、HOU UNIVERSITYCHINA1.5.1 命令窗口命令窗口(Command Window)接收命令輸入:包括接收命令輸入:包括MATLAB命令,函數(shù),表達式,語命令,函數(shù),表達式,語句,句,M文件名或文件名或MEX文件名等。這些可輸入的對象通稱為文件名等。這些可輸入的對象通稱為語句。語句。顯示除圖形以外的所有運算結(jié)果。顯示除圖形以外的所有運算結(jié)果。MATLAB的主要工作的主要工作方式就是在命令窗口中輸入語句,然后由方式就是在命令窗口中輸入語句,然后由MATLAB逐句逐句解釋執(zhí)行,在命令窗口中輸出結(jié)果。解釋執(zhí)行,在命令窗口中輸出結(jié)果。ZHU JunZHU JunCollege of Ph

54、ysics Science & TechnologyYANGZHOU UNIVERSITYCHINA命令窗口的分離:從命令窗口的分離:從MATLAB 主界面中分離出來,以便單主界面中分離出來,以便單獨顯示和操作。獨顯示和操作。uDesktop 菜單中的菜單中的Undock Command Window命令;命令;u單擊窗口右上角的按鈕單擊窗口右上角的按鈕 ;u直接用鼠標將命令窗口拖離主界面;直接用鼠標將命令窗口拖離主界面;重新返回主界面中:重新返回主界面中:uDesktop 菜單中的菜單中的Dock Command Window 命令;命令;u單擊窗口右上角的按鈕單擊窗口右上角的按鈕 ;其它窗

55、口分離其他窗口與重返主界面的操作與此相同。其它窗口分離其他窗口與重返主界面的操作與此相同。ZHU JunZHU JunCollege of Physics Science & TechnologyYANGZHOU UNIVERSITYCHINA1 、命令提示符和顏色、命令提示符和顏色命令提示符:命令提示符:黑色:命令、函數(shù)黑色:命令、函數(shù)表達式、結(jié)果等表達式、結(jié)果等紫色:字符串紫色:字符串藍色:關(guān)鍵詞藍色:關(guān)鍵詞綠色:注釋綠色:注釋紅色:報警紅色:報警ZHU JunZHU JunCollege of Physics Science & TechnologyYANGZHOU UNIVERSITY

56、CHINA2 、命令窗編輯功能、命令窗編輯功能快捷方式:與快捷方式:與DOS操作系統(tǒng)類似。操作系統(tǒng)類似。 Esc:取消當前輸入的語句:取消當前輸入的語句 :向上:向上/ /下回調(diào)以前輸入的語句行下回調(diào)以前輸入的語句行 :光標在當前行中,左:光標在當前行中,左/右移一字符右移一字符 Home End:光標跳到當前行的開頭:光標跳到當前行的開頭/結(jié)尾結(jié)尾 Delete Backspace:刪除當前行光標后:刪除當前行光標后/前的字符前的字符ZHU JunZHU JunCollege of Physics Science & TechnologyYANGZHOU UNIVERSITYCHINA3 、

57、語句行中使用的標點符號、語句行中使用的標點符號空格空格 分號;分號;逗號逗號, , 圓括號圓括號() () 點號點號. . 方括號方括號冒號冒號: : 花括號花括號百分號百分號% % 續(xù)行號續(xù)行號單引號單引號 賦值號賦值號= =注:一定要使用英文狀態(tài)與的符號,而不是中注:一定要使用英文狀態(tài)與的符號,而不是中文狀態(tài)!文狀態(tài)!ZHU JunZHU JunCollege of Physics Science & TechnologyYANGZHOU UNIVERSITYCHINA4. 命令窗口中的數(shù)值顯示格式命令窗口中的數(shù)值顯示格式格式格式顯示形式顯示形式格式效果說明格式效果說明short2.718

58、34位小數(shù),整數(shù)部分不超過位小數(shù),整數(shù)部分不超過3位位short e2.7183e+0001位整數(shù)和位整數(shù)和4位小數(shù)的科學計數(shù)法位小數(shù)的科學計數(shù)法short g2.7183保證保證5位有效數(shù)字位有效數(shù)字long2.7182531563123414位小數(shù),位小數(shù),2位整數(shù)位整數(shù)long e2.7182531563123451位整數(shù)和位整數(shù)和15位小數(shù)的科學計數(shù)法位小數(shù)的科學計數(shù)法long g2.71825315631234保證保證15位有效數(shù)字位有效數(shù)字rational2/3用分數(shù)有理數(shù)近似表示用分數(shù)有理數(shù)近似表示hex1533dac16進制進制bank2.72限限2位小數(shù)位小數(shù)ZHU JunZ

59、HU JunCollege of Physics Science & TechnologyYANGZHOU UNIVERSITYCHINA注意:注意: MATLAB 所有數(shù)值均按所有數(shù)值均按IEEE 浮點標準浮點標準所規(guī)定的長型格式存儲,顯示的精度并不代所規(guī)定的長型格式存儲,顯示的精度并不代表數(shù)值實際的存儲精度,或者說數(shù)值參與運表數(shù)值實際的存儲精度,或者說數(shù)值參與運算的精度,認清這點是非常必要的。算的精度,認清這點是非常必要的。ZHU JunZHU JunCollege of Physics Science & TechnologyYANGZHOU UNIVERSITYCHINA默認顯示格式:

60、默認顯示格式:整數(shù):以整數(shù)顯示整數(shù):以整數(shù)顯示實數(shù):實數(shù):short格式格式屏顯格式屏顯格式compactlooseZHU JunZHU JunCollege of Physics Science & TechnologyYANGZHOU UNIVERSITYCHINA5. 數(shù)值顯示格式的設(shè)定數(shù)值顯示格式的設(shè)定 format The default is FORMAT SHORT. (LOOSE) FORMAT does not affect how MATLAB computations are done. format long format loose(2) filepreference

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論