matlab全套教程西電_第1頁
matlab全套教程西電_第2頁
matlab全套教程西電_第3頁
matlab全套教程西電_第4頁
matlab全套教程西電_第5頁
已閱讀5頁,還剩336頁未讀, 繼續免費閱讀

下載本文檔

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

文檔簡介

1、matlab全套教程西電 2022-4-162n 課程的作用課程的作用n 課程的目的課程的目的n 課程的特點課程的特點n 課程安排課程安排 2022-4-163課程的作用課程的作用 在歐美各在歐美各高等學校高等學校,MatlabMatlab成為線性代數、自動控制理論、成為線性代數、自動控制理論、數字信號處理、時間序列分析、動態系統仿真、圖像處理等數字信號處理、時間序列分析、動態系統仿真、圖像處理等諸多課程的基本教學工具,成為諸多課程的基本教學工具,成為本科生、碩士生和博士生的本科生、碩士生和博士生的必須掌握的基本技能。必須掌握的基本技能。 在在設計研究單位和工業部門設計研究單位和工業部門,Ma

2、tlabMatlab已被廣泛地用于研究已被廣泛地用于研究和和解決各種具體的工程問題解決各種具體的工程問題。 可以預見,可以預見,MatlabMatlab將在我國科學研究和工程應用中發揮越將在我國科學研究和工程應用中發揮越來越大的作用。來越大的作用。 2022-4-164 講授講授MATLABMATLAB語言基礎入門知識語言基礎入門知識,介紹,介紹MATLABMATLAB產品的體系、產品的體系、MATLABMATLAB桌面工具桌面工具的使用方法,的使用方法,重點介紹重點介紹MATLABMATLAB的數據可視化、數值計算的基本步驟的數據可視化、數值計算的基本步驟以及以及如何使如何使用用MATLAB

3、MATLAB語言編寫整潔、高效、規范的程序。語言編寫整潔、高效、規范的程序。并涉及到一些具體的并涉及到一些具體的專業應用工專業應用工具箱具箱(如:信號處理工具箱、圖像處理工具箱等)。(如:信號處理工具箱、圖像處理工具箱等)。 通過本課程的學習,通過本課程的學習,了解、熟悉、掌握了解、熟悉、掌握 MATLABMATLAB的基本編程方法的基本編程方法,并具有初并具有初步的利用計算機處理、解決實際問題的能力步的利用計算機處理、解決實際問題的能力,為進一步學習后續的專業課程做,為進一步學習后續的專業課程做好準備。好準備。本課程的目的本課程的目的( Objectives of This CourseOb

4、jectives of This Course ) 本課程的特點本課程的特點( Features of This CourseFeatures of This Course ) 交叉性課程,是交叉性課程,是計算機技術計算機技術、數學理論數學理論知識以及諸多知識以及諸多工程理論工程理論知識的綜合。知識的綜合。 實踐性課程。實踐性課程。 內容多,課時少,要求同學上課認真聽講,要充分利用上機實踐消化、理解、內容多,課時少,要求同學上課認真聽講,要充分利用上機實踐消化、理解、 掌握課上講解內容。掌握課上講解內容。 2022-4-165課程安排課程安排n課堂教學:共課堂教學:共2424學時;學時;(1-

5、121-12周)周)n上機試驗:共上機試驗:共2424學時。學時。 (2-132-13周,周二周,周二7-87-8節,九實節,九實401401、402402、403403)p學習成績:學習成績: 1)上機實驗成績占上機實驗成績占30%;30%; 2)考勤考勤 10% ;10% ; 3) 考試考試60% 60% (隨堂考試)(隨堂考試)。主要參考書主要參考書精通精通MATLAB 6.5MATLAB 6.5張志涌張志涌 等編著,北航出版,等編著,北航出版,20032003年年高等應用數學問題的高等應用數學問題的MatlabMatlab求解求解 薛定宇等著,清華大學出薛定宇等著,清華大學出版社,版社

6、,20042004年年MatlabMatlab程序設計與應用程序設計與應用 劉衛國主編,高等教育出版社劉衛國主編,高等教育出版社 2022-4-166授課宗旨授課宗旨 講授講授MATLAB的通用功能。的通用功能。 寓教于例,由淺入深。寓教于例,由淺入深。 關于科學計算,著重強調理論概念、算法和實際計算三者關于科學計算,著重強調理論概念、算法和實際計算三者之間的關系。之間的關系。 2022-4-167第一講第一講 Matlab概述n 前言前言n MatlabMatlab軟件概述軟件概述n MatlabMatlab的桌面環境及入門知識的桌面環境及入門知識 2022-4-1681 Matlab1 M

7、atlab概述概述n 內容內容n MatlabMatlab發展歷史發展歷史n MatlabMatlab產品家族產品家族( (MatlabMatlab family of productsfamily of products) )體系體系n Matlab Matlab 語言的特點。語言的特點。n 目的目的n 全面了解全面了解 MatlabMatlab軟件包軟件包n 激發對激發對MatlabMatlab軟件的學習興趣。軟件的學習興趣。 2022-4-1691.1 MATLAB的歷史及影響的歷史及影響 7070年代中期年代中期,Cleve MolerCleve Moler博土及其同事在美國國家基金會

8、博土及其同事在美國國家基金會的幫助下,開發了的幫助下,開發了LINPACKLINPACK和和EISPACKEISPACK的的FORTRANFORTRAN語言語言子程序庫,子程序庫,這兩個程序庫代表了當時矩陣運算的最高水平。這兩個程序庫代表了當時矩陣運算的最高水平。到了到了7070年代后期年代后期,身為美國新墨西哥州大學計算機系系主,身為美國新墨西哥州大學計算機系系主任的任的CIeve MolerCIeve Moler,在給學生上線性代數課時,為了讓學生,在給學生上線性代數課時,為了讓學生能使用這兩個子程序庫,同時又不用在編程上花費過多的能使用這兩個子程序庫,同時又不用在編程上花費過多的時間,開

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

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

11、LABMATLAB,直覺告訴他,這是一個,直覺告訴他,這是一個具有巨大發展潛力的軟件。因此他在畢業沒多久,就開始具有巨大發展潛力的軟件。因此他在畢業沒多久,就開始用用C C語語言重新編寫了言重新編寫了MATLABMATLAB的核心。的核心。在在MolerMoler的協助下,于的協助下,于19841984年成年成立立MathWorksMathWorks公司,首次推出公司,首次推出MATLABMATLAB商用版。在其商用版推出商用版。在其商用版推出的初期,的初期,MATLABMATLAB就以其優秀的品質(就以其優秀的品質(高效的數據計算能力和開高效的數據計算能力和開放的體系結構放的體系結構)占據了

12、大部分數學計算軟件的市場,原來應用于)占據了大部分數學計算軟件的市場,原來應用于控制領域里的一些封閉式數學計算軟件包(如英國的控制領域里的一些封閉式數學計算軟件包(如英國的UMISTUMIST、瑞、瑞典的典的LUNDLUND和和SIMNONSIMNON、德國的、德國的KEDDCKEDDC)就紛紛被淘汰或在)就紛紛被淘汰或在MATLABMATLAB上重建。上重建。Jack Little 2022-4-1611 Cleve MolerCleve Moler至今仍是該公司的首席科學家至今仍是該公司的首席科學家,他以,他以6060多歲的高齡,還常常親自進行撰寫多歲的高齡,還常常親自進行撰寫程序的工作,

13、非常令人佩服。如果你有數值運算方面的高水平問題,寄到程序的工作,非常令人佩服。如果你有數值運算方面的高水平問題,寄到 MathWorks MathWorks 后,后,大部份還是會由大部份還是會由 Cleve MolerCleve Moler親自回答。在親自回答。在19941994年,年,PentiumPentium芯片曾發生芯片曾發生FdivFdiv的的bugbug, 當時當時Cleve MolerCleve Moler是第一個以軟件方式解決此是第一個以軟件方式解決此 bugbug的人,曾一時膾炙人口。的人,曾一時膾炙人口。 在公司初創的五年,在公司初創的五年,Jack LittleJack

14、Little非常辛苦,常常身兼數職(董事長、總經理、推銷、非常辛苦,常常身兼數職(董事長、總經理、推銷、程序開發等),但公司一直穩定發展,從當初的一人公司,到程序開發等),但公司一直穩定發展,從當初的一人公司,到19931993年的年的200200人,到人,到20002000年的年的 500500余人,到余人,到20052005年公司員工達到了年公司員工達到了13001300人,不但打敗其他競爭軟件,而且前景一片欣欣向人,不但打敗其他競爭軟件,而且前景一片欣欣向榮。根據榮。根據Jack LittleJack Little個人說法,個人說法,MATLABMATLAB早期成功的兩大因素是:選用了早

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

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

17、orksMathWorks完全是絕緣體。完全是絕緣體。 2022-4-1612 1992 1992年,支持的版本推出,增加了年,支持的版本推出,增加了SimulinkSimulink,ControlControl,Neural NetworkNeural Network,Signal Signal ProcessingProcessing等專用工具箱。等專用工具箱。 1993 1993年年1111月,月,MathWorksMathWorks公司推出了,其中主要增加了符號運算功能。當升級至,公司推出了,其中主要增加了符號運算功能。當升級至,這一功能在用戶中得到廣泛應用。這一功能在用戶中得到廣泛應

18、用。 1997 1997年,版本問世了年,版本問世了, ,實現了真正的實現了真正的3232位運算,加快數值計算,圖形表現有效。位運算,加快數值計算,圖形表現有效。 2001 2001年初,年初,MathWorksMathWorks公司推出了(公司推出了(R12R12)。)。 2002 2002年年7 7月,推出了月,推出了Matlab 6.5(R13)Matlab 6.5(R13),在這一版本中,在這一版本中SimulinkSimulink升級到了,性能有了升級到了,性能有了很大提高,另一大特點是推出了很大提高,另一大特點是推出了JITJIT程序加速器,程序加速器,MatlabMatlab的計

19、算速度有了明顯的提的計算速度有了明顯的提高。高。 2005 2005年年9 9月,推出了月,推出了MAILAB 7.1(Release14 SP3)MAILAB 7.1(Release14 SP3),在這一版本中,在這一版本中SimulinkSimulink升級到了,升級到了,軟件性能有了新的提高,用戶界面更加友好。值得說明的是,版采用了更先進的軟件性能有了新的提高,用戶界面更加友好。值得說明的是,版采用了更先進的數學程序庫,即數學程序庫,即“LAPACK”LAPACK”和和“BLAS”BLAS”。 目前,目前,MatlabMatlab軟件支持多種系統平臺,如常見的軟件支持多種系統平臺,如常見

20、的WindowsNT/XPWindowsNT/XP、UNIXUNIX、LinuxLinux等。等。Matlab版本的發展版本的發展 2022-4-1613 MATLABMATLAB就是這樣經過了近就是這樣經過了近3030年的專門打造、年的專門打造、2020多年的千錘百煉,它以高性能多年的千錘百煉,它以高性能的的數組運算(包括矩陣運算)數組運算(包括矩陣運算)為基礎,不僅實現了大多數數學算法的為基礎,不僅實現了大多數數學算法的高效運行函高效運行函數數和和數據可視化數據可視化,而且提供了非常高效的,而且提供了非常高效的計算機高級編程語言計算機高級編程語言,在用戶可參與的,在用戶可參與的情況下,情況

21、下,各種專業領域的工具箱各種專業領域的工具箱不斷開發和完善,不斷開發和完善,MATLABMATLAB取得了巨大的成功,已取得了巨大的成功,已廣泛應用于廣泛應用于科學研究、工程應用,用于數值計算分析、系統建模與仿真科學研究、工程應用,用于數值計算分析、系統建模與仿真。 早在早在2020世紀世紀9090年代初年代初,歐美等發達國家的大學就將,歐美等發達國家的大學就將MATLABMATLAB列為一種必須掌握列為一種必須掌握的編程語言。近幾年來,國內的很多大學也將的編程語言。近幾年來,國內的很多大學也將MATLABMATLAB列為了本科生必修課程。列為了本科生必修課程。 與與MapleMaple、Ma

22、thematicaMathematica數學計算軟件相比,數學計算軟件相比,MATLABMATLAB以數值計算見長,而以數值計算見長,而MapleMaple等以符號運算見長,能給出解析解和任意精度解,而處理大量數據的能力遠不如等以符號運算見長,能給出解析解和任意精度解,而處理大量數據的能力遠不如MATLABMATLAB。 MATLABMATLAB軟件功能之強大、應用之廣泛,已成為為軟件功能之強大、應用之廣泛,已成為為2121世紀最為重要的科學計算世紀最為重要的科學計算語言語言??梢妼W習掌握這一工具的重要性。可見學習掌握這一工具的重要性。 2022-4-1614 MATLABMATLAB產品由若

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

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

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

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

27、或離散時間的動態系統建模、分析和仿真的核心。的核心。Real-Time WorkshopReal-Time Workshop是一種實時代碼生成工具,它能夠根據是一種實時代碼生成工具,它能夠根據SimulinkSimulink模型生成程序源代碼,并打包、編譯所生成的源代碼生模型生成程序源代碼,并打包、編譯所生成的源代碼生成實時應用程序。成實時應用程序。 從現有的從現有的Simulink Simulink 和和StateflowStateflow自動生成自動生成C C語言程序代碼的功能、語言程序代碼的功能、定點運算模塊集(定點運算模塊集(Fixed-point BlocksetFixed-poin

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

29、teflowStateflow及相關的工具箱來完成。及相關的工具箱來完成。StateflowStateflow是基于有限狀態機理論針對復雜是基于有限狀態機理論針對復雜的事件驅動系統進行建模、仿真的工具。的事件驅動系統進行建模、仿真的工具。Stateflow CoderStateflow Coder是基于是基于StateflowStateflow狀態圖生成狀態圖生成高效、優化的程序代碼。高效、優化的程序代碼。圍繞著圍繞著SimulinkSimulink仿真核心所開發的應用程序包,仿真核心所開發的應用程序包,稱為模塊集(稱為模塊集(BlocksetsBlocksets),MATLAB,MATLAB

30、產品提供許多產品提供許多專用模塊集,如專用模塊集,如Communication BlocksetCommunication Blockset、DSP DSP BlocksetBlockset、SimPowerSystem BlocksetSimPowerSystem Blockset、Signal Signal Processing BlocksetProcessing Blockset等,詳見等,詳見MATLABMATLAB在線幫助文在線幫助文檔。檔。MATLABMATLAB是是MATLABMATLAB產品家族的計算產品家族的計算核心與基礎,是集高性能數值計算與核心與基礎,是集高性能數值計算

31、與數據可視化于一體的高效編程語言。數據可視化于一體的高效編程語言。 2022-4-16151.3 1.3 MATLABMATLAB編程語言的特點編程語言的特點 語法規則簡單語法規則簡單。尤其內定的編程規則,與其他編程語言(如尤其內定的編程規則,與其他編程語言(如C C、FortranFortran等)相比更接等)相比更接近于常規數學表示。對于數組變量的使用,不需類型聲明,無需事先申請內存空間。近于常規數學表示。對于數組變量的使用,不需類型聲明,無需事先申請內存空間。MATLABMATLAB語言主要有以下幾個特點:語言主要有以下幾個特點: MATLAB基本的語言環境提供了數以千計的計算函數基本的

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

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

34、。能夠運行,其圖形功能命令就能正常運行。 MATLAB是一種腳本式是一種腳本式(scripted)的解釋型語言的解釋型語言,無論是命令、函數或變量,只要無論是命令、函數或變量,只要在命令窗口的提示符下鍵入,并在命令窗口的提示符下鍵入,并“回車(回車(EnterEnter)”,MATLABMATLAB都予以解釋執行。都予以解釋執行。 2022-4-1616n功能強大功能強大n數值運算優勢數值運算優勢n符號運算優勢符號運算優勢(Maple)(Maple)n強大的強大的2D2D、3D3D數據可視化功能數據可視化功能n許多具有算法自適應能力的功能函數許多具有算法自適應能力的功能函數 2022-4-16

35、17n語言簡單、內涵豐富語言簡單、內涵豐富n語言及其書寫形式非常接近于常規數學書寫形式;語言及其書寫形式非常接近于常規數學書寫形式;n其操作和功能函數指令就是常用的計算機和數學書上的一些簡單其操作和功能函數指令就是常用的計算機和數學書上的一些簡單英文單詞表達的,如:英文單詞表達的,如:helphelp、clearclear等;等;n完備的幫助系統,易學易用。完備的幫助系統,易學易用。n擴充能力、可開發能力較強擴充能力、可開發能力較強nMATLABMATLAB完全成了一個開放的系統完全成了一個開放的系統n用戶可以開發自己的工具箱用戶可以開發自己的工具箱n可以方便地與可以方便地與FortranFo

36、rtran、C C等語言接口等語言接口 n編程易、效率高編程易、效率高 nMatlabMatlab以數組為基本計算單元以數組為基本計算單元n具有大量的算法優化的功能函數具有大量的算法優化的功能函數 2022-4-16182 MATLAB2 MATLAB的桌面環境及入門知識的桌面環境及入門知識n啟動與退出啟動與退出MATLAB MATLAB n命令窗口及使用命令窗口及使用n數值表示、變量、表達式數值表示、變量、表達式n命令歷史窗口命令歷史窗口n工作空間工作空間n獲取在線幫助獲取在線幫助 2022-4-16192.1 2.1 啟動與退出啟動與退出MATLABMATLABn啟動啟動MATLABMAT

37、LABn直接用鼠標雙擊桌面上圖標直接用鼠標雙擊桌面上圖標n或或WindowsWindows桌面的桌面的“開始開始”“所有程所有程序序”“MATLAB7.1” “MATLAB7.1” “MATLAB7.1”“MATLAB7.1”。n退出退出MATLABMATLABn關閉關閉MATLABMATLAB桌面桌面n在命令窗口執行在命令窗口執行quitquit或或exitexit命令命令nMATLABMATLAB缺省桌面(見下頁)缺省桌面(見下頁) 2022-4-1620菜單欄菜單欄工具欄工具欄文件編輯窗口文件編輯窗口工作空間工作空間歷史命令歷史命令窗口窗口Start Start 菜單菜單命令窗口命令窗口

38、命令提示符命令提示符2.1 2.1 啟動與退出啟動與退出MATLAB MATLAB (續)(續) 2022-4-16212.2 2.2 命令窗口的使用命令窗口的使用激活命令窗口。激活命令窗口?!啊?” 與閃爍的光標一起表明系統就緒,等待輸入。與閃爍的光標一起表明系統就緒,等待輸入。命令窗口脫離命令窗口脫離MATLABMATLAB桌面。桌面。 n簡單計算簡單計算【例例2.2-12.2-1】計算計算(1 1)在)在MATLABMATLAB命令窗口輸入命令窗口輸入 以下內容:以下內容:(12+2(12+2* *(7-4)/32(7-4)/32(2 2)按)按【EnterEnter】鍵,指令執行。鍵,

39、指令執行。(3 3)返回的計算結果:)返回的計算結果:ans= 2 2122743 2022-4-16222.2 2.2 命令窗口命令窗口 (續)(續)說明說明l在命令窗口在命令窗口【EnterEnter】鍵提交命令執行。鍵提交命令執行。lMatlabMatlab所用運算符(如所用運算符(如+ +、- -、 等)是各種計算程序中等)是各種計算程序中常見的。常見的。l計算結果中的計算結果中的“ans”ans”是英文是英文“answer”answer”的一種縮寫,的一種縮寫,其含義就是其含義就是“運算答案運算答案”。ansans是是MatlabMatlab的一個預定義的一個預定義變量。變量。 20

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

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

42、52.2-5】計算計算 的值。的值。 2cos 0.315yy=2*cos(0.3*pi)/(1+sqrt(5)y=% 命令行編輯l “”鍵調回已輸入過命令。l 修改。 2022-4-16252.2 2.2 命令窗口命令窗口 (續)(續)【例例2.2-52.2-5】計算半徑為的圓的周長和面積。計算半徑為的圓的周長和面積。radius=5.2; %radius=5.2; %圓的半徑圓的半徑area=piarea=pi* *5.22,5.22, area = circle_len = l 以上兩例,命令行中用到了等號以上兩例,命令行中用到了等號“=”。l 計算結果不再賦給計算結果不再賦給“ans”

43、,而是賦給,而是賦給用戶指定的變量用戶指定的變量y、area、circle_len。l 無論是預定義變量還是用戶自定義變量無論是預定義變量還是用戶自定義變量都被存儲在系統的工作空間內,即系統都被存儲在系統的工作空間內,即系統定義的一個存儲窗口變量的內存空間。定義的一個存儲窗口變量的內存空間。l Who、whos命令用來顯示工作空間的命令用來顯示工作空間的變量變量l clear命令用來清除工作空間的變量。命令用來清除工作空間的變量。 2022-4-16262.2 2.2 命令窗口命令窗口 (續)(續)whowhosYour variables are:ans circle_len y area

44、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 array y 1x1 8 double arrayGrand total is 5 elements using 40 bytes 2022-4-16272.2 2.2 命令窗口命令窗口 (續)(續)clear ywhoYour variables are:ans circle_len area radius clear ans areawho

45、sYour variables are:Name Size Bytes Class circle_len 1x1 8 double array radius 1x1 8 double arrayGrand total is 2 elements using 16 bytes 2022-4-16282.2 2.2 命令窗口命令窗口 (續)(續)n數值顯示格式設置數值顯示格式設置n缺省顯示格式:簡潔的短(缺省顯示格式:簡潔的短(short gshort g)格式)格式n窗口命令及語法格式:窗口命令及語法格式:format format 顯示格式關鍵字顯示格式關鍵字 如:如:format long

46、%15format long %15位數字顯示位數字顯示n常見通用命令常見通用命令命令命令含義含義clcclc清除命令窗口的顯示內容清除命令窗口的顯示內容clearclear 清除清除MatlabMatlab工作空間中保存的變量工作空間中保存的變量whowho或或whoswhos顯示顯示MatlabMatlab工作空間中的變量信息工作空間中的變量信息dirdir顯示當前工作目錄的文件和子目錄清單顯示當前工作目錄的文件和子目錄清單cdcd顯示或設置當前工作目錄顯示或設置當前工作目錄typetype顯示指定顯示指定m m文件的內容文件的內容helphelp或或docdoc獲取在線幫助獲取在線幫助q

47、uitquit或或exitexit關閉關閉/ /推出推出MATALBMATALB 2022-4-16292.3 2.3 工作空間工作空間n查看工作空間內存變量,可以由查看工作空間內存變量,可以由whowho、whos whos 。n命名新變量。命名新變量。n修改變量名修改變量名n刪除變量刪除變量n繪圖繪圖n保存變量數據保存變量數據n裝入數據裝入數據 2022-4-16302.4 2.4 歷史窗口歷史窗口n歷史窗口:歷史窗口:n首先首先記錄每次啟動時間記錄每次啟動時間n并并記錄在命令窗口輸入命令記錄在命令窗口輸入命令,此次運行期間,此次運行期間,輸入的所有命令被記錄為一組,并以此次啟動時輸入的所

48、有命令被記錄為一組,并以此次啟動時間為標志。間為標志。n使用歷史窗口:使用歷史窗口:n可以查看命令窗口輸入過的命令或語句可以查看命令窗口輸入過的命令或語句n可以選擇一條或多條命令執行拷貝、執行、創可以選擇一條或多條命令執行拷貝、執行、創建建MM文件等。文件等。 要清除歷史記錄,可以選擇要清除歷史記錄,可以選擇Edit菜單中的菜單中的Clear Command History 命令命令 2022-4-16312.5 2.5 當前目錄窗口和搜索路徑當前目錄窗口和搜索路徑當前目錄窗口:當前目錄窗口:指指Matlab運行時的工作目錄。運行時的工作目錄。l只有在當前目錄和搜索路徑下的文件、函數才可以被只

49、有在當前目錄和搜索路徑下的文件、函數才可以被運行和調用。運行和調用。l如果沒有特殊指明,數據文件也將存放在當前目錄下;如果沒有特殊指明,數據文件也將存放在當前目錄下;l用戶可以將自己的工作目錄設置成當前目錄,從而使用戶可以將自己的工作目錄設置成當前目錄,從而使得所有操作都在當前目錄中進行。得所有操作都在當前目錄中進行。 2022-4-1632搜索路徑:搜索路徑:指指Matlab執行過程中對變量、函數和文件執行過程中對變量、函數和文件進行搜索的路徑。進行搜索的路徑。l在在File菜單中選擇菜單中選擇Set Path命令或在命令窗口輸入命令或在命令窗口輸入pathtool命令,出現搜索路徑設置對話

50、框:命令,出現搜索路徑設置對話框:!修改完搜索路徑后,!修改完搜索路徑后,需要進行保存。需要進行保存。 2022-4-16332.6 獲取在線幫助獲取在線幫助nMATLAB提供的幫助信息有兩類提供的幫助信息有兩類n簡單純文本幫助信息簡單純文本幫助信息 help lookfor(條件比較寬松)(條件比較寬松)例:例:inversen窗口式綜合幫助信息(文字、公式、圖形)窗口式綜合幫助信息(文字、公式、圖形) doc helpwin 2022-4-1634【功能演示功能演示-1 -1】求方程求方程xxxx53223719130 的全部根。的全部根。p = 2,0,-3,71,-9,13;建立多項式

51、系數向量建立多項式系數向量x = roots(p);求根求根x = -3.4914 2022-4-1635【功能演示功能演示-2 -2】求解線性方程組求解線性方程組xyzxyzxyz 2328234453923a = 2,3,-1;8,2,3;45,3,9;建立系數矩陣建立系數矩陣ab = 2;4;23;建立列向量建立列向量bx = inv(a)*bx = 2022-4-1636符號計算符號計算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 =

52、 -76/273 2022-4-1637【功能演示功能演示-3 -3】求解定積分求解定積分 求解求解 I=quad(x.*log(1+x),0,1)ans = 或或syms xnt(x*log(1+x),0,1)ans = 1/4ln()xx dx 101 2022-4-1638【功能演示功能演示-4 -4】多項式曲線擬合多項式曲線擬合考慮如下考慮如下 x-y x-y 一組實驗數據:一組實驗數據: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注:注:n一次多項式擬合:一次多項式擬合:p1 = polyf

53、it(x,y,1)n三次多項式擬合:三次多項式擬合:p3 = polyfit(x,y,3)nplot plot 原始數據、一次擬合曲線和三次擬合曲線原始數據、一次擬合曲線和三次擬合曲線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-4-1639擬合曲線圖擬合曲線圖由圖可見,三次擬合結果較好。由圖可見,三次擬合結果較好。 2022-4-16402.3 數值表示、變量及表達式n數值的記述數值的記述 MatlabMatlab的數只

54、采用習慣的十進制表示,可以帶小數點的數只采用習慣的十進制表示,可以帶小數點和負號和負號; ;其缺省的數據類型為雙精度浮點型其缺省的數據類型為雙精度浮點型(doubledouble)。)。 例如:例如:n變量命令規則變量命令規則l變量名、函數名對字母的大小寫是敏感的。如變量名、函數名對字母的大小寫是敏感的。如myVarmyVar與與myvarmyvar表示兩個不同的變量。表示兩個不同的變量。l變量名第一個字母必須是英文字母。變量名第一個字母必須是英文字母。l變量名可以包含英文字母、下劃線和數字。變量名可以包含英文字母、下劃線和數字。l變量名不能包含空格、標點。變量名不能包含空格、標點。l變量名最

55、多可包含變量名最多可包含6363個字符(及以后的版本)。個字符(及以后的版本)。 2022-4-16412.3 2.3 數值表示、變量及表達式數值表示、變量及表達式 (續)(續)nMatlabMatlab預定義的變量預定義的變量變量名變量名意義意義ans最近的計算結果的變量名最近的計算結果的變量名epsMATLAB定義的正的極小值定義的正的極小值=2.2204e-16pi圓周率圓周率inf值,無限大值,無限大i或或j虛數單元,虛數單元,sqrt(-1)NaN非數,非數,0/0、/ 說明說明l每當每當MATLABMATLAB啟動完成,這些變量就被產生。啟動完成,這些變量就被產生。lMATLABM

56、ATLAB中,被中,被0 0除不會引起程序中斷,給出報警的同時用除不會引起程序中斷,給出報警的同時用infinf或或NaNNaN給出結給出結果。果。l用戶只能臨時覆蓋這些預定義變量的值,用戶只能臨時覆蓋這些預定義變量的值,ClearClear或重啟或重啟MATLABMATLAB可恢復其值。可恢復其值。 2022-4-16422.3 2.3 數值表示、變量及表達式數值表示、變量及表達式 (續)(續)n運算符和表達式運算符和表達式運算運算數學表達式數學表達式MATLAB運算符運算符MATLAB表達式表達式加加a+b+a+b減減a-b-a-b乘乘axb*a*b除除a/b或或ab/或或a/b或或ab冪

57、冪abba說明說明lMatlabMatlab用用“ ”和和”/ /”分別表示分別表示“左除左除”和和“右除右除”。對標量而言,兩者沒。對標量而言,兩者沒有區別。對矩陣產生不同影響。有區別。對矩陣產生不同影響。lMATLABMATLAB表達式的書寫規則與表達式的書寫規則與“手寫方式手寫方式”幾乎完全相同。幾乎完全相同。l表達式按與常規相同的優先級自左至右執行運算。表達式按與常規相同的優先級自左至右執行運算。l優先級:指數運算級別最高,乘除次之,加減最低。優先級:指數運算級別最高,乘除次之,加減最低。l括號改變運算的次序。括號改變運算的次序。 2022-4-16432.3 2.3 數值表示、變量及

58、表達式數值表示、變量及表達式 (續)(續)n復數及其運算復數及其運算nMATLABMATLAB中復數的表達:中復數的表達:z=a+biz=a+bi,其中,其中a a、b b為實數。為實數。nMATLABMATLAB把復數作為一個整體,象計算實數一樣計算復數。把復數作為一個整體,象計算實數一樣計算復數?!纠?.3-1】復數復數z1=3+4i,z2=1+2i, z3= 計算計算62ie123z zzzz1=3+4z1=3+4* *i, z2=1+2i, z2=1+2* *i, z3=2i, z3=2* *exp(iexp(i* *pi/6), z=z1pi/6), z=z1* *z2/z3z2/

59、z3z_real=real(z), z_image=imag(z),z_real=real(z), z_image=imag(z),z_angle=angle(z), z_length=abs(z),z_angle=angle(z), z_length=abs(z), 2022-4-1644課堂總結n對對MATALBMATALB整個軟件產品進行了概述整個軟件產品進行了概述n歷史發展歷史發展n軟件產品家族體系構成軟件產品家族體系構成nMM語言的特點語言的特點nMATLABMATLAB的入門知識的入門知識nMATLABMATLAB桌面桌面nMATLABMATLAB數值的記述和數據顯示格式數值的記述

60、和數據顯示格式n變量及其命名規則變量及其命名規則n運算符及表達式運算符及表達式n常用的常用的MATLABMATLAB命令命令n在線幫助的使用在線幫助的使用 2022-4-1645思考題n簡述簡述MATALBMATALB軟件的功能及特點。軟件的功能及特點。n簡述簡述MATALBMATALB變量的命名規則。變量的命名規則。n熟悉課件中的例子。熟悉課件中的例子。Matlab語言及其應用語言及其應用第第2講講 2022-4-1647實驗安排實驗安排 2022-4-1648工作空間工作空間Matlab系統界面系統界面 2022-4-16492.2 2.2 命令窗口命令窗口 (續)(續)【例例2.2-52

溫馨提示

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

評論

0/150

提交評論