matlab基礎教學課件_第1頁
matlab基礎教學課件_第2頁
matlab基礎教學課件_第3頁
matlab基礎教學課件_第4頁
matlab基礎教學課件_第5頁
已閱讀5頁,還剩335頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、MMATLABATLAB 語言及其應用 Application of Matlab Language 2022-6-8Application of Matlab Language2 n 課程的作用課程的作用n 課程的目的課程的目的n 課程的特點課程的特點n 課程安排課程安排 2022-6-8Application of Matlab Language3 課程的作用課程的作用 在歐美各在歐美各高等學校高等學校,MatlabMatlab成為線性代數(shù)、自動控制理論、成為線性代數(shù)、自動控制理論、數(shù)字信號處理、時間序列分析、動態(tài)系統(tǒng)仿真、圖像處理等數(shù)字信號處理、時間序列分析、動態(tài)系統(tǒng)仿真、圖像處理等諸多

2、課程的基本教學工具,成為諸多課程的基本教學工具,成為本科生、碩士生和博士生的本科生、碩士生和博士生的必須掌握的基本技能。必須掌握的基本技能。 在在設計研究單位和工業(yè)部門設計研究單位和工業(yè)部門,MatlabMatlab已被廣泛地用于研究已被廣泛地用于研究和和解決各種具體的工程問題解決各種具體的工程問題。 可以預見,可以預見,MatlabMatlab將在我國科學研究和工程應用中發(fā)揮越將在我國科學研究和工程應用中發(fā)揮越來越大的作用。來越大的作用。 2022-6-8Application of Matlab Language4 講授講授MATLABMATLAB語言基礎入門知識語言基礎入門知識,介紹,介

3、紹MATLABMATLAB產品的體系、產品的體系、MATLABMATLAB桌面工具桌面工具的使用方法,的使用方法,重點介紹重點介紹MATLABMATLAB的數(shù)據(jù)可視化、的數(shù)據(jù)可視化、數(shù)值計算數(shù)值計算的基本步驟的基本步驟以及以及如何使如何使用用MATLABMATLAB語言編寫整潔、高效、規(guī)范的程序。語言編寫整潔、高效、規(guī)范的程序。并涉及到一些具體的并涉及到一些具體的專業(yè)應用工專業(yè)應用工具箱具箱(如:信號處理工具箱、圖像處理工具箱等)。(如:信號處理工具箱、圖像處理工具箱等)。 通過本課程的學習,通過本課程的學習,了解、熟悉、掌握了解、熟悉、掌握 MATLABMATLAB的基本編程方法的基本編程方

4、法,并具有初并具有初步的利用計算機處理、解決實際問題的能力步的利用計算機處理、解決實際問題的能力,為進一步學習后續(xù)的專業(yè)課程做,為進一步學習后續(xù)的專業(yè)課程做好準備。好準備。本課程的目的本課程的目的( Objectives of This CourseObjectives of This Course ) 本課程的特點本課程的特點( Features of This CourseFeatures of This Course ) 交叉性課程,是交叉性課程,是計算機技術計算機技術、數(shù)學理論數(shù)學理論知識以及諸多知識以及諸多工程理論工程理論知識的綜合。知識的綜合。 實踐性課程。實踐性課程。 內容多,課

5、時少,要求同學上課認真聽講,要充分利用上機實踐消化、理解、內容多,課時少,要求同學上課認真聽講,要充分利用上機實踐消化、理解、 掌握課上講解內容。掌握課上講解內容。 2022-6-8Application of Matlab Language5 課程安排課程安排n課堂教學:共課堂教學:共2424學時;學時;(1-121-12周)周)n上機試驗:共上機試驗:共2424學時。學時。 (2-132-13周,周二周,周二7-87-8節(jié),九實節(jié),九實401401、402402、403403)p學習成績:學習成績: 1)上機實驗成績占上機實驗成績占30%;30%; 2)考勤考勤 10% ;10% ; 3)

6、 考試考試60% 60% (隨堂考試)(隨堂考試)。主要參考書主要參考書精通精通MATLAB 6.5MATLAB 6.5張志涌張志涌 等編著,北航出版,等編著,北航出版,20032003年年高等應用數(shù)學問題的高等應用數(shù)學問題的MatlabMatlab求解求解 薛定宇等著,清華大學出薛定宇等著,清華大學出版社,版社,20042004年年MatlabMatlab程序設計與應用程序設計與應用 劉衛(wèi)國主編,高等教育出版社劉衛(wèi)國主編,高等教育出版社 2022-6-8Application of Matlab Language6 授課宗旨授課宗旨 講授講授MATLAB的通用功能。的通用功能。 寓教于例,由

7、淺入深。寓教于例,由淺入深。 關于科學計算,著重強調理論概念、算法和實際計算三者關于科學計算,著重強調理論概念、算法和實際計算三者之間的關系。之間的關系。 2022-6-8Application of Matlab Language7 第一講第一講 Matlab概述n 前言前言n MatlabMatlab軟件概述軟件概述n MatlabMatlab的桌面環(huán)境及入門知識的桌面環(huán)境及入門知識 2022-6-8Application of Matlab Language8 1 Matlab1 Matlab概述概述n 內容內容n MatlabMatlab發(fā)展歷史發(fā)展歷史n MatlabMatlab產品

8、家族產品家族( (MatlabMatlab family of productsfamily of products) )體系體系n MatlabMatlab 語言的特點。語言的特點。n 目的目的n 全面了解全面了解 MatlabMatlab軟件包軟件包n 激發(fā)對激發(fā)對MatlabMatlab軟件的學習興趣。軟件的學習興趣。 2022-6-8Application of Matlab Language9 1.1 MATLAB的歷史及影響的歷史及影響 7070年代中期年代中期,Cleve MolerCleve Moler博土及其同事在美國國家基金會博土及其同事在美國國家基金會的幫助下,開發(fā)了的幫

9、助下,開發(fā)了LINPACKLINPACK和和EISPACKEISPACK的的FORTRANFORTRAN語言語言子程序庫,子程序庫,這兩個程序庫代表了當時矩陣運算的最高水平。這兩個程序庫代表了當時矩陣運算的最高水平。到了到了7070年代后期年代后期,身為美國新墨西哥州大學計算機系系主,身為美國新墨西哥州大學計算機系系主任的任的CIeve MolerCIeve Moler,在給學生上線性代數(shù)課時,為了讓學生,在給學生上線性代數(shù)課時,為了讓學生能使用這兩個子程序庫,同時又不用在編程上花費過多的能使用這兩個子程序庫,同時又不用在編程上花費過多的時間,開始著手用時間,開始著手用FORTRANFORTR

10、AN語言為學生編寫使用語言為學生編寫使用LINPACKLINPACK和和EISPACKEISPACK的接口程序,他將這個程序取名為的接口程序,他將這個程序取名為MATLABMATLAB,其名稱是由其名稱是由MATrixMATrix和和 LABoratoryLABoratory(矩陣實驗室)(矩陣實驗室)兩個單詞的前三個字母所合成兩個單詞的前三個字母所合成。在在19781978年年,MalabMalab就面世了。這個程序獲得了很大的成功,就面世了。這個程序獲得了很大的成功,受到了學生的廣泛歡迎。在以后的幾年里,受到了學生的廣泛歡迎。在以后的幾年里,MatlabMatlab在多所在多所大學里作為教

11、學輔助軟件使用,并作為面向大眾的免費軟大學里作為教學輔助軟件使用,并作為面向大眾的免費軟件廣為流傳。件廣為流傳。Cleve Moler 2022-6-8Application of Matlab Language10 將將MATLABMATLAB商品化的不是商品化的不是Cleve MolerCleve Moler, ,而是一個名叫而是一個名叫Jack LittleJack Little的人。當免費的的人。當免費的MATLABMATLAB軟件到軟件到StanfordStanford大學,大學,Jack LittleJack Little正在該正在該校主修校主修控制控制,便接觸到了當時,便接觸到了

12、當時MATLABMATLAB,直覺告訴他,這是一個,直覺告訴他,這是一個具有巨大發(fā)展?jié)摿Φ能浖?。因此他在畢業(yè)沒多久,就開始具有巨大發(fā)展?jié)摿Φ能浖R虼怂诋厴I(yè)沒多久,就開始用用C C語語言重新編寫了言重新編寫了MATLABMATLAB的核心。的核心。在在MolerMoler的協(xié)助下,于的協(xié)助下,于19841984年成年成立立MathWorksMathWorks公司,首次推出公司,首次推出MATLABMATLAB商用版。在其商用版推出商用版。在其商用版推出的初期,的初期,MATLABMATLAB就以其優(yōu)秀的品質(就以其優(yōu)秀的品質(高效的數(shù)據(jù)計算能力和開高效的數(shù)據(jù)計算能力和開放的體系結構放的體系結

13、構)占據(jù)了大部分數(shù)學計算軟件的市場,原來應用于)占據(jù)了大部分數(shù)學計算軟件的市場,原來應用于控制領域里的一些封閉式數(shù)學計算軟件包(如英國的控制領域里的一些封閉式數(shù)學計算軟件包(如英國的UMISTUMIST、瑞、瑞典的典的LUNDLUND和和SIMNONSIMNON、德國的、德國的KEDDCKEDDC)就紛紛被淘汰或在)就紛紛被淘汰或在MATLABMATLAB上重建。上重建。Jack Little 2022-6-8Application of Matlab Language11 Cleve MolerCleve Moler至今仍是該公司的首席科學家至今仍是該公司的首席科學家,他以,他以6060多多

14、歲的高齡,還常常親自進行撰寫歲的高齡,還常常親自進行撰寫程序的工作,非常令人佩服。如果你有數(shù)值運算方面的高水平問題,寄到程序的工作,非常令人佩服。如果你有數(shù)值運算方面的高水平問題,寄到 MathWorksMathWorks 后,后,大部份還是會由大部份還是會由 Cleve MolerCleve Moler親自回答。在親自回答。在19941994年,年,PentiumPentium芯片曾發(fā)生芯片曾發(fā)生FdivFdiv的的bugbug, 當時當時Cleve MolerCleve Moler是第一個以軟件方式解決此是第一個以軟件方式解決此 bugbug的人,曾一時膾炙人口的人,曾一時膾炙人口。 在公

15、司初創(chuàng)的五年,在公司初創(chuàng)的五年,Jack LittleJack Little非常辛苦,常常身兼數(shù)職(董事長、總經理、推銷、非常辛苦,常常身兼數(shù)職(董事長、總經理、推銷、程序開發(fā)等),但公司一直穩(wěn)定發(fā)展,從當初的一人公司,到程序開發(fā)等),但公司一直穩(wěn)定發(fā)展,從當初的一人公司,到19931993年的年的200200人,到人,到20002000年的年的 500500余人,余人,到到20052005年公司員工達到了年公司員工達到了13001300人,人,不但打不但打敗敗其他競爭軟件,而且前景一片欣欣向其他競爭軟件,而且前景一片欣欣向榮。根據(jù)榮。根據(jù)Jack LittleJack Little個人個人說

16、說法,法,MATLABMATLAB早期成功的兩大因素是:選用了早期成功的兩大因素是:選用了C C語語言及選定言及選定PCPC為主為主要平臺,這似乎和微軟的成功有相互呼應之妙。要平臺,這似乎和微軟的成功有相互呼應之妙。 MathWorksMathWorks公司,目前仍然是私人企業(yè),并未上市,這和公司,目前仍然是私人企業(yè),并未上市,這和Jack LittleJack Little個人理念有關,個人理念有關,他認為他認為MATLABMATLAB的設計方向應該一直是以顧客的需求與軟件的完整性為首要目標的設計方向應該一直是以顧客的需求與軟件的完整性為首要目標,而不是以盈,而不是以盈利為主要利為主要目的目

17、的,因此,因此MATLABMATLAB一直是在穩(wěn)定中求進步,而不會因為上市而遭受股東左右其發(fā)展一直是在穩(wěn)定中求進步,而不會因為上市而遭受股東左右其發(fā)展方向。這也是為什么方向。這也是為什么MATLABMATLAB新版本總是新版本總是姍姍來姍姍來遲遲的的原因,因為他們不會因為市場的需求而推原因,因為他們不會因為市場的需求而推出不成熟的產品。此外,由于出不成熟的產品。此外,由于Jack LittleJack Little保守的個性,也使得保守的個性,也使得MathWorksMathWorks不曾跨足不曾跨足MATLAB/SimulinkMATLAB/Simulink以外的行業(yè),當前商場上紛紛擾擾的并

18、購或分家,以外的行業(yè),當前商場上紛紛擾擾的并購或分家,MathWorksMathWorks完全是絕緣體。完全是絕緣體。 2022-6-8Application of Matlab Language12 1992 1992年,支持年,支持Windows 3.xWindows 3.x的的MATLAB 4.0MATLAB 4.0版本推出,增加了版本推出,增加了SimulinkSimulink,ControlControl,Neural NetworkNeural Network,Signal ProcessingSignal Processing等專用工具箱。等專用工具箱。 1993 1993年年1

19、111月,月,MathWorksMathWorks公司推出了公司推出了MatlabMatlab 4.1 4.1,其中主要增加了符號運算功能。,其中主要增加了符號運算功能。當升級至當升級至MatlabMatlab 4.2c 4.2c,這一功能在用戶中得到廣泛應用。,這一功能在用戶中得到廣泛應用。 1997 1997年,年,MatlabMatlab 5.0 5.0版本問世了版本問世了, ,實現(xiàn)了真正的實現(xiàn)了真正的3232位運算,加快數(shù)值計算,圖形表現(xiàn)位運算,加快數(shù)值計算,圖形表現(xiàn)有效。有效。 2001 2001年初,年初,MathWorksMathWorks公司推出了公司推出了MatlabMatl

20、ab 6.0 6.0(R12R12)。)。 2002 2002年年7 7月,推出了月,推出了MatlabMatlab 6.5(R13) 6.5(R13),在這一版本中,在這一版本中SimulinkSimulink升級到了升級到了5.05.0,性能有,性能有了很大提高,另一大特點是推出了了很大提高,另一大特點是推出了JITJIT程序加速器,程序加速器,MatlabMatlab的計算速度有了明顯的的計算速度有了明顯的提高。提高。 2005 2005年年9 9月,推出了月,推出了MAILAB 7.1(Release14 SP3)MAILAB 7.1(Release14 SP3),在這一版本中,在這一

21、版本中SimulinkSimulink升級到了升級到了6.36.3,軟件性能有了新的提高,用戶界面更加友好。值得說明的是,軟件性能有了新的提高,用戶界面更加友好。值得說明的是,MatlabMatlab V7.1 V7.1版版采用了更先進的數(shù)學程序庫,即采用了更先進的數(shù)學程序庫,即“LAPACK”LAPACK”和和“BLAS”BLAS”。 目前,目前,MatlabMatlab軟件支持多種系統(tǒng)平臺,如常見的軟件支持多種系統(tǒng)平臺,如常見的WindowsNTWindowsNT/XP/XP、UNIXUNIX、LinuxLinux等。等。Matlab版本的發(fā)展版本的發(fā)展 2022-6-8Applicati

22、on of Matlab Language13 MATLABMATLAB就是這樣經過了近就是這樣經過了近3030年的專門打造、年的專門打造、2020多年的千錘百煉,它以高性能多年的千錘百煉,它以高性能的的數(shù)組運算(包括矩陣運算)數(shù)組運算(包括矩陣運算)為基礎,不僅實現(xiàn)了大多數(shù)數(shù)學算法的為基礎,不僅實現(xiàn)了大多數(shù)數(shù)學算法的高效運行函高效運行函數(shù)數(shù)和和數(shù)據(jù)可視化數(shù)據(jù)可視化,而且提供了非常高效的,而且提供了非常高效的計算機高級編程語言計算機高級編程語言,在用戶可參與的,在用戶可參與的情況下,情況下,各種專業(yè)領域的工具箱各種專業(yè)領域的工具箱不斷開發(fā)和完善,不斷開發(fā)和完善,MATLABMATLAB取得了巨

23、大的成功,已取得了巨大的成功,已廣泛應用于廣泛應用于科學研究、工程應用,用于數(shù)值計算分析、系統(tǒng)建模與仿真科學研究、工程應用,用于數(shù)值計算分析、系統(tǒng)建模與仿真。 早在早在2020世紀世紀9090年代初年代初,歐美等發(fā)達國家的大學歐美等發(fā)達國家的大學就將就將MATLABMATLAB列為一種必須掌握列為一種必須掌握的編程語言。近幾年來,國內的很多大學也將的編程語言。近幾年來,國內的很多大學也將MATLABMATLAB列為了列為了本科生本科生必修課程。必修課程。 與與MapleMaple、MathematicaMathematica數(shù)學計算軟件相比,數(shù)學計算軟件相比,MATLABMATLAB以數(shù)值計算

24、見長,而以數(shù)值計算見長,而MapleMaple等以符號運算見長,能給出解析解和任意精度解,而處理大量數(shù)據(jù)的能力遠不如等以符號運算見長,能給出解析解和任意精度解,而處理大量數(shù)據(jù)的能力遠不如MATLABMATLAB。 MATLABMATLAB軟件功能之強大、應用之廣泛,已成為為軟件功能之強大、應用之廣泛,已成為為2121世紀最為重要的科學計算世紀最為重要的科學計算語言語言??梢妼W習掌握這一工具的重要性。可見學習掌握這一工具的重要性。 2022-6-8Application of Matlab Language14 MATLABMATLAB產品由若干模塊組成,不同的模塊完成不同的功能,其中有:產品由

25、若干模塊組成,不同的模塊完成不同的功能,其中有: 實際上實際上MATLABMATLAB本身就是一個極其豐富的資源庫,那么應該從哪一部分開始著手、學本身就是一個極其豐富的資源庫,那么應該從哪一部分開始著手、學習使用習使用MATLABMATLAB呢?這就有必要了解這一軟件產品的體系結構呢?這就有必要了解這一軟件產品的體系結構 。MATLAB CompilerMATLAB Compiler這種編譯器可以將這種編譯器可以將MATLABMATLAB程程序文件編譯生成標準的序文件編譯生成標準的C/C+C/C+語言文件,而生成語言文件,而生成的標準的的標準的C/C+C/C+文件可以被任何一種文件可以被任何一

26、種C/C+C/C+編譯編譯器編譯生成函數(shù)庫或可執(zhí)行文件,以提高程序的器編譯生成函數(shù)庫或可執(zhí)行文件,以提高程序的運行效率。運行效率。1.2 MATLAB1.2 MATLAB產品的產品的體系結構體系結構 MATLABMATLABMATLAB ToolboxesMATLAB ToolboxesMATLAB CompilerMATLAB CompilerSimulinkSimulinkSimulink BlocksetsSimulink BlocksetsReal-Time Workshop (RTW)Real-Time Workshop (RTW)StateflowStateflowStateflo

27、wStateflow Coder Coder由這些模塊產品之間的關系可以圖由這些模塊產品之間的關系可以圖1.11.1表示。表示。圖1.1 MATLAB產品體系結構圍繞著圍繞著MATLABMATLAB這個計算核心,形成了諸多針對不同這個計算核心,形成了諸多針對不同應用領域的算法程序包,被稱為專用工具箱應用領域的算法程序包,被稱為專用工具箱(ToolboxToolbox),這些工具箱的列表以及每個工具箱的使),這些工具箱的列表以及每個工具箱的使用詳見用詳見MATLABMATLAB在線幫助文檔。在線幫助文檔。MATLABMATLAB本身所提供本身所提供的工具箱大概有的工具箱大概有4040多個,另外還

28、有其他公司或研究單多個,另外還有其他公司或研究單位開發(fā)提供的工具箱,這些工具箱的總數(shù)已有位開發(fā)提供的工具箱,這些工具箱的總數(shù)已有100100多個,多個,而且新的工具箱還在不斷增加。如果你有特別的應用而且新的工具箱還在不斷增加。如果你有特別的應用領域,可以首先到網(wǎng)上查找是否已有相關的工具箱,領域,可以首先到網(wǎng)上查找是否已有相關的工具箱,很可能已有人將你要做的應用程序作成工具箱了。很可能已有人將你要做的應用程序作成工具箱了。SimulinkSimulink是窗口圖形方式的、專門用于連續(xù)時是窗口圖形方式的、專門用于連續(xù)時間或離散時間的動態(tài)系統(tǒng)建模、分析和仿真間或離散時間的動態(tài)系統(tǒng)建模、分析和仿真的核

29、心。的核心。Real-Time WorkshopReal-Time Workshop是一種實時代碼生成工具,它能夠根據(jù)是一種實時代碼生成工具,它能夠根據(jù)SimulinkSimulink模型生成程序源代碼,并打包、編譯所生成的源代碼生模型生成程序源代碼,并打包、編譯所生成的源代碼生成實時應用程序。成實時應用程序。 從現(xiàn)有的從現(xiàn)有的SimulinkSimulink 和和StateflowStateflow自動生成自動生成C C語言程序代碼的功能、語言程序代碼的功能、定點運算模塊集(定點運算模塊集(Fixed-point BlocksetFixed-point Blockset)與)與C C語言程序

30、代碼到語言程序代碼到VHDLVHDL(Very High Speed Integrated Circuit Hardware Description LanguageVery High Speed Integrated Circuit Hardware Description Language,一,一種標準的硬件電路設計語言種標準的硬件電路設計語言 )的自動轉換功能,可以看出,高級的)的自動轉換功能,可以看出,高級的系統(tǒng)仿真或低級的芯片算法設計,都可用系統(tǒng)仿真或低級的芯片算法設計,都可用MATLABMATLAB、SimulinkSimulink、StateflowStateflow及相關的工具

31、箱來完成。及相關的工具箱來完成。StateflowStateflow是基于有限狀態(tài)機理論針對復雜是基于有限狀態(tài)機理論針對復雜的事件驅動系統(tǒng)進行建模、仿真的工具。的事件驅動系統(tǒng)進行建模、仿真的工具。StateflowStateflow Coder Coder是基于是基于StateflowStateflow狀態(tài)圖生成狀態(tài)圖生成高效、優(yōu)化的程序代碼。高效、優(yōu)化的程序代碼。圍繞著圍繞著SimulinkSimulink仿真核心所開發(fā)的應用程序包,仿真核心所開發(fā)的應用程序包,稱為模塊集(稱為模塊集(BlocksetsBlocksets),MATLAB,MATLAB產品提供許多產品提供許多專用模塊集,如專用

32、模塊集,如Communication BlocksetCommunication Blockset、DSP DSP BlocksetBlockset、SimPowerSystem BlocksetSimPowerSystem Blockset、Signal Signal Processing BlocksetProcessing Blockset等,詳見等,詳見MATLABMATLAB在線幫助文在線幫助文檔。檔。MATLABMATLAB是是MATLABMATLAB產品家族的計算產品家族的計算核心與基礎,是集高性能數(shù)值計算與核心與基礎,是集高性能數(shù)值計算與數(shù)據(jù)可視化于一體的高效編程語言。數(shù)據(jù)可視

33、化于一體的高效編程語言。 2022-6-8Application of Matlab Language15 1.3 1.3 MATLABMATLAB編程語言的特點編程語言的特點 語法規(guī)則簡單語法規(guī)則簡單。尤其內定的編程規(guī)則,與其他編程語言(如尤其內定的編程規(guī)則,與其他編程語言(如C C、FortranFortran等)相比更接等)相比更接近于常規(guī)數(shù)學表示。對于數(shù)組變量的使用,不需類型聲明,無需事先申請內存空間。近于常規(guī)數(shù)學表示。對于數(shù)組變量的使用,不需類型聲明,無需事先申請內存空間。MATLABMATLAB語言主要有以下幾個特點:語言主要有以下幾個特點: MATLAB基本的語言環(huán)境提供了數(shù)以千

34、計的計算函數(shù)基本的語言環(huán)境提供了數(shù)以千計的計算函數(shù),極大的提高了用戶的編程效率。極大的提高了用戶的編程效率。如,一個如,一個fftfft函數(shù)即可完成對指定數(shù)據(jù)的快速傅里葉變換,這一任務如果用函數(shù)即可完成對指定數(shù)據(jù)的快速傅里葉變換,這一任務如果用C C語言來編程語言來編程實現(xiàn)的話,至少要用幾十條實現(xiàn)的話,至少要用幾十條C C語言才能完成。語言才能完成。 因此,因此,MATLABMATLAB是一個簡單易用、功能強大的高效編程語言。是一個簡單易用、功能強大的高效編程語言。 平臺無關性(可移植性)平臺無關性(可移植性)。MATLABMATLAB軟件可以運行在很多不同的計算機系統(tǒng)平臺上,如軟件可以運行在

35、很多不同的計算機系統(tǒng)平臺上,如Windows Me/NT/2000/XPWindows Me/NT/2000/XP、很多不同版本的、很多不同版本的UNIXUNIX以及以及LinuxLinux。無論你在哪一個平臺上編。無論你在哪一個平臺上編寫的程序都可以運行在其它平臺上,對于寫的程序都可以運行在其它平臺上,對于MATLABMATLAB數(shù)據(jù)文件也一樣,是平臺無關的。極數(shù)據(jù)文件也一樣,是平臺無關的。極大保護了用戶的勞動、方便了用戶。大保護了用戶的勞動、方便了用戶。其繪圖功能也是平臺無關的其繪圖功能也是平臺無關的。無論任何系統(tǒng)平臺,。無論任何系統(tǒng)平臺,只要只要MATLABMATLAB能夠運行,其圖形功

36、能命令就能正常運行。能夠運行,其圖形功能命令就能正常運行。 MATLAB是一種腳本式是一種腳本式(scripted)的解釋型語言的解釋型語言,無論是命令、函數(shù)或變量,只要無論是命令、函數(shù)或變量,只要在命令窗口的提示符下鍵入,并在命令窗口的提示符下鍵入,并“回車(回車(EnterEnter)”,MATLABMATLAB都予以解釋執(zhí)行。都予以解釋執(zhí)行。 2022-6-8Application of Matlab Language16 n功能強大功能強大n數(shù)值運算優(yōu)勢數(shù)值運算優(yōu)勢n符號運算優(yōu)勢符號運算優(yōu)勢(Maple)(Maple)n強大的強大的2D2D、3D3D數(shù)據(jù)可視化功能數(shù)據(jù)可視化功能n許多具

37、有算法自適應能力的功能函數(shù)許多具有算法自適應能力的功能函數(shù) 2022-6-8Application of Matlab Language17 n語言簡單、內涵豐富語言簡單、內涵豐富n語言及其書寫形式非常接近于常規(guī)數(shù)學書寫形式;語言及其書寫形式非常接近于常規(guī)數(shù)學書寫形式;n其操作和功能函數(shù)指令就是常用的計算機和數(shù)學書上的一些簡單其操作和功能函數(shù)指令就是常用的計算機和數(shù)學書上的一些簡單英文單詞表達的,如:英文單詞表達的,如:helphelp、clearclear等;等;n完備的幫助系統(tǒng),易學易用。完備的幫助系統(tǒng),易學易用。n擴充能力、可開發(fā)能力較強擴充能力、可開發(fā)能力較強nMATLABMATLAB

38、完全成了一個開放的系統(tǒng)完全成了一個開放的系統(tǒng)n用戶可以開發(fā)自己的工具箱用戶可以開發(fā)自己的工具箱n可以方便地與可以方便地與FortranFortran、C C等語言接口等語言接口 n編程易、效率高編程易、效率高 nMatlabMatlab以數(shù)組為基本計算單元以數(shù)組為基本計算單元n具有大量的算法優(yōu)化的功能函數(shù)具有大量的算法優(yōu)化的功能函數(shù) 2022-6-8Application of Matlab Language18 2 MATLAB2 MATLAB的桌面環(huán)境及入門知識的桌面環(huán)境及入門知識n啟動與退出啟動與退出MATLAB MATLAB n命令窗口及使用命令窗口及使用n數(shù)值表示、變量、表達式數(shù)值表

39、示、變量、表達式n命令歷史窗口命令歷史窗口n工作空間工作空間n獲取在線幫助獲取在線幫助 2022-6-8Application of Matlab Language19 2.1 2.1 啟動與退出啟動與退出MATLABMATLABn啟動啟動MATLABMATLABn直接用鼠標雙擊桌面上直接用鼠標雙擊桌面上MATLAB7.1MATLAB7.1圖標圖標n或或WindowsWindows桌面的桌面的“開始開始”“所有程所有程序序”“MATLAB7.1” MATLAB7.1” “MATLAB7.1”MATLAB7.1”。n退出退出MATLABMATLABn關閉關閉MATLABMATLAB桌面桌面n在命

40、令窗口執(zhí)行在命令窗口執(zhí)行quitquit或或exitexit命令命令nMATLABMATLAB缺省桌面(見下頁)缺省桌面(見下頁) 2022-6-8Application of Matlab Language20 菜單菜單欄欄工具欄工具欄文件編輯窗口文件編輯窗口工作空間工作空間歷史命令歷史命令窗口窗口Start Start 菜單菜單命令窗口命令窗口命令提示符命令提示符2.1 2.1 啟動與退出啟動與退出MATLAB MATLAB (續(xù))(續(xù)) 2022-6-8Application of Matlab Language21 2.2 2.2 命令窗口的使用命令窗口的使用激活命令窗口。激活命令窗口

41、?!啊?” 與閃爍的光標一起表明系統(tǒng)就緒,等待輸入。與閃爍的光標一起表明系統(tǒng)就緒,等待輸入。命令窗口脫離命令窗口脫離MATLABMATLAB桌面。桌面。 n簡單計算簡單計算【例【例2.2-12.2-1】計算】計算(1 1)在)在MATLABMATLAB命令窗口輸入命令窗口輸入 以下內容:以下內容:(12+2(12+2* *(7-4)/32(7-4)/32(2 2)按【)按【EnterEnter】鍵,指令執(zhí)行。】鍵,指令執(zhí)行。(3 3)返回的計算結果:)返回的計算結果:ans= 2 2122743 2022-6-8Application of Matlab Language22 2.2 2.2

42、命令窗口命令窗口 (續(xù))(續(xù))說明說明l在命令窗口【在命令窗口【EnterEnter】鍵提交命令執(zhí)行?!挎I提交命令執(zhí)行。lMatlabMatlab所用運算符(如所用運算符(如+ +、- -、 等)是各種計算程序中等)是各種計算程序中常見的。常見的。l計算結果中的計算結果中的“ansans”是英文是英文“answer”answer”的一種縮寫,的一種縮寫,其含義就是其含義就是“運算答案運算答案”。ansans是是MatlabMatlab的一個預定義的一個預定義變量。變量。 2022-6-8Application of Matlab Language23 2.2 2.2 命令窗口命令窗口 (續(xù))(

43、續(xù))n簡單計算(續(xù))【例【例2.2-22.2-2】計算】計算sin(45sin(45?計 ) )sin(45sin(45* *pi/180)pi/180)l Matalb中正弦函數(shù)中正弦函數(shù)sin就是常見的正弦函數(shù)。就是常見的正弦函數(shù)。l 它的參數(shù)值是以它的參數(shù)值是以“弧度弧度”為單位的。為單位的。l pi也是也是Matalb的預定義變量。的預定義變量。l pi=3.14159l Matlab對字母大小寫是敏感的。對字母大小寫是敏感的?!纠纠?.2-32.2-3】計算】計算 的值,其中的值,其中x=4.92x=4.92。 0.521xesqrt(2sqrt(2* *exp(4.92+0.5)

44、+1)exp(4.92+0.5)+1)l Matalb中開平方中開平方sqrt(x),是英文是英文square root的縮寫的縮寫 。l Matalb中指數(shù)函數(shù)中指數(shù)函數(shù)exp(x),常見的表達方式常見的表達方式。ans= 0.7071ans= 21.2781 2022-6-8Application of Matlab Language24 2.2 2.2 命令窗口命令窗口 (續(xù))(續(xù))7 “clcclc”清除窗口顯示內容的命令清除窗口顯示內容的命令?!纠纠?.2-42.2-4】計算】計算 的值。的值。 2sin 0.315yy=2y=2* *sin(0.3sin(0.3* *pi)/(1

45、+sqrt(5)pi)/(1+sqrt(5)y= 0.5000【例【例2.2-52.2-5】計算】計算 的值。的值。 2cos 0.315yy=2*cos(0.3*pi)/(1+sqrt(5)y= 0.3633% 命令行編輯l “”鍵調回已輸入過命令。l 修改。 2022-6-8Application of Matlab Language25 2.2 2.2 命令窗口命令窗口 (續(xù))(續(xù))【例【例2.2-52.2-5】計算半徑為】計算半徑為5.2m5.2m的圓的周長和面積。的圓的周長和面積。radius=5.2; %radius=5.2; %圓的半徑圓的半徑area=piarea=pi* *5

46、.22,5.22, circle_lencircle_len=2=2* *pi pi* *5.25.2area = 84.9487circle_len = 32.6726l 以上兩例,命令行中用到了等號以上兩例,命令行中用到了等號“=”。l 計算結果不再賦給計算結果不再賦給“ans”,而是賦給,而是賦給用戶指定的變量用戶指定的變量y、area、circle_len。l 無論是預定義變量還是用戶自定義變量無論是預定義變量還是用戶自定義變量都被存儲在系統(tǒng)的工作空間內,即系統(tǒng)都被存儲在系統(tǒng)的工作空間內,即系統(tǒng)定義的一個存儲窗口變量的內存空間。定義的一個存儲窗口變量的內存空間。l Who、whos命令

47、用來顯示工作空間的命令用來顯示工作空間的變量變量l clear命令用來清除工作空間的變量。命令用來清除工作空間的變量。 2022-6-8Application of Matlab Language26 2.2 2.2 命令窗口命令窗口 (續(xù))(續(xù))whowhosYour variables are:ans circle_len y area radius Name Size Bytes Class ans 1x1 8 double array area 1x1 8 double array circle_len 1x1 8 double array radius 1x1 8 double ar

48、ray y 1x1 8 double arrayGrand total is 5 elements using 40 bytes 2022-6-8Application of Matlab Language27 2.2 2.2 命令窗口命令窗口 (續(xù))(續(xù))clear ywhoYour variables are:ans circle_len area radius clear ans areawhosYour variables are:Name Size Bytes Class circle_len 1x1 8 double array radius 1x1 8 double arrayG

49、rand total is 2 elements using 16 bytes 2022-6-8Application of Matlab Language28 2.2 2.2 命令窗口命令窗口 (續(xù))(續(xù))n數(shù)值顯示格式設置數(shù)值顯示格式設置n缺省顯示格式:簡潔的短(缺省顯示格式:簡潔的短(short gshort g)格式)格式n窗口命令及語法格式:窗口命令及語法格式:format format 顯示格式關鍵字顯示格式關鍵字 如:如:format long %15format long %15位數(shù)字顯示位數(shù)字顯示n常見通用命令常見通用命令命令命令含義含義clcclc清除命令窗口的顯示內容清除

50、命令窗口的顯示內容clearclear 清除清除MatlabMatlab工作空間中保存的變量工作空間中保存的變量whowho或或whoswhos顯示顯示MatlabMatlab工作空間中的變量信息工作空間中的變量信息dirdir顯示當前工作目錄的文件和子目錄清單顯示當前工作目錄的文件和子目錄清單cdcd顯示或設置當前工作目錄顯示或設置當前工作目錄typetype顯示指定顯示指定m m文件的內容文件的內容helphelp或或docdoc獲取在線幫助獲取在線幫助quitquit或或exitexit關閉關閉/ /推出推出MATALBMATALB 2022-6-8Application of Matl

51、ab Language29 2.3 2.3 工作空間工作空間n查看工作空間內存變量,可以由查看工作空間內存變量,可以由whowho、whoswhos 。n命名新變量。命名新變量。n修改變量名修改變量名n刪除變量刪除變量n繪圖繪圖n保存變量數(shù)據(jù)保存變量數(shù)據(jù)n裝入數(shù)據(jù)裝入數(shù)據(jù) 2022-6-8Application of Matlab Language30 2.4 2.4 歷史窗口歷史窗口n歷史窗口:歷史窗口:n首先首先記錄每次啟動時間記錄每次啟動時間n并并記錄在命令窗口輸入命令記錄在命令窗口輸入命令,此次運行期間,此次運行期間,輸入的所有命令被記錄為一組,并以此次啟動時輸入的所有命令被記錄為一組

52、,并以此次啟動時間為標志。間為標志。n使用歷史窗口:使用歷史窗口:n可以查看命令窗口輸入過的命令或語句可以查看命令窗口輸入過的命令或語句n可以選擇一條或多條命令執(zhí)行拷貝、執(zhí)行、創(chuàng)可以選擇一條或多條命令執(zhí)行拷貝、執(zhí)行、創(chuàng)建建MM文件等。文件等。 要清除歷史記錄,可以選擇要清除歷史記錄,可以選擇Edit菜單中的菜單中的Clear Command History 命令命令 2022-6-8Application of Matlab Language31 2.5 2.5 當前目錄窗口和搜索路徑當前目錄窗口和搜索路徑當前目錄窗口:當前目錄窗口:指指Matlab運行時的工作目錄。運行時的工作目錄。l只有在

53、當前目錄和搜索路徑下的文件、函數(shù)才可以被只有在當前目錄和搜索路徑下的文件、函數(shù)才可以被運行和調用。運行和調用。l如果沒有特殊指明,數(shù)據(jù)文件也將存放在當前目錄下;如果沒有特殊指明,數(shù)據(jù)文件也將存放在當前目錄下;l用戶可以將自己的工作目錄設置成當前目錄,從而使用戶可以將自己的工作目錄設置成當前目錄,從而使得所有操作都在當前目錄中進行。得所有操作都在當前目錄中進行。 2022-6-8Application of Matlab Language32 搜索路徑:搜索路徑:指指Matlab執(zhí)行過程中對變量、函數(shù)和文件執(zhí)行過程中對變量、函數(shù)和文件進行搜索的路徑。進行搜索的路徑。l在在File菜單中選擇菜單中

54、選擇Set Path命令或在命令窗口輸入命令或在命令窗口輸入pathtool命令,出現(xiàn)搜索路徑設置對話框:命令,出現(xiàn)搜索路徑設置對話框:!修改完搜索路徑后,!修改完搜索路徑后,需要進行保存。需要進行保存。 2022-6-8Application of Matlab Language33 2.6 獲取在線幫助獲取在線幫助nMATLAB提供的幫助信息有兩類提供的幫助信息有兩類n簡單純文本幫助信息簡單純文本幫助信息 help lookfor(條件比較寬松)(條件比較寬松)例:例:inversen窗口式綜合幫助信息(文字、公式、圖形)窗口式綜合幫助信息(文字、公式、圖形) doc helpwin 20

55、22-6-8Application of Matlab Language34 【功能演示【功能演示-1 -1】求方程求方程xxxx53223719130的全部根。的全部根。p = 2,0,-3,71,-9,13;建立多項式系數(shù)向量建立多項式系數(shù)向量x = roots(p);求根求根x = -3.4914 1.6863 + 2.6947i 1.6863 - 2.6947i 0.0594 + 0.4251i 0.0594 - 0.4251i 2022-6-8Application of Matlab Language35 【功能演示【功能演示-2 -2】求解線性方程組】求解線性方程組xyzxyzx

56、yz 2328234453923a = 2,3,-1;8,2,3;45,3,9;建立系數(shù)矩陣建立系數(shù)矩陣ab = 2;4;23;建立列向量建立列向量bx = inv(a)*bx = 0.5531 0.2051 -0.2784 2022-6-8Application of Matlab Language36 符號計算符號計算syms x y z 建立符號變量建立符號變量x,y,z=solve(2*x+3*y-z-2,8*x+2*y+3*z-4,45*x+3*y+9*z-23)x = 151/273 y = 8/39 z = -76/273 2022-6-8Application of Matla

57、b Language37 【功能演示【功能演示-3 -3】求解定積分】求解定積分 求解求解 I=quad(x.*log(1+x),0,1)ans = 0.250或或syms xnt(x*log(1+x),0,1)ans = 1/4ln()xx dx 101 2022-6-8Application of Matlab Language38 【功能演示【功能演示-4 -4】多項式曲線擬合】多項式曲線擬合考慮如下考慮如下 x-yx-y 一組實驗數(shù)據(jù):一組實驗數(shù)據(jù):x=1, 2, 3, 4, 5, 6, 7, 8, 9, 10y=1.2, 3, 4, 4, 5, 4.7, 5, 5.2, 6, 7.2

58、注:注:n一次多項式擬合:一次多項式擬合:p1 = polyfit(x,y,1)n三次多項式擬合:三次多項式擬合:p3 = polyfit(x,y,3)nplot plot 原始數(shù)據(jù)、一次擬合曲線和三次擬合曲線原始數(shù)據(jù)、一次擬合曲線和三次擬合曲線x2=1:0.1:10;y1=polyval(p1,x2)y3=polyval(p3,x2)plot( x, y, *, x2, y1, :, x2, y3)321205(25)y xxxIn MAByTLA 2022-6-8Application of Matlab Language39 擬合曲線圖擬合曲線圖由圖可見,三次擬合結果較好。由圖可見,三次

59、擬合結果較好。 2022-6-8Application of Matlab Language40 2.3 數(shù)值表示、變量及表達式n數(shù)值的記述數(shù)值的記述 MatlabMatlab的數(shù)只采用習慣的十進制表示,可以帶小數(shù)點的數(shù)只采用習慣的十進制表示,可以帶小數(shù)點和負號和負號; ;其缺省的數(shù)據(jù)類型為雙精度浮點型其缺省的數(shù)據(jù)類型為雙精度浮點型(doubledouble)。)。 例如:例如:3 -10 0.001 1.3e10 1.256e-63 -10 0.001 1.3e10 1.256e-6n變量命令規(guī)則變量命令規(guī)則l變量名、函數(shù)名對字母的大小寫是敏感的。如變量名、函數(shù)名對字母的大小寫是敏感的。如m

60、yVarmyVar與與myvarmyvar表示兩個不同的變量。表示兩個不同的變量。l變量名第一個字母必須是英文字母。變量名第一個字母必須是英文字母。l變量名可以包含英文字母、下劃線和數(shù)字。變量名可以包含英文字母、下劃線和數(shù)字。l變量名不能包含空格、標點。變量名不能包含空格、標點。l變量名最多可包含變量名最多可包含6363個字符(個字符(6.56.5及以后的版本)。及以后的版本)。 2022-6-8Application of Matlab Language41 2.3 2.3 數(shù)值表示、變量及表達式數(shù)值表示、變量及表達式 (續(xù))(續(xù))nMatlabMatlab預定義的變量預定義的變量變量名變量

溫馨提示

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

評論

0/150

提交評論