《MATLAB語(yǔ)言及其應(yīng)用》全套課件(經(jīng)典)

上傳人:雅*** 文檔編號(hào):20211608 上傳時(shí)間:2021-02-25 格式:PPT 頁(yè)數(shù):341 大?。?.96MB
收藏 版權(quán)申訴 舉報(bào) 下載
《MATLAB語(yǔ)言及其應(yīng)用》全套課件(經(jīng)典)_第1頁(yè)
第1頁(yè) / 共341頁(yè)
《MATLAB語(yǔ)言及其應(yīng)用》全套課件(經(jīng)典)_第2頁(yè)
第2頁(yè) / 共341頁(yè)
《MATLAB語(yǔ)言及其應(yīng)用》全套課件(經(jīng)典)_第3頁(yè)
第3頁(yè) / 共341頁(yè)

下載文檔到電腦,查找使用更方便

15 積分

下載資源

還剩頁(yè)未讀,繼續(xù)閱讀

資源描述:

《《MATLAB語(yǔ)言及其應(yīng)用》全套課件(經(jīng)典)》由會(huì)員分享,可在線閱讀,更多相關(guān)《《MATLAB語(yǔ)言及其應(yīng)用》全套課件(經(jīng)典)(341頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。

1、MATLAB 語(yǔ)言及其應(yīng)用,Application of Matlab Language,課程的作用 課程的目的 課程的特點(diǎn) 課程安排,2020/8/17,Application of Matlab Language,2,Matlab的廣闊應(yīng)用,在歐美各高等學(xué)校,Matlab成為線性代數(shù)、自動(dòng)控制理論、數(shù)字信號(hào)處理、時(shí)間序列分析、動(dòng)態(tài)系統(tǒng)仿真、圖像處理等諸多課程的基本教學(xué)工具,成為本科生、碩士生和博士生的必須掌握的基本技能。 在設(shè)計(jì)研究單位和工業(yè)部門(mén),Matlab已被廣泛地用于研究和解決各種具體的工程問(wèn)題。 可以預(yù)見(jiàn),Matlab將在我國(guó)科學(xué)研究和工程應(yīng)用中發(fā)揮越來(lái)越大的作用。,2020/8/

2、17,Application of Matlab Language,3,講授MATLAB語(yǔ)言基礎(chǔ)入門(mén)知識(shí),介紹MATLAB產(chǎn)品的體系、MATLAB桌面工具的使用方法,重點(diǎn)介紹MATLAB的數(shù)據(jù)可視化、數(shù)值計(jì)算的基本步驟以及如何使用MATLAB語(yǔ)言編寫(xiě)整潔、高效、規(guī)范的程序。并涉及到一些具體的專(zhuān)業(yè)應(yīng)用工具箱(如:信號(hào)處理工具箱、圖像處理工具箱等)。 通過(guò)本課程的學(xué)習(xí),了解、熟悉、掌握 MATLAB的基本編程方法,并具有初步的利用計(jì)算機(jī)處理、解決實(shí)際問(wèn)題的能力,為進(jìn)一步學(xué)習(xí)后續(xù)的專(zhuān)業(yè)課程做好準(zhǔn)備。,本課程的目的( Objectives of This Course ),本課程的特點(diǎn)( Featur

3、es of This Course ) 交叉性課程,是計(jì)算機(jī)技術(shù)、數(shù)學(xué)理論知識(shí)以及諸多工程理論知識(shí)的綜合。 實(shí)踐性課程。 內(nèi)容多,課時(shí)少,要求同學(xué)上課認(rèn)真聽(tīng)講,要充分利用上機(jī)實(shí)踐消化、理解、 掌握課上講解內(nèi)容。,2020/8/17,Application of Matlab Language,4,課程安排,課堂教學(xué):共24學(xué)時(shí);(1-12周) 上機(jī)試驗(yàn):共24學(xué)時(shí)。 (2-13周,周二7-8節(jié),九實(shí)401、402、403) 學(xué)習(xí)成績(jī): 1)上機(jī)實(shí)驗(yàn)成績(jī)占30%; 2)考勤 10% ; 3) 考試60% (隨堂考試)。 主要參考書(shū) 精通MATLAB 6.5張志涌 等編著,北航出版,2003年 高

4、等應(yīng)用數(shù)學(xué)問(wèn)題的Matlab求解 薛定宇等著,清華大學(xué)出版社,2004年 Matlab程序設(shè)計(jì)與應(yīng)用 劉衛(wèi)國(guó)主編,高等教育出版社,2020/8/17,Application of Matlab Language,5,授課宗旨,講授MATLAB的通用功能。 寓教于例,由淺入深。 關(guān)于科學(xué)計(jì)算,著重強(qiáng)調(diào)理論概念、算法和實(shí)際計(jì)算三者之間的關(guān)系。,2020/8/17,Application of Matlab Language,6,第一講 Matlab概述,前言 Matlab軟件概述 Matlab的桌面環(huán)境及入門(mén)知識(shí),2020/8/17,Application of Matlab Language,7

5、,1 Matlab概述,內(nèi)容 Matlab發(fā)展歷史 Matlab產(chǎn)品家族(Matlab family of products)體系 Matlab 語(yǔ)言的特點(diǎn)。 目的 全面了解 Matlab軟件包 激發(fā)對(duì)Matlab軟件的學(xué)習(xí)興趣。,2020/8/17,Application of Matlab Language,8,1.1 MATLAB的歷史及影響,70年代中期,Cleve Moler博土及其同事在美國(guó)國(guó)家基金會(huì)的幫助下,開(kāi)發(fā)了LINPACK和EISPACK的FORTRAN語(yǔ)言子程序庫(kù),這兩個(gè)程序庫(kù)代表了當(dāng)時(shí)矩陣運(yùn)算的最高水平。 到了70年代后期,身為美國(guó)新墨西哥州大學(xué)計(jì)算機(jī)系系主任的CIev

6、e Moler,在給學(xué)生上線性代數(shù)課時(shí),為了讓學(xué)生能使用這兩個(gè)子程序庫(kù),同時(shí)又不用在編程上花費(fèi)過(guò)多的時(shí)間,開(kāi)始著手用FORTRAN語(yǔ)言為學(xué)生編寫(xiě)使用LINPACK和EISPACK的接口程序,他將這個(gè)程序取名為MATLAB,其名稱(chēng)是由MATrix和 LABoratory(矩陣實(shí)驗(yàn)室)兩個(gè)單詞的前三個(gè)字母所合成。 在1978年,Malab就面世了。這個(gè)程序獲得了很大的成功,受到了學(xué)生的廣泛歡迎。在以后的幾年里,Matlab在多所大學(xué)里作為教學(xué)輔助軟件使用,并作為面向大眾的免費(fèi)軟件廣為流傳。,Cleve Moler,2020/8/17,Application of Matlab Language,9

7、,將MATLAB商品化的不是Cleve Moler,而是一個(gè)名叫Jack Little的人。當(dāng)免費(fèi)的MATLAB軟件到Stanford大學(xué),Jack Little正在該校主修控制,便接觸到了當(dāng)時(shí)MATLAB,直覺(jué)告訴他,這是一個(gè)具有巨大發(fā)展?jié)摿Φ能浖?。因此他在畢業(yè)沒(méi)多久,就開(kāi)始用C語(yǔ)言重新編寫(xiě)了MATLAB的核心。在Moler的協(xié)助下,于1984年成立MathWorks公司,首次推出MATLAB商用版。在其商用版推出的初期,MATLAB就以其優(yōu)秀的品質(zhì)(高效的數(shù)據(jù)計(jì)算能力和開(kāi)放的體系結(jié)構(gòu))占據(jù)了大部分?jǐn)?shù)學(xué)計(jì)算軟件的市場(chǎng),原來(lái)應(yīng)用于控制領(lǐng)域里的一些封閉式數(shù)學(xué)計(jì)算軟件包(如英國(guó)的UMIST、瑞典的

8、LUND和SIMNON、德國(guó)的KEDDC)就紛紛被淘汰或在MATLAB上重建。,Jack Little,2020/8/17,Application of Matlab Language,10,Cleve Moler至今仍是該公司的首席科學(xué)家,他以60多歲的高齡,還常常親自進(jìn)行撰寫(xiě)程序的工作,非常令人佩服。如果你有數(shù)值運(yùn)算方面的高水平問(wèn)題,寄到 MathWorks 后,大部份還是會(huì)由 Cleve Moler親自回答。在1994年,Pentium芯片曾發(fā)生Fdiv的bug, 當(dāng)時(shí)Cleve Moler是第一個(gè)以軟件方式解決此 bug的人,曾一時(shí)膾炙人口。,在公司初創(chuàng)的五年,Jack Little非

9、常辛苦,常常身兼數(shù)職(董事長(zhǎng)、總經(jīng)理、推銷(xiāo)、程序開(kāi)發(fā)等),但公司一直穩(wěn)定發(fā)展,從當(dāng)初的一人公司,到1993年的200人,到2000年的 500余人,到2005年公司員工達(dá)到了1300人,不但打敗其他競(jìng)爭(zhēng)軟件,而且前景一片欣欣向榮。根據(jù)Jack Little個(gè)人說(shuō)法,MATLAB早期成功的兩大因素是:選用了C語(yǔ)言及選定PC為主要平臺(tái),這似乎和微軟的成功有相互呼應(yīng)之妙。,MathWorks公司,目前仍然是私人企業(yè),并未上市,這和Jack Little個(gè)人理念有關(guān),他認(rèn)為MATLAB的設(shè)計(jì)方向應(yīng)該一直是以顧客的需求與軟件的完整性為首要目標(biāo),而不是以盈利為主要目的,因此MATLAB一直是在穩(wěn)定中求進(jìn)步

10、,而不會(huì)因?yàn)樯鲜卸馐芄蓶|左右其發(fā)展方向。這也是為什么MATLAB新版本總是姍姍來(lái)遲的原因,因?yàn)樗麄儾粫?huì)因?yàn)槭袌?chǎng)的需求而推出不成熟的產(chǎn)品。此外,由于Jack Little保守的個(gè)性,也使得MathWorks不曾跨足MATLAB/Simulink以外的行業(yè),當(dāng)前商場(chǎng)上紛紛擾擾的并購(gòu)或分家,MathWorks完全是絕緣體。,2020/8/17,Application of Matlab Language,11,1992年,支持Windows 3.x的MATLAB 4.0版本推出,增加了Simulink,Control,Neural Network,Signal Processing等專(zhuān)用工具箱。,

11、1993年11月,MathWorks公司推出了Matlab 4.1,其中主要增加了符號(hào)運(yùn)算功能。當(dāng)升級(jí)至Matlab 4.2c,這一功能在用戶(hù)中得到廣泛應(yīng)用。,1997年,Matlab 5.0版本問(wèn)世了,實(shí)現(xiàn)了真正的32位運(yùn)算,加快數(shù)值計(jì)算,圖形表現(xiàn)有效。,2001年初,MathWorks公司推出了Matlab 6.0(R12)。,2002年7月,推出了Matlab 6.5(R13),在這一版本中Simulink升級(jí)到了5.0,性能有了很大提高,另一大特點(diǎn)是推出了JIT程序加速器,Matlab的計(jì)算速度有了明顯的提高。,2005年9月,推出了MAILAB 7.1(Release14 SP3),

12、在這一版本中Simulink升級(jí)到了6.3,軟件性能有了新的提高,用戶(hù)界面更加友好。值得說(shuō)明的是,Matlab V7.1版采用了更先進(jìn)的數(shù)學(xué)程序庫(kù),即“LAPACK”和“BLAS”。 目前,Matlab軟件支持多種系統(tǒng)平臺(tái),如常見(jiàn)的WindowsNT/XP、UNIX、Linux等。,Matlab版本的發(fā)展,2020/8/17,Application of Matlab Language,12,MATLAB就是這樣經(jīng)過(guò)了近30年的專(zhuān)門(mén)打造、20多年的千錘百煉,它以高性能的數(shù)組運(yùn)算(包括矩陣運(yùn)算)為基礎(chǔ),不僅實(shí)現(xiàn)了大多數(shù)數(shù)學(xué)算法的高效運(yùn)行函數(shù)和數(shù)據(jù)可視化,而且提供了非常高效的計(jì)算機(jī)高級(jí)編程語(yǔ)言,在

13、用戶(hù)可參與的情況下,各種專(zhuān)業(yè)領(lǐng)域的工具箱不斷開(kāi)發(fā)和完善,MATLAB取得了巨大的成功,已廣泛應(yīng)用于科學(xué)研究、工程應(yīng)用,用于數(shù)值計(jì)算分析、系統(tǒng)建模與仿真。 早在20世紀(jì)90年代初,歐美等發(fā)達(dá)國(guó)家的大學(xué)就將MATLAB列為一種必須掌握的編程語(yǔ)言。近幾年來(lái),國(guó)內(nèi)的很多大學(xué)也將MATLAB列為了本科生必修課程。 與Maple、Mathematica數(shù)學(xué)計(jì)算軟件相比,MATLAB以數(shù)值計(jì)算見(jiàn)長(zhǎng),而Maple等以符號(hào)運(yùn)算見(jiàn)長(zhǎng),能給出解析解和任意精度解,而處理大量數(shù)據(jù)的能力遠(yuǎn)不如MATLAB。 MATLAB軟件功能之強(qiáng)大、應(yīng)用之廣泛,已成為為21世紀(jì)最為重要的科學(xué)計(jì)算語(yǔ)言??梢?jiàn)學(xué)習(xí)掌握這一工具的重要性。,2

14、020/8/17,Application of Matlab Language,13,MATLAB產(chǎn)品由若干模塊組成,不同的模塊完成不同的功能,其中有:,實(shí)際上MATLAB本身就是一個(gè)極其豐富的資源庫(kù),那么應(yīng)該從哪一部分開(kāi)始著手、學(xué)習(xí)使用MATLAB呢?這就有必要了解這一軟件產(chǎn)品的體系結(jié)構(gòu) 。,MATLAB Compiler這種編譯器可以將MATLAB程序文件編譯生成標(biāo)準(zhǔn)的C/C+語(yǔ)言文件,而生成的標(biāo)準(zhǔn)的C/C+文件可以被任何一種C/C+編譯器編譯生成函數(shù)庫(kù)或可執(zhí)行文件,以提高程序的運(yùn)行效率。,1.2 MATLAB產(chǎn)品的體系結(jié)構(gòu),MATLAB,MATLAB Toolboxes,MATLAB C

15、ompiler,Simulink,Simulink Blocksets,Real-Time Workshop (RTW),Stateflow,Stateflow Coder,由這些模塊產(chǎn)品之間的關(guān)系可以圖1.1表示。,圖1.1 MATLAB產(chǎn)品體系結(jié)構(gòu),圍繞著MATLAB這個(gè)計(jì)算核心,形成了諸多針對(duì)不同應(yīng)用領(lǐng)域的算法程序包,被稱(chēng)為專(zhuān)用工具箱(Toolbox),這些工具箱的列表以及每個(gè)工具箱的使用詳見(jiàn)MATLAB在線幫助文檔。MATLAB本身所提供的工具箱大概有40多個(gè),另外還有其他公司或研究單位開(kāi)發(fā)提供的工具箱,這些工具箱的總數(shù)已有100多個(gè),而且新的工具箱還在不斷增加。如果你有特別的應(yīng)用領(lǐng)域

16、,可以首先到網(wǎng)上查找是否已有相關(guān)的工具箱,很可能已有人將你要做的應(yīng)用程序作成工具箱了。,Simulink是窗口圖形方式的、專(zhuān)門(mén)用于連續(xù)時(shí)間或離散時(shí)間的動(dòng)態(tài)系統(tǒng)建模、分析和仿真的核心。,Real-Time Workshop是一種實(shí)時(shí)代碼生成工具,它能夠根據(jù)Simulink模型生成程序源代碼,并打包、編譯所生成的源代碼生成實(shí)時(shí)應(yīng)用程序。,從現(xiàn)有的Simulink 和Stateflow自動(dòng)生成C語(yǔ)言程序代碼的功能、定點(diǎn)運(yùn)算模塊集(Fixed-point Blockset)與C語(yǔ)言程序代碼到VHDL(Very High Speed Integrated Circuit Hardware Descrip

17、tion Language,一種標(biāo)準(zhǔn)的硬件電路設(shè)計(jì)語(yǔ)言 )的自動(dòng)轉(zhuǎn)換功能,可以看出,高級(jí)的系統(tǒng)仿真或低級(jí)的芯片算法設(shè)計(jì),都可用MATLAB、Simulink、Stateflow及相關(guān)的工具箱來(lái)完成。,Stateflow是基于有限狀態(tài)機(jī)理論針對(duì)復(fù)雜的事件驅(qū)動(dòng)系統(tǒng)進(jìn)行建模、仿真的工具。,Stateflow Coder是基于Stateflow狀態(tài)圖生成高效、優(yōu)化的程序代碼。,圍繞著Simulink仿真核心所開(kāi)發(fā)的應(yīng)用程序包,稱(chēng)為模塊集(Blocksets),MATLAB產(chǎn)品提供許多專(zhuān)用模塊集,如Communication Blockset、DSP Blockset、SimPowerSystem Bl

18、ockset、Signal Processing Blockset等,詳見(jiàn)MATLAB在線幫助文檔。,MATLAB是MATLAB產(chǎn)品家族的計(jì)算核心與基礎(chǔ),是集高性能數(shù)值計(jì)算與數(shù)據(jù)可視化于一體的高效編程語(yǔ)言。,2020/8/17,Application of Matlab Language,14,1.3 MATLAB編程語(yǔ)言的特點(diǎn),語(yǔ)法規(guī)則簡(jiǎn)單。尤其內(nèi)定的編程規(guī)則,與其他編程語(yǔ)言(如C、Fortran等)相比更接近于常規(guī)數(shù)學(xué)表示。對(duì)于數(shù)組變量的使用,不需類(lèi)型聲明,無(wú)需事先申請(qǐng)內(nèi)存空間。,MATLAB語(yǔ)言主要有以下幾個(gè)特點(diǎn):,MATLAB基本的語(yǔ)言環(huán)境提供了數(shù)以千計(jì)的計(jì)算函數(shù),極大的提高了用戶(hù)的編

19、程效率。如,一個(gè)fft函數(shù)即可完成對(duì)指定數(shù)據(jù)的快速傅里葉變換,這一任務(wù)如果用C語(yǔ)言來(lái)編程實(shí)現(xiàn)的話,至少要用幾十條C語(yǔ)言才能完成。,因此,MATLAB是一個(gè)簡(jiǎn)單易用、功能強(qiáng)大的高效編程語(yǔ)言。,平臺(tái)無(wú)關(guān)性(可移植性)。MATLAB軟件可以運(yùn)行在很多不同的計(jì)算機(jī)系統(tǒng)平臺(tái)上,如Windows Me/NT/2000/XP、很多不同版本的UNIX以及Linux。無(wú)論你在哪一個(gè)平臺(tái)上編寫(xiě)的程序都可以運(yùn)行在其它平臺(tái)上,對(duì)于MATLAB數(shù)據(jù)文件也一樣,是平臺(tái)無(wú)關(guān)的。極大保護(hù)了用戶(hù)的勞動(dòng)、方便了用戶(hù)。其繪圖功能也是平臺(tái)無(wú)關(guān)的。無(wú)論任何系統(tǒng)平臺(tái),只要MATLAB能夠運(yùn)行,其圖形功能命令就能正常運(yùn)行。,MATLAB是

20、一種腳本式(scripted)的解釋型語(yǔ)言,無(wú)論是命令、函數(shù)或變量,只要在命令窗口的提示符下鍵入,并“回車(chē)(Enter)”,MATLAB都予以解釋執(zhí)行。,2020/8/17,Application of Matlab Language,15,功能強(qiáng)大 數(shù)值運(yùn)算優(yōu)勢(shì) 符號(hào)運(yùn)算優(yōu)勢(shì)(Maple) 強(qiáng)大的2D、3D數(shù)據(jù)可視化功能 許多具有算法自適應(yīng)能力的功能函數(shù),2020/8/17,Application of Matlab Language,16,語(yǔ)言簡(jiǎn)單、內(nèi)涵豐富 語(yǔ)言及其書(shū)寫(xiě)形式非常接近于常規(guī)數(shù)學(xué)書(shū)寫(xiě)形式; 其操作和功能函數(shù)指令就是常用的計(jì)算機(jī)和數(shù)學(xué)書(shū)上的一些簡(jiǎn)單英文單詞表達(dá)的,如:help、

21、clear等; 完備的幫助系統(tǒng),易學(xué)易用。 擴(kuò)充能力、可開(kāi)發(fā)能力較強(qiáng) MATLAB完全成了一個(gè)開(kāi)放的系統(tǒng) 用戶(hù)可以開(kāi)發(fā)自己的工具箱 可以方便地與Fortran、C等語(yǔ)言接口 編程易、效率高 Matlab以數(shù)組為基本計(jì)算單元 具有大量的算法優(yōu)化的功能函數(shù),2020/8/17,Application of Matlab Language,17,2 MATLAB的桌面環(huán)境及入門(mén)知識(shí),啟動(dòng)與退出MATLAB 命令窗口及使用 數(shù)值表示、變量、表達(dá)式 命令歷史窗口 工作空間 獲取在線幫助,2020/8/17,Application of Matlab Language,18,2.1 啟動(dòng)與退出MATLAB

22、,啟動(dòng)MATLAB 直接用鼠標(biāo)雙擊桌面上MATLAB7.1圖標(biāo) 或Windows桌面的“開(kāi)始”“所有程序”“MATLAB7.1” “MATLAB7.1”。 退出MATLAB 關(guān)閉MATLAB桌面 在命令窗口執(zhí)行quit或exit命令 MATLAB缺省桌面(見(jiàn)下頁(yè)),2020/8/17,Application of Matlab Language,19,菜單欄,工具欄,文件編輯窗口,工作空間,歷史命令 窗口,Start 菜單,命令窗口,命令提示符,2.1 啟動(dòng)與退出MATLAB (續(xù)),2020/8/17,Application of Matlab Language,20,2.2 命令窗口的使用

23、,激活命令窗口。 “” 與閃爍的光標(biāo)一起表明系統(tǒng)就緒,等待輸入。 命令窗口脫離MATLAB桌面。 簡(jiǎn)單計(jì)算 【例2.2-1】計(jì)算 (1)在MATLAB命令窗口輸入 以下內(nèi)容: (12+2*(7-4)/32 (2)按【Enter】鍵,指令執(zhí)行。 (3)返回的計(jì)算結(jié)果: ans= 2,2020/8/17,Application of Matlab Language,21,2.2 命令窗口 (續(xù)),說(shuō)明 在命令窗口【Enter】鍵提交命令執(zhí)行。 Matlab所用運(yùn)算符(如+、-、等)是各種計(jì)算程序中常見(jiàn)的。 計(jì)算結(jié)果中的“ans”是英文“answer”的一種縮寫(xiě),其含義就是“運(yùn)算答案”。ans是Ma

24、tlab的一個(gè)預(yù)定義變量。,2020/8/17,Application of Matlab Language,22,2.2 命令窗口 (續(xù)),簡(jiǎn)單計(jì)算(續(xù)) 【例2.2-2】計(jì)算sin(45 ) sin(45*pi/180),Matalb中正弦函數(shù)sin就是常見(jiàn)的正弦函數(shù)。 它的參數(shù)值是以“弧度”為單位的。 pi也是Matalb的預(yù)定義變量。 pi=3.14159 Matlab對(duì)字母大小寫(xiě)是敏感的。,【例2.2-3】計(jì)算 的值,其中x=4.92。,sqrt(2*exp(4.92+0.5)+1),Matalb中開(kāi)平方sqrt(x),是英文square root的縮寫(xiě) 。 Matalb中指數(shù)函數(shù)e

25、xp(x),常見(jiàn)的表達(dá)方式。,ans= 0.7071,ans= 21.2781,2020/8/17,Application of Matlab Language,23,2.2 命令窗口 (續(xù)),“clc”清除窗口顯示內(nèi)容的命令。,【例2.2-4】計(jì)算 的值。,y=2*sin(0.3*pi)/(1+sqrt(5),y= 0.5000,【例2.2-5】計(jì)算 的值。,y=2*cos(0.3*pi)/(1+sqrt(5),y= 0.3633,命令行編輯 “”鍵調(diào)回已輸入過(guò)命令。 修改。,2020/8/17,Application of Matlab Language,24,2.2 命令窗口 (續(xù)),【

26、例2.2-5】計(jì)算半徑為5.2m的圓的周長(zhǎng)和面積。 radius=5.2; %圓的半徑 area=pi*5.22, circle_len=2*pi*5.2,area = 84.9487 circle_len = 32.6726,以上兩例,命令行中用到了等號(hào)“=”。 計(jì)算結(jié)果不再賦給“ans”,而是賦給用戶(hù)指定的變量y、area、circle_len。 無(wú)論是預(yù)定義變量還是用戶(hù)自定義變量都被存儲(chǔ)在系統(tǒng)的工作空間內(nèi),即系統(tǒng)定義的一個(gè)存儲(chǔ)窗口變量的內(nèi)存空間。 Who、whos命令用來(lái)顯示工作空間的變量 clear命令用來(lái)清除工作空間的變量。,2020/8/17,Application of Matl

27、ab Language,25,2.2 命令窗口 (續(xù)),who,whos,Your 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 array y 1x1 8 double array Grand total is 5 elements using 40 bytes,2020/8/17,Application of Ma

28、tlab Language,26,2.2 命令窗口 (續(xù)),clear y who,Your variables are: ans circle_len area radius,clear ans area whos,Your variables are: Name Size Bytes Class circle_len 1x1 8 double array radius 1x1 8 double array Grand total is 2 elements using 16 bytes,2020/8/17,Application of Matlab Language,27,2.2 命令窗口

29、 (續(xù)),數(shù)值顯示格式設(shè)置 缺省顯示格式:簡(jiǎn)潔的短(short g)格式 窗口命令及語(yǔ)法格式:format 顯示格式關(guān)鍵字 如:format long %15位數(shù)字顯示 常見(jiàn)通用命令 命令含義 clc清除命令窗口的顯示內(nèi)容 clear 清除Matlab工作空間中保存的變量 who或whos顯示Matlab工作空間中的變量信息 dir顯示當(dāng)前工作目錄的文件和子目錄清單 cd顯示或設(shè)置當(dāng)前工作目錄 type顯示指定m文件的內(nèi)容 help或doc獲取在線幫助 quit或exit關(guān)閉/推出MATALB,2020/8/17,Application of Matlab Language,28,2.3 工作

30、空間,查看工作空間內(nèi)存變量,可以由who、whos 。 命名新變量。 修改變量名 刪除變量 繪圖 保存變量數(shù)據(jù) 裝入數(shù)據(jù),2020/8/17,Application of Matlab Language,29,2.4 歷史窗口,歷史窗口: 首先記錄每次啟動(dòng)時(shí)間 并記錄在命令窗口輸入命令,此次運(yùn)行期間,輸入的所有命令被記錄為一組,并以此次啟動(dòng)時(shí)間為標(biāo)志。 使用歷史窗口: 可以查看命令窗口輸入過(guò)的命令或語(yǔ)句 可以選擇一條或多條命令執(zhí)行拷貝、執(zhí)行、創(chuàng)建M文件等。,要清除歷史記錄,可以選擇Edit菜單中的Clear Command History 命令,2020/8/17,Application of

31、 Matlab Language,30,2.5 當(dāng)前目錄窗口和搜索路徑,當(dāng)前目錄窗口:指Matlab運(yùn)行時(shí)的工作目錄。 只有在當(dāng)前目錄和搜索路徑下的文件、函數(shù)才可以被運(yùn)行和調(diào)用。 如果沒(méi)有特殊指明,數(shù)據(jù)文件也將存放在當(dāng)前目錄下; 用戶(hù)可以將自己的工作目錄設(shè)置成當(dāng)前目錄,從而使得所有操作都在當(dāng)前目錄中進(jìn)行。,2020/8/17,Application of Matlab Language,31,搜索路徑:指Matlab執(zhí)行過(guò)程中對(duì)變量、函數(shù)和文件進(jìn)行搜索的路徑。 在File菜單中選擇Set Path命令或在命令窗口輸入pathtool命令,出現(xiàn)搜索路徑設(shè)置對(duì)話框:,!修改完搜索路徑后,需要進(jìn)行保

32、存。,2020/8/17,Application of Matlab Language,32,2.6 獲取在線幫助,MATLAB提供的幫助信息有兩類(lèi) 簡(jiǎn)單純文本幫助信息 help lookfor(條件比較寬松)例:inverse 窗口式綜合幫助信息(文字、公式、圖形) doc helpwin,2020/8/17,Application of Matlab Language,33,【功能演示-1】,求方程,的全部根。,p = 2,0,-3,71,-9,13;建立多項(xiàng)式系數(shù)向量 x = roots(p);求根,x = -3.4914 1.6863 + 2.6947i 1.6863 - 2.6947

33、i 0.0594 + 0.4251i 0.0594 - 0.4251i,2020/8/17,Application of Matlab Language,34,【功能演示-2】求解線性方程組,a = 2,3,-1;8,2,3;45,3,9;%建立系數(shù)矩陣a b = 2;4;23;%建立列向量b x = inv(a)*b,x = 0.5531 0.2051 -0.2784,2020/8/17,Application of Matlab Language,35,符號(hào)計(jì)算,syms x y z %建立符號(hào)變量 x,y,z=solve(2*x+3*y-z-2,8*x+2*y+3*z-4,45*x+3*

34、y+9*z-23),x = 151/273 y = 8/39 z = -76/273,2020/8/17,Application of Matlab Language,36,【功能演示-3】求解定積分,求解 I= quad(x.*log(1+x),0,1) ans = 0.250 或 syms x nt(x*log(1+x),0,1) ans = 1/4,2020/8/17,Application of Matlab Language,37,【功能演示-4】多項(xiàng)式曲線擬合,考慮如下 x-y 一組實(shí)驗(yàn)數(shù)據(jù): x=1, 2, 3, 4, 5, 6, 7, 8, 9, 10 y=1.2, 3, 4,

35、 4, 5, 4.7, 5, 5.2, 6, 7.2 注: 一次多項(xiàng)式擬合: p1 = polyfit(x,y,1) 三次多項(xiàng)式擬合: p3 = polyfit(x,y,3) plot 原始數(shù)據(jù)、一次擬合曲線和三次擬合曲線 x2=1:0.1:10; y1=polyval(p1,x2) y3=polyval(p3,x2) plot( x, y, *, x2, y1, :, x2, y3),2020/8/17,Application of Matlab Language,38,擬合曲線圖,由圖可見(jiàn),三次擬合結(jié)果較好。,2020/8/17,Application of Matlab Language

36、,39,2.3 數(shù)值表示、變量及表達(dá)式,數(shù)值的記述 Matlab的數(shù)只采用習(xí)慣的十進(jìn)制表示,可以帶小數(shù)點(diǎn)和負(fù)號(hào);其缺省的數(shù)據(jù)類(lèi)型為雙精度浮點(diǎn)型(double)。 例如:3 -10 0.001 1.3e10 1.256e-6 變量命令規(guī)則 變量名、函數(shù)名對(duì)字母的大小寫(xiě)是敏感的。如myVar與myvar表示兩個(gè)不同的變量。 變量名第一個(gè)字母必須是英文字母。 變量名可以包含英文字母、下劃線和數(shù)字。 變量名不能包含空格、標(biāo)點(diǎn)。 變量名最多可包含63個(gè)字符(6.5及以后的版本)。,2020/8/17,Application of Matlab Language,40,2.3 數(shù)值表示、變量及表達(dá)式 (續(xù)

37、),Matlab預(yù)定義的變量,說(shuō)明 每當(dāng)MATLAB啟動(dòng)完成,這些變量就被產(chǎn)生。 MATLAB中,被0除不會(huì)引起程序中斷,給出報(bào)警的同時(shí)用inf或NaN給出結(jié)果。 用戶(hù)只能臨時(shí)覆蓋這些預(yù)定義變量的值,Clear或重啟MATLAB可恢復(fù)其值。,2020/8/17,Application of Matlab Language,41,2.3 數(shù)值表示、變量及表達(dá)式 (續(xù)),運(yùn)算符和表達(dá)式,說(shuō)明 Matlab用“”和”/”分別表示“左除”和“右除”。對(duì)標(biāo)量而言,兩者沒(méi)有區(qū)別。對(duì)矩陣產(chǎn)生不同影響。 MATLAB表達(dá)式的書(shū)寫(xiě)規(guī)則與“手寫(xiě)方式”幾乎完全相同。 表達(dá)式按與常規(guī)相同的優(yōu)先級(jí)自左至右執(zhí)行運(yùn)算。 優(yōu)

38、先級(jí):指數(shù)運(yùn)算級(jí)別最高,乘除次之,加減最低。 括號(hào)改變運(yùn)算的次序。,2020/8/17,Application of Matlab Language,42,2.3 數(shù)值表示、變量及表達(dá)式 (續(xù)),復(fù)數(shù)及其運(yùn)算 MATLAB中復(fù)數(shù)的表達(dá):z=a+bi,其中a、b為實(shí)數(shù)。 MATLAB把復(fù)數(shù)作為一個(gè)整體,象計(jì)算實(shí)數(shù)一樣計(jì)算復(fù)數(shù)。,【例2.3-1】復(fù)數(shù)z1=3+4i,z2=1+2i, z3= 計(jì)算,z1=3+4*i, z2=1+2*i, z3=2*exp(i*pi/6), z=z1*z2/z3,z_real=real(z), z_image=imag(z),z_angle=angle(z), z_l

39、ength=abs(z),2020/8/17,Application of Matlab Language,43,課堂總結(jié),對(duì)MATALB整個(gè)軟件產(chǎn)品進(jìn)行了概述 歷史發(fā)展 軟件產(chǎn)品家族體系構(gòu)成 M語(yǔ)言的特點(diǎn) MATLAB的入門(mén)知識(shí) MATLAB桌面 MATLAB數(shù)值的記述和數(shù)據(jù)顯示格式 變量及其命名規(guī)則 運(yùn)算符及表達(dá)式 常用的MATLAB命令 在線幫助的使用,2020/8/17,Application of Matlab Language,44,思考題,簡(jiǎn)述MATALB軟件的功能及特點(diǎn)。 簡(jiǎn)述MATALB變量的命名規(guī)則。 熟悉課件中的例子。,2020/8/17,Application of M

40、atlab Language,45,Matlab語(yǔ)言及其應(yīng)用,第2講,實(shí)驗(yàn)安排,2020/8/17,Application of Matlab Language,47,工作空間,Matlab系統(tǒng)界面,2020/8/17,Application of Matlab Language,48,2.2 命令窗口 (續(xù)),【例2.2-5】計(jì)算半徑為5.2m的圓的周長(zhǎng)和面積。 radius=5.2; %圓的半徑 area=pi*5.22, circle_len=2*pi*5.2,area = 84.9487 circle_len = 32.6726,以上兩例,命令行中用到了等號(hào)“=”。 計(jì)算結(jié)果不再賦給“

41、ans”,而是賦給用戶(hù)指定的變量y、area、circle_len。 無(wú)論是預(yù)定義變量還是用戶(hù)自定義變量都被存儲(chǔ)在系統(tǒng)的工作空間內(nèi),即系統(tǒng)定義的一個(gè)存儲(chǔ)窗口變量的內(nèi)存空間。 Who、whos命令用來(lái)顯示工作空間的變量 clear命令用來(lái)清除工作空間的變量。,2020/8/17,Application of Matlab Language,49,2.2 命令窗口 (續(xù)),who,whos,Your variables are: circle_len area radius,Name Size Bytes Class area 1x1 8 double array circle_len 1x1 8

42、 double array radius 1x1 8 double array Grand total is 3 elements using 24 bytes,2020/8/17,Application of Matlab Language,50,2.2 命令窗口 (續(xù)),clear radius who,Your variables are: circle_len area,clear area whos,Your variables are: Name Size Bytes Class circle_len 1x1 8 double array Grand total is 1 elem

43、ents using 8 bytes,2020/8/17,Application of Matlab Language,51,2.2 命令窗口 (續(xù)),數(shù)值顯示格式設(shè)置 缺省顯示格式:簡(jiǎn)潔的短(short g,7位有效數(shù)字)格式 窗口命令及語(yǔ)法格式:format 顯示格式關(guān)鍵字 如:format long %15位數(shù)字顯示 常見(jiàn)通用命令 命令含義 clc清除命令窗口的顯示內(nèi)容 clear 清除Matlab工作空間中保存的變量 who或whos顯示Matlab工作空間中的變量信息 dir顯示當(dāng)前工作目錄的文件和子目錄清單 cd顯示或設(shè)置當(dāng)前工作目錄 type顯示指定m文件的內(nèi)容 help或doc

44、獲取在線幫助 quit或exit關(guān)閉/推出MATALB,2020/8/17,Application of Matlab Language,52,2.3 工作空間,查看工作空間內(nèi)存變量,可以由who、whos 。 命名新變量 修改變量名 刪除變量 繪圖 保存變量數(shù)據(jù) 裝入數(shù)據(jù),2020/8/17,Application of Matlab Language,53,2.4 歷史窗口,歷史窗口: 首先記錄每次啟動(dòng)時(shí)間 并記錄在命令窗口輸入命令,此次運(yùn)行期間,輸入的所有命令被記錄為一組,并以此次啟動(dòng)時(shí)間為標(biāo)志。 使用歷史窗口: 可以查看命令窗口輸入過(guò)的命令或語(yǔ)句 可以選擇一條或多條命令執(zhí)行拷貝、執(zhí)行、

45、創(chuàng)建M文件等。,要清除歷史記錄,可以選擇Edit菜單中的Clear Command History 命令,2020/8/17,Application of Matlab Language,54,2.5 當(dāng)前目錄窗口和搜索路徑,當(dāng)前目錄窗口:指Matlab運(yùn)行時(shí)的工作目錄。 只有在當(dāng)前目錄和搜索路徑下的文件、函數(shù)才可以被運(yùn)行和調(diào)用。 如果沒(méi)有特殊指明,數(shù)據(jù)文件也將存放在當(dāng)前目錄下; 用戶(hù)可以將自己的工作目錄設(shè)置成當(dāng)前目錄,從而使得所有操作都在當(dāng)前目錄中進(jìn)行。,2020/8/17,Application of Matlab Language,55,搜索路徑:指Matlab執(zhí)行過(guò)程中對(duì)變量、函數(shù)和文

46、件進(jìn)行搜索的路徑。 在File菜單中選擇Set Path命令或在命令窗口輸入pathtool命令,出現(xiàn)搜索路徑設(shè)置對(duì)話框:,!修改完搜索路徑后,需要進(jìn)行保存。,2020/8/17,Application of Matlab Language,56,2.6 獲取在線幫助,MATLAB提供的幫助信息有兩類(lèi) 簡(jiǎn)單純文本幫助信息 help lookfor(條件比較寬松)例:inverse 窗口式綜合幫助信息(文字、公式、圖形) doc helpwin,2020/8/17,Application of Matlab Language,57,【功能演示-1】求方程的根,p = 2,0,-3,71,-9,1

47、3;建立多項(xiàng)式系數(shù)向量 x = roots(p);求根,x = -3.4914 1.6863 + 2.6947i 1.6863 - 2.6947i 0.0594 + 0.4251i 0.0594 - 0.4251i,2020/8/17,Application of Matlab Language,58,【功能演示-2】求解線性方程組,a = 2,3,-1;8,2,3;45,3,9;建立系數(shù)矩陣a b = 2;4;23;建立列向量b z = inv(a)*b,z = 0.5531 0.2051 -0.2784,2020/8/17,Application of Matlab Language,59

48、,符號(hào)計(jì)算,syms x y z 建立符號(hào)變量 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,2020/8/17,Application of Matlab Language,60,【功能演示-3】求解定積分,求解 I= quad(x.*log(1+x),0,1) ans = 0.250 或 syms x int(x*log(1+x),0,1) ans = 1/4,2020/8/17,Application of Matlab Language,61,【功能演示-4

49、】多項(xiàng)式曲線擬合,考慮如下 x-y 一組實(shí)驗(yàn)數(shù)據(jù): x=1, 2, 3, 4, 5, 6, 7, 8, 9, 10 y=1.2, 3, 4, 4, 5, 4.7, 5, 5.2, 6, 7.2 注: 一次多項(xiàng)式擬合: p1 = polyfit(x,y,1) 三次多項(xiàng)式擬合: p3 = polyfit(x,y,3) plot 原始數(shù)據(jù)、一次擬合曲線和三次擬合曲線 x2=1:0.1:10; y1=polyval(p1,x2) y3=polyval(p3,x2) plot( x, y, *, x2, y1, :, x2, y3),2020/8/17,Application of Matlab Lan

50、guage,62,擬合曲線圖,由圖可見(jiàn),三次擬合結(jié)果較好。,2020/8/17,Application of Matlab Language,63,第2章 Matlab數(shù)據(jù)及其運(yùn)算,Matlab數(shù)據(jù)類(lèi)型非常豐富,除數(shù)值型、字符型等基本數(shù)據(jù)類(lèi)型外,還有結(jié)構(gòu)體、單元等更為復(fù)雜的數(shù)據(jù)類(lèi)型。 各種數(shù)據(jù)類(lèi)型都以矩陣形式存在,矩陣是Matlab最基本的數(shù)據(jù)對(duì)象,并且矩陣的運(yùn)算是定義在復(fù)數(shù)域上的。,2.1 數(shù)值表示、變量及表達(dá)式,數(shù)值的記述 Matlab的數(shù)只采用習(xí)慣的十進(jìn)制表示,可以帶小數(shù)點(diǎn)和負(fù)號(hào);其缺省的數(shù)據(jù)類(lèi)型為雙精度浮點(diǎn)型(double)。 例如:3 -10 0.001 1.3e10 1.256e-

51、6 變量命令規(guī)則 變量名、函數(shù)名對(duì)字母的大小寫(xiě)是敏感的。如myVar與myvar表示兩個(gè)不同的變量。 變量名第一個(gè)字母必須是英文字母。 變量名可以包含英文字母、下劃線和數(shù)字。 變量名不能包含空格、標(biāo)點(diǎn)。 變量名最多可包含63個(gè)字符(6.5及以后的版本)。,2020/8/17,Application of Matlab Language,65,2.1 數(shù)值表示、變量及表達(dá)式 (續(xù)),Matlab預(yù)定義的變量,說(shuō)明 每當(dāng)MATLAB啟動(dòng)完成,這些變量就被產(chǎn)生。 MATLAB中,被0除不會(huì)引起程序中斷,給出報(bào)警的同時(shí)用inf或NaN給出結(jié)果。 用戶(hù)只能臨時(shí)覆蓋這些預(yù)定義變量的值,Clear或重啟MA

52、TLAB可恢復(fù)其值。,2020/8/17,Application of Matlab Language,66,2.1數(shù)值表示、變量及表達(dá)式 (續(xù)),運(yùn)算符和表達(dá)式,說(shuō)明 Matlab用“”和”/”分別表示“左除”和“右除”。對(duì)標(biāo)量而言,兩者沒(méi)有區(qū)別。對(duì)矩陣產(chǎn)生不同影響。 MATLAB表達(dá)式的書(shū)寫(xiě)規(guī)則與“手寫(xiě)方式”幾乎完全相同。 表達(dá)式按與常規(guī)相同的優(yōu)先級(jí)自左至右執(zhí)行運(yùn)算。 優(yōu)先級(jí):指數(shù)運(yùn)算級(jí)別最高,乘除次之,加減最低。 括號(hào)改變運(yùn)算的次序。,2020/8/17,Application of Matlab Language,67,2.1 數(shù)值表示、變量及表達(dá)式 (續(xù)),復(fù)數(shù)及其運(yùn)算 MATLAB

53、中復(fù)數(shù)的表達(dá):z=a+bi,其中a、b為實(shí)數(shù)。 MATLAB把復(fù)數(shù)作為一個(gè)整體,象計(jì)算實(shí)數(shù)一樣計(jì)算復(fù)數(shù)。,【例2.3-1】復(fù)數(shù)z1=3+4i,z2=1+2i, z3= 計(jì)算,z1=3+4*i, z2=1+2*i, z3=exp(i*pi/6), z=z1*z2/z3,z_real=real(z), z_image=imag(z),z_angle=angle(z), z_length=abs(z),2020/8/17,Application of Matlab Language,68,2.2 Matlab矩陣(數(shù)組)的表示,數(shù)組的概念 一維數(shù)組變量的創(chuàng)建 二維數(shù)組變量的創(chuàng)建 數(shù)組元素的標(biāo)識(shí)與尋訪

54、 數(shù)組運(yùn)算 多維數(shù)組,2020/8/17,Application of Matlab Language,69,2.2.1. 數(shù)組(array)的概念,數(shù)組定義: 按行(row)和列(column)順序排列的實(shí)數(shù)或復(fù)數(shù)的有序集,被稱(chēng)為數(shù)組。 數(shù)組中的任何一個(gè)數(shù)都被稱(chēng)為這個(gè)數(shù)組的元素,由其所在的行和列標(biāo)識(shí),這個(gè)標(biāo)識(shí)也稱(chēng)為數(shù)組元素的下標(biāo)或索引。Matlab將標(biāo)量視為11的數(shù)組。 對(duì)m行、n列的2維數(shù)組a: 計(jì)為mn的數(shù)組a; *行標(biāo)識(shí)、列標(biāo)識(shí)均從1開(kāi)始; 行標(biāo)識(shí)從上到下遞增; 列標(biāo)識(shí)從左到右遞增。,a(3, 4)=34 row is first,a=,2020/8/17,Application of

55、 Matlab Language,70,數(shù)組的分類(lèi) 一維數(shù)組,也稱(chēng)為向量(vector) 。 行向量(row vector)、列向量(column vector)。 二維數(shù)組(矩陣matrix)。 多維數(shù)組。 有效矩陣:每行元素的個(gè)數(shù)必須相同,每列元素的個(gè)數(shù)也必須相同。,2.2.1. 數(shù)組(array)的概念,2020/8/17,Application of Matlab Language,71,2.2.1、數(shù)組(array)的概念 (續(xù)),行向量,列向量,a(2,1)=3,a(1,2)=2,b(3)=3,c(2)=2,2020/8/17,Application of Matlab Langu

56、age,72,2.2.2、創(chuàng)建一維數(shù)組變量,第一種方法:使用方括號(hào)“ ”操作符 【例2-1】創(chuàng)建數(shù)組(行向量)a=1 3 pi 3+5i a=1 3 pi 3+5*i %or a=1, 3, pi, 3+5*i a= 1.0000 3.0000 3.1416 3.0000 + 5.0000i 所有的向量元素必須在操作符“ ”之內(nèi); 向量元素間用空格或英文的逗點(diǎn)“,”分開(kāi)。 第二種方法:使用冒號(hào)“:”操作符 【例2-2】創(chuàng)建以110順序排列整數(shù)為元素的行向量b。b=1:10 b=1 2 3 4 5 6 7 8 9 10,2020/8/17,Application of Matlab Langua

57、ge,73,2.2.2、創(chuàng)建一維數(shù)組變量(續(xù)),【例2-3】鍵入并執(zhí)行c=1:2:10和d=1:2:9 c=1:2:10 c=1 3 5 7 9 d=1:2:9 d= 1 3 5 7 9 利用冒號(hào)“:”操作符創(chuàng)建行向量的基本語(yǔ)法格式: x=Start:Increment:End Start表示新向量x的第一個(gè)元素; 新向量x的最后一個(gè)元素不能大于End ; Increment可正可負(fù),若負(fù),則必須StartEnd;若正,則必須StartEnd,否則創(chuàng)建的為空向量。 若Increment=1,則可簡(jiǎn)寫(xiě)為:x=Start:End。,2020/8/17,Application of Matlab L

58、anguage,74,2.2.2、創(chuàng)建一維數(shù)組變量(續(xù)),第三種方法:利用函數(shù)linspace 函數(shù)linspace的基本語(yǔ)法 x= linspace(x1, x2, n) 該函數(shù)生成一個(gè)由n個(gè)元素組成的行向量; x1為其第一個(gè)元素; x2為其最后一個(gè)元素; x1、x2之間元素的間隔=(x2-x1)/(n-1)。 如果忽略參數(shù)n,則系統(tǒng)默認(rèn)生成100個(gè)元素的行向量。 【例2-4】鍵入并執(zhí)行x= linspace(1,2,5) x=1.0000 1.2500 1.5000 1.7500 2.0000 同學(xué)們可以在實(shí)驗(yàn)時(shí)察看x= linspace(1,2)執(zhí)行結(jié)果。,2020/8/17,Appli

59、cation of Matlab Language,75,2.2.2、創(chuàng)建一維數(shù)組變量(續(xù)),第四種方法:利用函數(shù)logspace 通過(guò)實(shí)驗(yàn)認(rèn)識(shí)該函數(shù)的功能。 列向量的創(chuàng)建 使用方括號(hào)“ ”操作符,使用分號(hào)“;”分割行。 【例2-5】鍵入并執(zhí)行x= 1; 2; 3 X=1 2 3 使用冒號(hào)操作符 【例2-6】鍵入并執(zhí)行x= (1:3) % “ ”表示矩陣的轉(zhuǎn)置,2020/8/17,Application of Matlab Language,76,2.2.2、創(chuàng)建一維數(shù)組變量 (續(xù)),創(chuàng)建數(shù)組變量的一般方法 創(chuàng)建變量的賦值語(yǔ)句的一般格式 var=expression var為變量名 expre

60、ssion為MATLAB合法表達(dá)式 可以是單獨(dú)的常數(shù)值或數(shù)值數(shù)組; 也可以由常數(shù)值、其他變量(部分或全部)、數(shù)值數(shù)組和運(yùn)算符(+、-等)構(gòu)成。 【例2-7】鍵入并執(zhí)行 a=0 1+6; b=a 6 7; c=6 a 7; d=6 a 7 a;,2020/8/17,Application of Matlab Language,77,2.2.2、創(chuàng)建一維數(shù)組變量 (續(xù)),一旦被創(chuàng)建,變量就被存儲(chǔ)在工作空間,可以通過(guò)“Workspace”窗口或在“Command Window”執(zhí)行“whos”命令察看。 操作一: 使用“Workspace”窗口察看變量 操作二: 使用“whos”命令察看變量,202

61、0/8/17,Application of Matlab Language,78,2.2.3、創(chuàng)建二維數(shù)組變量,第一種方法:使用方括號(hào)“ ”操作符 使用規(guī)則 數(shù)組元素必須在“ ”內(nèi)鍵入; 行與行之間須用分號(hào)“;” 間隔,也可以在分行處用回車(chē)鍵間隔; 行內(nèi)元素用空格或逗號(hào)“,”間隔。 【例3-1】鍵入并執(zhí)行a2=1 2 3;4 5 6;7 8 9 a2= 1 2 3 4 5 6 7 8 9 【例3-2】鍵入并執(zhí)行a2=1:3;4:6;7:9 %結(jié)果同上,2020/8/17,Application of Matlab Language,79,2.2.3、創(chuàng)建二維數(shù)組變量(續(xù)),【例3-3】由向量構(gòu)

62、成二維數(shù)組。 a=1 2 3; b=2 3 4; c=a;b; c1=a b; 第二種方法:函數(shù)方法 函數(shù)ones(生成全1矩陣)、zeros (生成全0矩陣) 、reshape “help elmat”獲得基本的矩陣生成和操作函數(shù)列表 【例3-4】創(chuàng)建全1的3x3數(shù)組。 ones(3) 【例3-5】創(chuàng)建全1的3x4數(shù)組。 ones(3,4),2020/8/17,Application of Matlab Language,80,2.2.3、創(chuàng)建二維數(shù)組變量(續(xù)),【例3-5】 reshape的使用演示 a=-4:4 a= -4 -3 -2 -1 0 1 2 3 4 b=reshape(a,

63、3, 3) b= -4 -1 2 -3 0 3 -2 1 4 數(shù)組元素的排列順序,從上到下按列排列,先排第一列,然后第二列, 要求數(shù)組的元素總數(shù)不變。,2020/8/17,Application of Matlab Language,81,4、數(shù)組元素的標(biāo)識(shí)與尋訪,數(shù)組元素的標(biāo)識(shí) “全下標(biāo)(index)”標(biāo)識(shí) 經(jīng)典數(shù)學(xué)教科書(shū)采用“全下標(biāo)”標(biāo)識(shí)法:每一維對(duì)應(yīng)一個(gè)下標(biāo)。 如對(duì)于二維數(shù)組,用“行下標(biāo)和列下標(biāo)”標(biāo)識(shí)數(shù)組的元素,a(2,3)就表示二維數(shù)組a的“第2行第3列”的元素。 對(duì)于一維數(shù)組,用一個(gè)下標(biāo)即可,b(2)表示一維數(shù)組b的第2個(gè)元素,無(wú)論b是行向量還是列向量。 “單下標(biāo)”(linear i

64、ndex)標(biāo)識(shí) 所謂“單下標(biāo)”標(biāo)識(shí)就是用一個(gè)下標(biāo)來(lái)表明元素在數(shù)組的位置。 對(duì)于二維數(shù)組, “單下標(biāo)”編號(hào):設(shè)想把二維數(shù)組的所有列,按先后順序首尾相接排成“一維長(zhǎng)列”,然后自上往下對(duì)元素位置執(zhí)行編號(hào)。 兩種“下標(biāo)”標(biāo)識(shí)的變換:sub2ind、ind2sub,2020/8/17,Application of Matlab Language,82,4、數(shù)組元素的標(biāo)識(shí)與尋訪 (續(xù)),【例4-1】單下標(biāo)的使用 a=zeros(2, 5); a(:)=-4:5 a = -4 -2 0 2 4 -3 -1 1 3 5 注意數(shù)組的排列順序。,2020/8/17,Application of Matlab La

65、nguage,83,4、數(shù)組元素的標(biāo)識(shí)與尋訪 (續(xù)),元素與子數(shù)組的尋訪與賦值 【例4-3】一維數(shù)組元素與子數(shù)組的尋訪與賦值 a=linspace(1,10,5) a = 1.0000 3.2500 5.5000 7.7500 10.0000 a(3) %尋訪a的第3個(gè)元素 ans = 5.5000 a(1 2 5) %尋訪a的第1、2、5個(gè)元素組成的子數(shù)組 ans = 1.0000 3.2500 10.0000,2020/8/17,Application of Matlab Language,84,4、數(shù)組元素的標(biāo)識(shí)與尋訪 (續(xù)),a(1:3) %尋訪前3個(gè)元素組成的子數(shù)組 ans = 1.0000 3.2500 5.5000 a(3:-1:1) %由前3個(gè)元素倒序構(gòu)成的子數(shù)組 ans = 5.5000 3.2500 1.0000 a(3:end) ans = 5.5000 7.7500 10.0000 a(3:end-1) ans = 5.5000 7.7500,%第3個(gè)及其后所有元素構(gòu)成的子數(shù)組 函數(shù)end作為參數(shù)使用,返回最后一個(gè)元素的下標(biāo),2020/8/17,Application of Matlab Language,85,a(1 2 3 5 5 3 2 1) ans = 1.0000

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

相關(guān)資源

更多
正為您匹配相似的精品文檔
關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號(hào):ICP2024067431號(hào)-1 川公網(wǎng)安備51140202000466號(hào)


本站為文檔C2C交易模式,即用戶(hù)上傳的文檔直接被用戶(hù)下載,本站只是中間服務(wù)平臺(tái),本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請(qǐng)立即通知裝配圖網(wǎng),我們立即給予刪除!