![MATLAB及應(yīng)用課件(完整版)_第1頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-6/5/d1f1da0e-ed3e-4fc4-b6d4-023e6eece1eb/d1f1da0e-ed3e-4fc4-b6d4-023e6eece1eb1.gif)
![MATLAB及應(yīng)用課件(完整版)_第2頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-6/5/d1f1da0e-ed3e-4fc4-b6d4-023e6eece1eb/d1f1da0e-ed3e-4fc4-b6d4-023e6eece1eb2.gif)
![MATLAB及應(yīng)用課件(完整版)_第3頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-6/5/d1f1da0e-ed3e-4fc4-b6d4-023e6eece1eb/d1f1da0e-ed3e-4fc4-b6d4-023e6eece1eb3.gif)
![MATLAB及應(yīng)用課件(完整版)_第4頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-6/5/d1f1da0e-ed3e-4fc4-b6d4-023e6eece1eb/d1f1da0e-ed3e-4fc4-b6d4-023e6eece1eb4.gif)
![MATLAB及應(yīng)用課件(完整版)_第5頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-6/5/d1f1da0e-ed3e-4fc4-b6d4-023e6eece1eb/d1f1da0e-ed3e-4fc4-b6d4-023e6eece1eb5.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、MATLAB及應(yīng)用陳霞 2007.3課程的性質(zhì)、目的和任務(wù)課程的性質(zhì)、目的和任務(wù) Matlab 是一個(gè)可視化的計(jì)算程序,被廣泛地應(yīng)用在科學(xué)運(yùn)算領(lǐng)域里。它具有功能強(qiáng)大、使用簡(jiǎn)單等特點(diǎn),內(nèi)容包括:數(shù)值計(jì)算、符號(hào)計(jì)算、數(shù)據(jù)擬合、圖形圖像處理、系統(tǒng)模擬和仿真分析等功能。此外,用Matlab還可以進(jìn)行動(dòng)畫設(shè)計(jì)、有限元分析等。 本課程的目的是使學(xué)生能夠運(yùn)用Matlab進(jìn)行一般的工程計(jì)算,掌握Matlab的根本技術(shù)根本計(jì)算、矩陣處理、符號(hào)運(yùn)算和圖形顯示技術(shù)等,為將來從事工程技術(shù)方面的產(chǎn)品開發(fā)、科學(xué)研究、工程計(jì)算和管理打下一定的根底。教學(xué)根本要求教學(xué)根本要求1.了解Matlab語言特點(diǎn)、熟悉Matlab視窗環(huán)
2、境、掌握Matlab幫助功能的根本使用方法。2.掌握Matlab中變量和函數(shù)的有關(guān)概念、以及矩陣和多項(xiàng)式的構(gòu)造方法。掌握數(shù)組運(yùn)算和矩陣運(yùn)算,并能夠使用常用的幾種常用的函數(shù)進(jìn)行簡(jiǎn)單問題的求解。3.搞清符號(hào)變量和符號(hào)表達(dá)式的定義,并能用符號(hào)運(yùn)算解決一般的微積分和方程求解問題。掌握Matlab程序設(shè)計(jì)的幾種根本控制轉(zhuǎn)移語句,學(xué)會(huì)使用簡(jiǎn)單M文件的編程。4.掌握二維平面圖形和三維立體圖形的繪制方法,進(jìn)行數(shù)據(jù)可視化處理。理解用戶圖形界面程序的構(gòu)造,掌握編程方法。5.能夠利用Matlab進(jìn)行簡(jiǎn)單的通訊與電子工程工程的仿真第第1章章 Matlab概述概述1.1、Matlab簡(jiǎn)介 1.2、Matlab的工作環(huán)境
3、 1.3、Matlab幫助系統(tǒng)第第1章章 Matlab概述概述n1.1、Matlab簡(jiǎn)介n1、MATLAB 的起源與開展nMATLAB 是“ 矩陣實(shí)驗(yàn)室 MATrix LABoratory的縮寫,最初版本是由 Cleve Moler 博士用 FORTRAN 語言開發(fā)的矩陣分析軟件。n80 年代初期,由 Cleve Moler 和 John Little采用 C 語言改寫了 MATLAB 的內(nèi)核。成立了 Mathworks 軟件開發(fā)公司,并于1984 年將 MATLAB 正式推向市場(chǎng)。n1992 年初推出了應(yīng)用于 Windows 操作系統(tǒng)的 MATLAB 4.x 版本。n1997 年推出 5.1
4、 版本。n1998 年推出 5.2 版本。n1999 年推出 MATLAB 5.3 版本,MATLAB 5.3對(duì)應(yīng)于 Release 11 。n2000 年又推出了更為簡(jiǎn)便易學(xué)的 MATLAB 6.0 版本,MATLAB 6.0 對(duì)應(yīng)于 Release 12。第第1章章 Matlab概述概述2、MATLAB 的主要特點(diǎn)MATLAB 的根本單位為矩陣.MATLAB 語言以解釋方式工作.具有非常友好的人機(jī)界面。具有強(qiáng)大的作圖和數(shù)據(jù)可視化功能.具有極強(qiáng)的可擴(kuò)展性。3、MATLAB 的根本組成MATLAB 主程序、Simulink 動(dòng)態(tài)系統(tǒng)仿真和 MATLAB 工具箱 Toolbox三大局部組成。主程
5、序包括了 MATLAB 語言、工作環(huán)境、句柄圖形、數(shù)學(xué)函數(shù)庫(kù)和應(yīng)用程序接口五局部.第第1章章 Matlab概述概述n1.2、Matlab的工作環(huán)境1. MATLAB 的啟動(dòng) 桌面快捷方式啟動(dòng) 開始菜單方式啟動(dòng)2. MATLAB和退出 Matlab菜單命令/關(guān)閉按鈕 在Matlab命令窗口輸入exit或quit第第1章章 Matlab概述概述 MATLAB的桌面環(huán)境可以包含多個(gè)窗口,這些窗口分別為歷史命令窗口(Command History)、命令行窗口(Command Window)、當(dāng)前目錄瀏覽器(Current Directory Browser)、工作空間瀏覽器(Workspace Br
6、owser)、目錄分類窗口(Launch Pad)、數(shù)組編輯器(Array Editor)、M文件編輯器/調(diào)試器(Editor/Debugger)、超文本幫助瀏覽器(Help Navigator/Browser),這些窗口都可以內(nèi)嵌在MATLAB主窗體中,組成MATLAB的用戶界面。其中當(dāng)MATLAB安裝完畢并首次運(yùn)行時(shí),展示在用戶面前的界面為MATLAB運(yùn)行時(shí)的缺省界面窗口,如圖1-1所示。 第第1章章 Matlab概述概述圖1-1 MATLAB默認(rèn)的用戶界面第第1章章 Matlab概述概述n MATLAB 6.5的缺省界面和MATLAB 6.1的缺省界面相比還是有一定變化的,主要就是在界面
7、的左下角有一個(gè)名為“Start的啟動(dòng)菜單,在這個(gè)菜單中可以執(zhí)行MATLAB產(chǎn)品的各種工具,并且可以查閱MATLAB包含的各種資源,它的功能和MATLAB的目錄分類窗口(Launch Pad)功能非常類似。在默認(rèn)的缺省用戶界面中,新版本的MATLAB中沒有了目錄分類窗口(Launch Pad),而是工作空間瀏覽器(Workspace Browser)。n MATLAB啟動(dòng)的界面可以具有多種默認(rèn)的選擇,用戶可以通過MATLAB界面中的“View菜單下的“Desktop Layout子菜單下的命令選擇不同的MATLAB界面,這些命令分別為:第第1章章 Matlab概述概述nDefault:缺省的界面
8、,如圖1-1所示。包含歷史命令窗口(Command History)、命令行窗口(Command Window),此外工作空間瀏覽器(Workspace Browser)和當(dāng)前目錄瀏覽器(Current Directory Browser)兩個(gè)窗口層疊在一起。nCommand Windows Only:僅包含命令行窗口(Command Window),此時(shí)MATLAB界面的外觀類似于舊版本的MATLAB。nSimple:包含兩個(gè)窗口命令行窗口(Command Window)和歷史命令窗口(Command History),兩個(gè)窗口并列在界面中,如圖1-2所示。 第第1章章 Matlab概述概述
9、圖1-2 選擇Simple菜單命令的界面 第第1章章 Matlab概述概述nShort History和Tall History:這兩個(gè)菜單命令包含的窗口類型和數(shù)量同默認(rèn)的界面完全一致,不過排放的順序不同,如圖1-3、1-4所示。圖1-3 選擇Short History菜單命令的界面第第1章章 Matlab概述概述圖1-4 選擇Tall History菜單命令的界面第第1章章 Matlab概述概述nFive Panel:包含所有的MATLAB桌面窗口,在MATLAB界面中各個(gè)窗口處于平鋪狀態(tài),如圖1-5所示圖1-5 選擇Five Panel菜單命令的界面第第1章章 Matlab概述概述n在MA
10、TLAB用戶界面的View菜單下還有一些菜單命令可以用來選擇顯示在圖形界面中的窗口,用戶可以根據(jù)自己的喜好選擇配置用戶界面。在本小結(jié)提及的各種用戶交互的窗口將在后續(xù)的章節(jié)中詳細(xì)講述。一般情況下,建議用戶選擇“Command Windows Only方式來運(yùn)行MATLAB。在這種啟動(dòng)方式下,MATLAB的啟動(dòng)速度比較快,占用的資源略少。第第1章章 Matlab概述概述3、MATLAB 菜單項(xiàng)菜單項(xiàng)File 文件菜單文件菜單 Edit 編輯菜單編輯菜單 View 視圖菜單視圖菜單Window 窗口菜單窗口菜單Web 連網(wǎng)信息連網(wǎng)信息Help 幫助菜單幫助菜單 第第1章章 Matlab概述概述n4.
11、 MATLAB工具欄n 用 MATLAB 的 M 文件編輯器新建一個(gè) M 文件; n 用 MATLAB 編輯器翻開一個(gè)文件; n 將選中的內(nèi)容剪切到剪貼板; n 將選中的內(nèi)容復(fù)制到剪貼板; n 將剪貼板中的內(nèi)容粘貼到光標(biāo)指定的位置; n 撤消最近一次的操作; n 翻開 Simulink 瀏覽器; n 翻開 MATLAB 幫助窗口。第第1章章 Matlab概述概述n5.Command Windows運(yùn)用入門n1Command Windows指令窗口簡(jiǎn)介第第1章章 Matlab概述概述n2最簡(jiǎn)單的計(jì)算器使用法n例1.1求 算術(shù)運(yùn)算結(jié)果n1用鍵盤在Matlab指令窗口中輸入以下內(nèi)容n (12+2*(
12、7-4)/32n2在上述表達(dá)式輸入完成后,按【Enter】鍵,該指令被執(zhí)行n3在指令執(zhí)行后,Matlab指令窗中將顯示以下結(jié)果nans =n 22122 (74)/3 第第1章章 Matlab概述概述n例1.2簡(jiǎn)單矩陣 的輸入步驟n1在鍵盤中輸入以下內(nèi)容n A=1,2,3;4,5,6;7,8,9n2按【Enter】鍵,該指令被執(zhí)行n3在指令執(zhí)行后,Matlab指令窗中將顯示以下結(jié)果nA =n 1 2 3n 4 5 6n 7 8 9123456789A第第1章章 Matlab概述概述n當(dāng)然我們也可以采用分行輸入的形式n A=1,2,3n 4,5,6n 7,8,9nA =n 1 2 3n 4 5
13、6n 7 8 9第第1章章 Matlab概述概述n3計(jì)算結(jié)果的圖象顯示n例 1-3 繪制函數(shù) y=2sin(1+x)的圖像,并計(jì)算當(dāng) x=0.5 時(shí)的函數(shù)值。第第1章章 Matlab概述概述第第1章章 Matlab概述概述n5. MATLAB 通用命令第第1章章 Matlab概述概述n1.3 Matlab幫助系統(tǒng)幫助系統(tǒng)1、Matlab聯(lián)機(jī)幫助 #工具條中的 按鈕; #help菜單欄中前2 項(xiàng)中的任何一項(xiàng); #在命令窗口中執(zhí)行 helpdesk或doc。第第1章章 Matlab概述概述3、Matlab常用的窗口幫助命令常用的窗口幫助命令第第1章章 Matlab概述概述help 命令直接輸入 h
14、elp,MATLAB 將列出所有的幫助主題,每個(gè)幫助主題對(duì)應(yīng)于 MATLAB搜索路徑中的一個(gè)目錄;help 后加幫助主題,可獲得指定幫助主題的幫助信息;help 后加函數(shù)名; help 后加命令名,將得到指定命令的用法;第第1章章 Matlab概述概述demo 命令第第1章章 Matlab概述概述nhelpwin 命令用于翻開 MATLAB 的幫助文件窗第第1章章 Matlab概述概述lookfor 命令允許用戶通過完整的或局部關(guān)鍵字來搜索要查找的內(nèi)容who 和 whos 的作用是列出在 MATLAB 工作內(nèi)存中駐留的變量名exist 命令用來查找或檢查變量和函數(shù)的存在性第第1章章 Matla
15、b概述概述n上機(jī)練習(xí)上機(jī)練習(xí)1n 1以兩種方式翻開以兩種方式翻開 MATLAB 工作窗口,工作窗口,進(jìn)入進(jìn)入MATLAB 6.5 的工作環(huán)境,并嘗試用的工作環(huán)境,并嘗試用不同的方式退出。不同的方式退出。 n 2嘗試、熟悉嘗試、熟悉 MATLAB 6.5 的各欄菜的各欄菜單以及各個(gè)工具欄的功能。單以及各個(gè)工具欄的功能。 n 3重新啟動(dòng)重新啟動(dòng) MATLAB 6.5,進(jìn)入,進(jìn)入 MATLAB 工作窗口,用工作窗口,用 who 命令查看當(dāng)前命令查看當(dāng)前工作空間內(nèi)有無變量及其值。工作空間內(nèi)有無變量及其值。 n 4繪制函數(shù)繪制函數(shù)y=cos(5x+2)/sin(3x+1) 的圖的圖像,并求解當(dāng)像,并求解
16、當(dāng) x=2 時(shí)的函數(shù)值。時(shí)的函數(shù)值。 n 5此時(shí)再次用此時(shí)再次用 who 命令查看工作空間命令查看工作空間內(nèi)的變量名及其值,與內(nèi)的變量名及其值,與 3比較,同時(shí)用比較,同時(shí)用whos 命令查看變量,比較與命令查看變量,比較與 who 命令的不命令的不同。同。 n 6熟練掌握熟練掌握 MATLAB 的通用命令。的通用命令。 n 7練習(xí)并熟練掌握練習(xí)并熟練掌握 MATLAB 的幫助命的幫助命令,學(xué)會(huì)利用令,學(xué)會(huì)利用 MATLAB的幫助信息。的幫助信息。n8用用 lookfor 命令查找函數(shù)命令查找函數(shù) cos 的信息,的信息,并與并與 help 命令查找的結(jié)果相比較,注意采命令查找的結(jié)果相比較,注
17、意采用兩種命令之間的差異。用兩種命令之間的差異。第第2章章 Matlab語言程序設(shè)計(jì)語言程序設(shè)計(jì)n根本要求:根本要求:n(1) 了解了解Matlab的各種數(shù)據(jù)類型;的各種數(shù)據(jù)類型;n(2) 掌握掌握Matlab的運(yùn)算符與操作符的含義和用法的運(yùn)算符與操作符的含義和用法 ;n(3) 掌握掌握Matlab根本表達(dá)式并了解其常用函數(shù)分類;根本表達(dá)式并了解其常用函數(shù)分類;n(4) 熟練掌握熟練掌握 Matlab 的程序結(jié)構(gòu)順序結(jié)構(gòu)、循環(huán)結(jié)構(gòu)的程序結(jié)構(gòu)順序結(jié)構(gòu)、循環(huán)結(jié)構(gòu)和分支結(jié)構(gòu)與流程控制語句和分支結(jié)構(gòu)與流程控制語句 ;n(5) 了解并初步掌握了解并初步掌握 Matlab 的數(shù)據(jù)文件的讀寫;的數(shù)據(jù)文件的讀
18、寫; n(6) 學(xué)會(huì)學(xué)會(huì) Matlab 的的M文件的編寫方法,包括命令文件和函文件的編寫方法,包括命令文件和函數(shù)文件。了解數(shù)文件。了解M件的調(diào)試命令和調(diào)試方法。件的調(diào)試命令和調(diào)試方法。第第2 2章章 MatlabMatlab語言程序設(shè)計(jì)語言程序設(shè)計(jì)n1 1、 MatlabMatlab數(shù)據(jù)類型數(shù)據(jù)類型n MATLABMATLAB的早期版本只有非常簡(jiǎn)單的二維的早期版本只有非常簡(jiǎn)單的二維數(shù)組和字符類型的數(shù)據(jù),目前的數(shù)組和字符類型的數(shù)據(jù),目前的MATLABMATLAB版版本中不僅有多達(dá)十幾種的根本數(shù)據(jù)類型,本中不僅有多達(dá)十幾種的根本數(shù)據(jù)類型,在不同的專業(yè)工具箱中還有特殊的數(shù)據(jù)類在不同的專業(yè)工具箱中還有
19、特殊的數(shù)據(jù)類型,并且型,并且MATLABMATLAB還支持面向?qū)ο蟮木幊碳歼€支持面向?qū)ο蟮木幊碳夹g(shù),支持用戶自定義的數(shù)據(jù)類型。術(shù),支持用戶自定義的數(shù)據(jù)類型。n MATLABMATLAB支持的根本數(shù)據(jù)類型見圖支持的根本數(shù)據(jù)類型見圖2-12-1。第第2 2章章 MatlabMatlab語言程序設(shè)計(jì)語言程序設(shè)計(jì)MATLAB數(shù)據(jù)類型基本數(shù)值類型字符串元胞數(shù)組結(jié)構(gòu)內(nèi)嵌對(duì)象函數(shù)句柄 Java對(duì)象 邏輯類型雙精度類型 單精度類型整數(shù)類型用戶自定義類int8, uint8int16, uint16int32, uint32int64, uin64圖2-1 MATLAB的數(shù)據(jù)類型 第第2 2章章 MatlabM
20、atlab語言程序設(shè)計(jì)語言程序設(shè)計(jì)n獲取MATLAB的數(shù)據(jù)類型列表可以在MATLAB命令行窗口中鍵入help datatypes命令。n 在圖2-1中所示的各種數(shù)據(jù)類型都可以用于創(chuàng)立向量、矩陣或者多維數(shù)組。用戶自定義的數(shù)據(jù)類型也是圖示的各種數(shù)據(jù)類型的組合。在不同的MATLAB工具箱中具有自定義的數(shù)據(jù)類型,例如控制系統(tǒng)工具箱中定義的LTI對(duì)象,在濾波器設(shè)計(jì)工具箱中定義的濾波器對(duì)象,在符號(hào)數(shù)學(xué)工具箱中定義的符號(hào)類型數(shù)據(jù)等。這些工具箱中包含的特殊數(shù)據(jù)對(duì)象也都使用這些根本的數(shù)據(jù)類型組合構(gòu)成。第第2 2章章 MatlabMatlab語言程序設(shè)計(jì)語言程序設(shè)計(jì)n 需要指出一點(diǎn),MATLAB的根本數(shù)據(jù)類型是雙
21、精度數(shù)據(jù)類型和字符類型。MATLAB的M語言和其他高級(jí)編程語言不同的是,MATLAB沒有具體的變量或?qū)ο舐暶骱投x過程,任何數(shù)據(jù)類型的變量或?qū)ο蠖伎梢岳妹嫦驅(qū)ο缶幊碳夹g(shù)中構(gòu)造函數(shù)的方法或者數(shù)據(jù)類型轉(zhuǎn)換的方法來創(chuàng)立其他數(shù)據(jù)類型對(duì)象和變量。MATLAB和Java語言、C+語言類似,所有數(shù)據(jù)類型就是相應(yīng)的類,具有一定的面向?qū)ο蟮奶攸c(diǎn)。MATLAB的不同數(shù)據(jù)類型的變量或?qū)ο笳加玫膬?nèi)存空間不盡相同,不同的數(shù)據(jù)類型的變量或?qū)ο笠簿哂胁煌牟僮骱瘮?shù)。在本章中,將詳細(xì)講述MATLAB的根本數(shù)值類型、邏輯類型、字符串、元胞數(shù)組和結(jié)構(gòu)的使用方法,其中,元胞數(shù)組是MATLAB中常用的一種獨(dú)有的數(shù)據(jù)類型。第第2 2
22、章章 MatlabMatlab語言程序設(shè)計(jì)語言程序設(shè)計(jì)n變量和常量n數(shù)字變量的格式n字符串n單元型變量n結(jié)構(gòu)型變量n矩陣、向量n多項(xiàng)式第第2 2章章 MatlabMatlab語言程序設(shè)計(jì)語言程序設(shè)計(jì)na) a) 變量和常量變量和常量 n變量變量( (包括函數(shù)包括函數(shù)) )的命名規(guī)那么:由英文字母、數(shù)的命名規(guī)那么:由英文字母、數(shù)字和下劃線混合組成,不得包含空格和標(biāo)點(diǎn)字和下劃線混合組成,不得包含空格和標(biāo)點(diǎn) ;第;第一個(gè)字符必須是英文字母,最多包括一個(gè)字符必須是英文字母,最多包括3131個(gè)字符;個(gè)字符; 對(duì)字母的大小寫敏感。對(duì)字母的大小寫敏感。n 局部變量和全局變量局部變量和全局變量n 永久變量常量
23、永久變量常量n只能在某一函數(shù)體內(nèi)使用,而不能從其他函數(shù)和只能在某一函數(shù)體內(nèi)使用,而不能從其他函數(shù)和 MatlabMatlab工作空間訪問的變量,就是局部變量。工作空間訪問的變量,就是局部變量。n在幾個(gè)函數(shù)及在幾個(gè)函數(shù)及M atlabM atlab函數(shù)中都能使用的變量就是函數(shù)中都能使用的變量就是全局變量。全局變量。 全局變量名應(yīng)盡可能大寫,并由全局變量名應(yīng)盡可能大寫,并由globeglobe聲明聲明第第2 2章章 MatlabMatlab語言程序設(shè)計(jì)語言程序設(shè)計(jì)nMatlab Matlab 永久變量永久變量ans最近的答案infInfinity(無窮大)eps浮點(diǎn)數(shù)相對(duì)精度NaNNot-a-Nu
24、mber(非數(shù))realmax最大浮點(diǎn)實(shí)數(shù)flops浮點(diǎn)運(yùn)算次數(shù)realmin最小浮點(diǎn)實(shí)數(shù)computer計(jì)算機(jī)類型pi3.14159235358579inputname輸入變量名i,j虛數(shù)單位size多維矩陣的各維長(zhǎng)度length一維矩陣的長(zhǎng)度第第2 2章章 MatlabMatlab語言程序設(shè)計(jì)語言程序設(shè)計(jì)n說明:n eps、realmax和realmin三個(gè)常量具體的數(shù)值與運(yùn)行MATLAB的計(jì)算機(jī)相關(guān),不同的計(jì)算機(jī)系統(tǒng)可能具有不同的數(shù)值,例如,在筆者的計(jì)算機(jī)上,這三個(gè)數(shù)值分別為eps=2.220410-16, realmax=1.797710308,realmin=2.225110-308
25、。n 和其他的高級(jí)編程語言所定義的常量不同,MATLAB的常量數(shù)值是可以修改的。例如,在MATLAB命令行窗口中可以鍵入如下的指令:pi=100,這樣pi這個(gè)常量的數(shù)值就變成了100。但是,如果用clear指令去除變量后,pi將變成原有的常量數(shù)第第2 2章章 MatlabMatlab語言程序設(shè)計(jì)語言程序設(shè)計(jì)n Inf也可以寫作inf,它為IEEE定義的算術(shù)數(shù)據(jù)無窮大數(shù)值,在MATLAB中進(jìn)行諸如1.0/0.0或者exp(1000)的操作時(shí)都會(huì)得到這個(gè)數(shù)值。如果將inf應(yīng)用于函數(shù),那么計(jì)算結(jié)果可能為inf或者NaN。n NaN也可以寫作nan,它為IEEE規(guī)定的某種運(yùn)算得到的結(jié)果,例如0/0的運(yùn)
26、算得到的結(jié)果就是NaN。NaN參與運(yùn)算的結(jié)果也為NaN(關(guān)系運(yùn)算除外)。 第第2 2章章 MatlabMatlab語言程序設(shè)計(jì)語言程序設(shè)計(jì)n說明:n MATLAB中所有的數(shù)據(jù)默認(rèn)類型均為雙精度類型,包括像NaN和Inf在內(nèi)的上述假設(shè)干常數(shù)。n 對(duì)NaN和Inf進(jìn)行數(shù)據(jù)轉(zhuǎn)化時(shí)要注意,Inf將獲取相應(yīng)數(shù)據(jù)類型的最大值,而NaN往往返回相應(yīng)整數(shù)數(shù)據(jù)類型的數(shù)值0,浮點(diǎn)數(shù)類型那么仍然為NaN。n 在運(yùn)算中使用NaN可以防止因?yàn)閳?zhí)行了0/0這類能夠產(chǎn)生錯(cuò)誤的應(yīng)用程序中斷,可以輔助調(diào)試應(yīng)用程序。 第第2 2章章 MatlabMatlab語言程序設(shè)計(jì)語言程序設(shè)計(jì)nb) b) 數(shù)字變量數(shù)字變量 nMatlabM
27、atlab內(nèi)部的每一個(gè)數(shù)據(jù)元素都是用雙精內(nèi)部的每一個(gè)數(shù)據(jù)元素都是用雙精度數(shù)度數(shù)doubledouble來表示和存儲(chǔ)的。來表示和存儲(chǔ)的。n變量輸出時(shí)用戶可以用變量輸出時(shí)用戶可以用formatformat命令設(shè)置或命令設(shè)置或改變輸出格式。改變輸出格式。n比方我要輸出數(shù)據(jù)類型是比方我要輸出數(shù)據(jù)類型是longlong,那么我就,那么我就定義輸出:定義輸出:nformat longformat long第第2 2章章 MatlabMatlab語言程序設(shè)計(jì)語言程序設(shè)計(jì)n短格式(Short):1.3333 0.0000默認(rèn),兩位整數(shù),4位小數(shù)n短格式e方式(Short e):1.3333e+00 1.234
28、5e-065位十進(jìn)制數(shù)加指數(shù)n長(zhǎng)格式(Long):1.33333333333333 0.00000123450000n16位進(jìn)制數(shù)n長(zhǎng)格式e方式(Long e):1.33333333333333e+00 1.2345000000000e-0616位十進(jìn)制數(shù)加指數(shù)n銀行格式(Bank):1.33 0.00兩位小數(shù)n十六進(jìn)制格式(Hex):3ff555555555 3eb46231abfd7116位十六進(jìn)制數(shù)n+格式(+):+正、負(fù)或零n有理數(shù)Rational:1/3 2469/2000000000第第2 2章章 MatlabMatlab語言程序設(shè)計(jì)語言程序設(shè)計(jì)n注意:n MATLAB和C語言在處
29、理數(shù)據(jù)類型和變量時(shí)不同。在C語言中,任何變量在使用之前都必須聲明,然后賦值,在聲明變量時(shí)就指定了變量的數(shù)據(jù)類型。但是在MATLAB中,任何數(shù)據(jù)變量都不需要預(yù)先的聲明,MATLAB將自動(dòng)地將數(shù)據(jù)類型設(shè)置為雙精度類型,假設(shè)需要使用其他類型的數(shù)據(jù),那么必須通過數(shù)據(jù)類型的轉(zhuǎn)換完成。MATLAB的數(shù)據(jù)類型名稱同樣就是數(shù)據(jù)類型轉(zhuǎn)換的函數(shù),利用這些函數(shù)來完成相應(yīng)的數(shù)據(jù)類型轉(zhuǎn)化的工作。n 關(guān)于數(shù)據(jù)類型轉(zhuǎn)換函數(shù)的使用可以參閱相應(yīng)的在線幫助。第第2 2章章 MatlabMatlab語言程序設(shè)計(jì)語言程序設(shè)計(jì)nc) c) 字符串字符串 n所有字符串都用單引號(hào)括起來。所有字符串都用單引號(hào)括起來。n s=matlab s
30、=matlab n字符中中的每個(gè)字符包括空格都是字符串變字符中中的每個(gè)字符包括空格都是字符串變量量( (矩陣或向量矩陣或向量) )中的一個(gè)元素。中的一個(gè)元素。n字符串中的字符以字符串中的字符以 ASCII ASCII 碼形式儲(chǔ)存并區(qū)分大碼形式儲(chǔ)存并區(qū)分大小小 ,用函數(shù),用函數(shù)absabs可以看到字符的可以看到字符的ASCIIASCII碼。碼。n在在MatlabMatlab中,字符串和字符矩陣根本上是等價(jià)的。中,字符串和字符矩陣根本上是等價(jià)的。n s=matlab s=matlab 等價(jià)于等價(jià)于 s=matlab s=matlab 第第2 2章章 MatlabMatlab語言程序設(shè)計(jì)語言程序設(shè)計(jì)
31、表表2-2 常用的字符串操作函數(shù)常用的字符串操作函數(shù) 函 數(shù) 說 明 char 創(chuàng)建字符串,將數(shù)值轉(zhuǎn)變成為字符串 double 將字符串轉(zhuǎn)變成 Unicode 數(shù)值 blanks 創(chuàng)建空白的字符串(由空格組成) deblank 將字符串尾部的空格刪除 ischar 判斷變量是否是字符類型 strcat 水平組合字符串,構(gòu)成更長(zhǎng)的字符向量 strvcat 垂直組合字符串,構(gòu)成字符串矩陣 strcmp 比較字符串,判斷字符串是否一致 strncmp 比較字符串前 n 個(gè)字符,判斷是否一致 strcmpi 比較字符串,比較時(shí)忽略字符的大小寫 strncmpi 比較字符串前 n 個(gè)字符,比較時(shí)忽略字符
32、的大小寫 findstr 在較長(zhǎng)的字符串中查尋較短的字符串出現(xiàn)的索引 strfind 在第一個(gè)字符串中查尋第二個(gè)字符串出現(xiàn)的索引 strjust 對(duì)齊排列字符串 strrep 替換字符串中的子串 strmatch 查詢匹配的字符串 upper 將字符串的字符都轉(zhuǎn)變成為大寫字符 lower 將字符串的字符都轉(zhuǎn)變成為小寫字符 第第2 2章章 MatlabMatlab語言程序設(shè)計(jì)語言程序設(shè)計(jì)n字符串舉例:字符串舉例:n A= China 中國(guó)中國(guó) ;輸出帶引號(hào)的漢字;輸出帶引號(hào)的漢字n B=我是好學(xué)生我是好學(xué)生n c=I am fine.n s3=char(s, y,m,b,o,l,i,c);用函數(shù)
33、;用函數(shù)char生成字符生成字符串串n double(s3) ;字符串轉(zhuǎn)換為數(shù)值代碼;字符串轉(zhuǎn)換為數(shù)值代碼n abs(s3)n cellstr(s3) ;字符矩陣轉(zhuǎn)換為字符串;字符矩陣轉(zhuǎn)換為字符串n b=num2str(a) ;數(shù)字轉(zhuǎn)換為字符串;數(shù)字轉(zhuǎn)換為字符串n比較比較 b*2和和str2num(b)*2n ab=A, ,B,. n AB=中國(guó)中國(guó);北京北京第第2 2章章 MatlabMatlab語言程序設(shè)計(jì)語言程序設(shè)計(jì)n例子例子2-1 2-1 組合字符串例如。組合字符串例如。n在在MATLABMATLAB命令行窗口中,鍵入下面的指令:命令行窗口中,鍵入下面的指令:n a = Hello;
34、a = Hello;n b = MOTO!; b = MOTO!;n c = strcat(a,b) c = strcat(a,b)nc =c =nHelloMOTO!HelloMOTO!n d =strvcat(a,b,c) d =strvcat(a,b,c)nd =d =nHello Hello nMOTO! MOTO! nHelloMOTO!HelloMOTO!n whos whos 第第2 2章章 MatlabMatlab語言程序設(shè)計(jì)語言程序設(shè)計(jì)nName Size Bytes Classn a 1x5 10 char arrayn b 1x5 10 char arrayn c 1x1
35、0 20 char arrayn d 3x10 60 char arraynGrand total is 50 elements using 100 bytesn 在例子2-1中,使用strcat函數(shù)和strvcat函數(shù)進(jìn)行了字符串的組合。其中,與前一小節(jié)介紹的字符串組合不同,strvcat函數(shù)允許將不同長(zhǎng)度的字符串組合成為字符矩陣,并且將短字符串?dāng)U充為與長(zhǎng)字符串相同的長(zhǎng)度。第第2 2章章 MatlabMatlab語言程序設(shè)計(jì)語言程序設(shè)計(jì)n例子例子2-2 2-2 字符串比較函數(shù)應(yīng)用例如。字符串比較函數(shù)應(yīng)用例如。n在在MATLABMATLAB命令行窗口中,鍵入如下的指令:命令行窗口中,鍵入如下的
36、指令:n a = The first string; a = The first string;n b = The second string; b = The second string;n c = strcmp(a,b) c = strcmp(a,b)nc =c =n 0 0n d = strncmp(a,b,4) d = strncmp(a,b,4)nd =d =n 1 1 第第2 2章章 MatlabMatlab語言程序設(shè)計(jì)語言程序設(shè)計(jì)n whosn Name Size Bytes Classn a 1x16 32 char arrayn b 1x17 34 char arrayn c
37、 1x1 1 logical arrayn d 1x1 1 logical arraynGrand total is 35 elements using 68 bytes 第第2 2章章 MatlabMatlab語言程序設(shè)計(jì)語言程序設(shè)計(jì)n 在例子2-2中,使用兩種不同函數(shù)進(jìn)行了字符串比較,strcmp比較兩個(gè)字符串的全部字符,所以第一次比較時(shí),系統(tǒng)返回了邏輯假值,而strncmp只比較指定字符串中的前n個(gè)字符,所以在第二次比較時(shí),系統(tǒng)返回了邏輯真值。n 另外,使用isequal函數(shù)也可以比較兩個(gè)或兩個(gè)以上字符串是否一致。 第第2 2章章 MatlabMatlab語言程序設(shè)計(jì)語言程序設(shè)計(jì)nd)
38、單元型變量單元型變量 n 單元型變量是一種比較特殊的數(shù)據(jù)類型,本質(zhì)上講,單元型變量實(shí)單元型變量是一種比較特殊的數(shù)據(jù)類型,本質(zhì)上講,單元型變量實(shí)際上是一種以任意形式的數(shù)據(jù)為元素的多維數(shù)組。際上是一種以任意形式的數(shù)據(jù)為元素的多維數(shù)組。n單元型變量可以存放任何類型、任何大小的數(shù)據(jù),單元型變量可以存放任何類型、任何大小的數(shù)據(jù), 其大小是不定的。其大小是不定的。n A=1,2;3,4nA =n 1 2n 3 4n B=1:4, A, abcdnB = n 1x4 double 2x2 double abcdnB為單元型變量用花括號(hào)為單元型變量用花括號(hào) cellplot(B) celldisp(B)第第2
39、 2章章 MatlabMatlab語言程序設(shè)計(jì)語言程序設(shè)計(jì)ne e 結(jié)構(gòu)型變量結(jié)構(gòu)型變量 n結(jié)構(gòu)型變量是另一種可以將不同類型數(shù)據(jù)組合在一起的數(shù)結(jié)構(gòu)型變量是另一種可以將不同類型數(shù)據(jù)組合在一起的數(shù)據(jù)類型,與單元型變量的不同在于結(jié)構(gòu)型變量是以指針方據(jù)類型,與單元型變量的不同在于結(jié)構(gòu)型變量是以指針方式來傳遞數(shù)據(jù)的。式來傳遞數(shù)據(jù)的。 D.a1=abcd; D.a2=1; D.a3=1,2,3,4; DD = a1: abcd a2: 1 a3: 1 2 3 4D為結(jié)構(gòu)型變量為結(jié)構(gòu)型變量 C=struct(c1,1,c2,B,c3,abcd)C = 1x3 struct array with fields
40、: c1 c2 c3 C為結(jié)構(gòu)型變量為結(jié)構(gòu)型變量第第2 2章章 MatlabMatlab語言程序設(shè)計(jì)語言程序設(shè)計(jì)nf) f) 矩陣、向量矩陣、向量nMatlabMatlab是以矩陣為根本運(yùn)算單元的,數(shù)組作為獨(dú)是以矩陣為根本運(yùn)算單元的,數(shù)組作為獨(dú)立的計(jì)算單元實(shí)體是不存在的,它的建立、存儲(chǔ)立的計(jì)算單元實(shí)體是不存在的,它的建立、存儲(chǔ)完全等同于矩陣,只是計(jì)算時(shí)在符號(hào)上做了不同完全等同于矩陣,只是計(jì)算時(shí)在符號(hào)上做了不同的約定。的約定。n向量是組成矩陣的根本元素之一。可以把行向量向量是組成矩陣的根本元素之一??梢园研邢蛄靠闯煽闯? 1n n 階矩陣,把列向量看成階矩陣,把列向量看成n n1 1階矩陣。向階
41、矩陣。向量的根本運(yùn)算采用數(shù)組運(yùn)算法那么。量的根本運(yùn)算采用數(shù)組運(yùn)算法那么。第第2 2章章 MatlabMatlab語言程序設(shè)計(jì)語言程序設(shè)計(jì)nh)h)多多項(xiàng)式項(xiàng)式 n多項(xiàng)式是以多項(xiàng)式是以向量向量的形式表達(dá)的形式表達(dá)的??梢允堑???梢允橇邢蛄苛邢蛄恳部梢允且部梢允切邢蛄啃邢蛄?。n p=1,2,3n poly2sym(p)nans =nx2+2*x+3n m=3;4;5n poly2sym(m)nans =n3*x2+4*x+5,.,.)(11011110nnnnnnaaaaPaxaxaxaxP第第2 2章章 MatlabMatlab語言程序設(shè)計(jì)語言程序設(shè)計(jì)2 2、運(yùn)算符與操作符、運(yùn)算符與操作符 數(shù)學(xué)
42、運(yùn)算符數(shù)學(xué)運(yùn)算符操作符操作符第第2 2章章 MatlabMatlab語言程序設(shè)計(jì)語言程序設(shè)計(jì)n冒號(hào)冒號(hào)“ : n可以用來產(chǎn)生向量;可以用來產(chǎn)生向量;n用作矩陣的下標(biāo),局部地選擇矩陣元素;用作矩陣的下標(biāo),局部地選擇矩陣元素;n進(jìn)行行循環(huán)操作。進(jìn)行行循環(huán)操作。n續(xù)號(hào)續(xù)號(hào)“ 表示一行未完,而在下一行繼續(xù);表示一行未完,而在下一行繼續(xù); n分號(hào)分號(hào)“ ;n在方括號(hào)中,表示矩陣中行的結(jié)尾;在方括號(hào)中,表示矩陣中行的結(jié)尾;n用在每行的結(jié)尾,那么用在每行的結(jié)尾,那么 不顯示該行運(yùn)算的結(jié)果。不顯示該行運(yùn)算的結(jié)果。第第2 2章章 MatlabMatlab語言程序設(shè)計(jì)語言程序設(shè)計(jì)n 所謂邏輯數(shù)據(jù)類型就是僅具有兩個(gè)
43、數(shù)值的一種數(shù)據(jù)類型,其中,一個(gè)數(shù)值為TRUE,另外一個(gè)數(shù)值為FALSE。在MATLAB中,參與邏輯運(yùn)算或者關(guān)系運(yùn)算的并不一定必須有邏輯類型的數(shù)據(jù),任何數(shù)值都可以參與邏輯運(yùn)算。這時(shí),MATLAB將所有非零值看作邏輯真,將零值看作邏輯假。一般地,1表示邏輯真,0表示邏輯假。n 和一般的數(shù)值類型類似,邏輯類型的數(shù)據(jù)只能通過數(shù)值類型轉(zhuǎn)換,或者使用特殊的函數(shù)生成相應(yīng)類型的數(shù)組或者矩陣。第第2 2章章 MatlabMatlab語言程序設(shè)計(jì)語言程序設(shè)計(jì)n關(guān)于邏輯真假的規(guī)定:關(guān)于邏輯真假的規(guī)定:n在所有的關(guān)系表達(dá)式和邏輯表達(dá)式中,輸入的任在所有的關(guān)系表達(dá)式和邏輯表達(dá)式中,輸入的任何非何非 0 0 數(shù)都被看作是
44、數(shù)都被看作是“ “ 邏輯真邏輯真,而只有,而只有 0 0 才才被認(rèn)為是被認(rèn)為是“ “ 邏輯假邏輯假; n所有關(guān)系表達(dá)式和邏輯表達(dá)式的計(jì)算結(jié)果是一個(gè)所有關(guān)系表達(dá)式和邏輯表達(dá)式的計(jì)算結(jié)果是一個(gè)由由 0 0 和和 1 1 組成的組成的“ “ 邏輯矩陣邏輯矩陣 Logical Logical ArrayArray。矩陣中的。矩陣中的 1 1 表示表示“ “ 真真,0 0 表示表示“ “ 假假;n邏輯矩陣是一種特殊的數(shù)值矩陣。與邏輯矩陣是一種特殊的數(shù)值矩陣。與“ “ 數(shù)值類數(shù)值類有關(guān)的操作和函數(shù)對(duì)它也適用;但它又不同于普有關(guān)的操作和函數(shù)對(duì)它也適用;但它又不同于普通的通的“ “ 數(shù)值數(shù)值,它還表示對(duì)事物的
45、判斷結(jié)論,它還表示對(duì)事物的判斷結(jié)論“ “ 真真與與“ “ 假假 。 第第2 2章章 MatlabMatlab語言程序設(shè)計(jì)語言程序設(shè)計(jì)關(guān)系操作符關(guān)系操作符邏輯操作符邏輯操作符第第2 2章章 MatlabMatlab語言程序設(shè)計(jì)語言程序設(shè)計(jì)nMATLAB MATLAB 的關(guān)系操作符運(yùn)算法那么:的關(guān)系操作符運(yùn)算法那么: n當(dāng)兩個(gè)變量是標(biāo)量當(dāng)兩個(gè)變量是標(biāo)量 a a 和和 b b 時(shí)時(shí) n 假設(shè)假設(shè) a a、b b 之間關(guān)系成立,那么關(guān)系運(yùn)算結(jié)果為之間關(guān)系成立,那么關(guān)系運(yùn)算結(jié)果為 1 1; n 假設(shè)假設(shè) a a、b b 之間關(guān)系不成立,那么關(guān)系運(yùn)算結(jié)果為之間關(guān)系不成立,那么關(guān)系運(yùn)算結(jié)果為 0 0; n當(dāng)
46、兩個(gè)維數(shù)相同的矩陣當(dāng)兩個(gè)維數(shù)相同的矩陣 A A 和和 B B 比較時(shí),矩陣比較時(shí),矩陣 A A、B B 比較比較的是相同位置的元素,按標(biāo)量的運(yùn)算規(guī)那么逐個(gè)進(jìn)行。關(guān)的是相同位置的元素,按標(biāo)量的運(yùn)算規(guī)那么逐個(gè)進(jìn)行。關(guān)系運(yùn)算的結(jié)果是一個(gè)和系運(yùn)算的結(jié)果是一個(gè)和 A A維數(shù)相同的矩陣,它的元素由維數(shù)相同的矩陣,它的元素由 0 0 和和 1 1 組成。組成。 n當(dāng)一個(gè)矩陣當(dāng)一個(gè)矩陣A A 和一個(gè)標(biāo)量和一個(gè)標(biāo)量 b b 比較時(shí),把標(biāo)量比較時(shí),把標(biāo)量 b b 和矩陣和矩陣A A 的每一個(gè)元素按標(biāo)量關(guān)系運(yùn)算規(guī)那么逐個(gè)比較。關(guān)系運(yùn)算的每一個(gè)元素按標(biāo)量關(guān)系運(yùn)算規(guī)那么逐個(gè)比較。關(guān)系運(yùn)算的結(jié)果是一個(gè)和數(shù)組的結(jié)果是一個(gè)和
47、數(shù)組 A A維數(shù)相同的矩陣,它是由維數(shù)相同的矩陣,它是由 0 0 和和 1 1 組成。組成。 n優(yōu)先級(jí)優(yōu)先級(jí) 由高到低為算術(shù)運(yùn)算、關(guān)系運(yùn)算和邏輯運(yùn)算。由高到低為算術(shù)運(yùn)算、關(guān)系運(yùn)算和邏輯運(yùn)算。第第2 2章章 MatlabMatlab語言程序設(shè)計(jì)語言程序設(shè)計(jì)n關(guān)系運(yùn)算舉例關(guān)系運(yùn)算舉例 A=3,4,8;9,0,2;5,3,7A = 3 4 8 9 0 2 5 3 7 B=4,4,1;7,8,4;5,1,7B = 4 4 1 7 8 4 5 1 7 E=(AB)E = 0 0 1 1 0 0 0 1 0 NE=(A=B)NE = 1 0 1 1 1 1 0 1 0 A0=(A5)A0 = 0 0 1
48、1 0 0 0 0 1 B0=(B A_B=A|BA_B = 1 1 1 1 1 1 1 1 1 C=AC = 0 0 0 0 1 0 0 0 0 cc=(A3)&(B A=3,4,8;9,0,2;5,3,7A = 3 4 8 9 0 2 5 3 7 B=4,4,1;7,8,4;5,1,7B = 4 4 1 7 8 4 5 1 7 AB=A&BAB = 1 1 1 1 0 1 1 1 1第第2 2章章 MatlabMatlab語言程序設(shè)計(jì)語言程序設(shè)計(jì)n運(yùn)算符的優(yōu)先級(jí)運(yùn)算符的優(yōu)先級(jí)n 在在M M語言中可以將這些不同的運(yùn)算符組合起來創(chuàng)立復(fù)語言中可以將這些不同的運(yùn)算符組合起來創(chuàng)立復(fù)雜
49、的運(yùn)算表達(dá)式。雜的運(yùn)算表達(dá)式。M M語言的運(yùn)算符和普通的高級(jí)編程語言語言的運(yùn)算符和普通的高級(jí)編程語言類似,也具有相應(yīng)的計(jì)算優(yōu)先級(jí)。這里將類似,也具有相應(yīng)的計(jì)算優(yōu)先級(jí)。這里將M M語言的運(yùn)算以語言的運(yùn)算以及相應(yīng)的計(jì)算優(yōu)先級(jí)進(jìn)行了總結(jié):及相應(yīng)的計(jì)算優(yōu)先級(jí)進(jìn)行了總結(jié):n (1) (1) 括號(hào)括號(hào)( )( )。n (2) (2) 數(shù)組轉(zhuǎn)置數(shù)組轉(zhuǎn)置(.)(.),數(shù)組冪,數(shù)組冪(.)(.),復(fù)轉(zhuǎn)置,復(fù)轉(zhuǎn)置()(),矩陣,矩陣冪冪()()。n (3) (3) 一元加一元加(+)(+),一元減,一元減(?)(?),邏輯非,邏輯非()()。n (4) (4) 數(shù)組乘法數(shù)組乘法(.(.* *) ),數(shù)組除法,數(shù)組
50、除法(./)(./),數(shù)組左除,數(shù)組左除(.)(.),矩陣乘法矩陣乘法( (* *) ),矩陣右除,矩陣右除(/)(/),矩陣左除,矩陣左除()()。n (5) (5) 加法加法(+)(+),減法,減法(?)(?)。 第第2 2章章 MatlabMatlab語言程序設(shè)計(jì)語言程序設(shè)計(jì)n(6) 冒號(hào)運(yùn)算符(:)。n(7) 小于(),小于等于(),大于等于(=),等于(= =),不等于(=)。(8) 元素與(&)。(9) 元素或(|)。(10) 短路邏輯與(&)。(11) 短路邏輯或(|)。 第第2 2章章 MatlabMatlab語言程序設(shè)計(jì)語言程序設(shè)計(jì) 上面的運(yùn)算符優(yōu)先級(jí)是由高到
51、低排列的,例如括號(hào)運(yùn)算符的優(yōu)先級(jí)最高,數(shù)組轉(zhuǎn)置等次之。如果同一級(jí)別的運(yùn)算符出現(xiàn)在表達(dá)式中,那么按照運(yùn)算符在表達(dá)式中出現(xiàn)的次序,由左向右排列。在使用M語言編寫程序時(shí),需要靈活使用這些運(yùn)算符來具體實(shí)現(xiàn)不同的算法。 第第2 2章章 MatlabMatlab語言程序設(shè)計(jì)語言程序設(shè)計(jì)n3、表達(dá)式及函數(shù)、表達(dá)式及函數(shù)nMatlab 采用的是采用的是表達(dá)式表達(dá)式語言,用戶輸入的語句由語言,用戶輸入的語句由 Matlab 系統(tǒng)系統(tǒng)解釋解釋運(yùn)行。用戶可以在運(yùn)行。用戶可以在 Matlab 的命令窗口中鍵入命的命令窗口中鍵入命令,也可以在編輯器內(nèi)編寫應(yīng)用程序。令,也可以在編輯器內(nèi)編寫應(yīng)用程序。 nMatlab 語句
52、由表達(dá)式和變量組成,有兩種最常見的語句語句由表達(dá)式和變量組成,有兩種最常見的語句形式:形式:n 表達(dá)式表達(dá)式n 變量表達(dá)式變量表達(dá)式 t=6t = 6 sin(5*t+6)ans = -0.9918 y=sin(5*t+6)y = -0.9918第第2 2章章 MatlabMatlab語言程序設(shè)計(jì)語言程序設(shè)計(jì)n表達(dá)式由變量名、運(yùn)算符、數(shù)字和函數(shù)名組成。表達(dá)式由變量名、運(yùn)算符、數(shù)字和函數(shù)名組成。n表達(dá)式將按常規(guī)的優(yōu)先紐從左至右執(zhí)行運(yùn)算;表達(dá)式將按常規(guī)的優(yōu)先紐從左至右執(zhí)行運(yùn)算;n優(yōu)先級(jí)的規(guī)定是指數(shù)運(yùn)算級(jí)別最高,乘除運(yùn)算次優(yōu)先級(jí)的規(guī)定是指數(shù)運(yùn)算級(jí)別最高,乘除運(yùn)算次之;之;n括號(hào)可以改變運(yùn)算順序;括號(hào)
53、可以改變運(yùn)算順序;n書寫表達(dá)式時(shí),賦值符書寫表達(dá)式時(shí),賦值符“和運(yùn)算符兩側(cè)允許和運(yùn)算符兩側(cè)允許有空格,以增加可讀性。但在復(fù)數(shù)或符號(hào)表達(dá)式有空格,以增加可讀性。但在復(fù)數(shù)或符號(hào)表達(dá)式中要盡量防止空格,以防出錯(cuò);中要盡量防止空格,以防出錯(cuò);n表達(dá)式的末尾加表達(dá)式的末尾加 “ “; 時(shí),時(shí),MatlabMatlab系統(tǒng)只把數(shù)系統(tǒng)只把數(shù)值賦給變量,值賦給變量, 不顯示計(jì)算結(jié)果;不加不顯示計(jì)算結(jié)果;不加“;時(shí),時(shí), Matlab Matlab 系統(tǒng)將會(huì)在該條語句的下面直接顯示運(yùn)算系統(tǒng)將會(huì)在該條語句的下面直接顯示運(yùn)算結(jié)果。結(jié)果。第第2 2章章 MatlabMatlab語言程序設(shè)計(jì)語言程序設(shè)計(jì)nMatlab
54、Matlab 有十分豐富的函數(shù)資源,總共分為有十分豐富的函數(shù)資源,總共分為2424類。類。n常用有一下幾類:常用有一下幾類:n一般函數(shù)命令一般函數(shù)命令(GENERAL);(GENERAL);n操作符與操作操作符與操作(OPERATOR);(OPERATOR);n數(shù)據(jù)類型和結(jié)構(gòu)數(shù)據(jù)類型和結(jié)構(gòu)(DATETYPE);(DATETYPE);n根本矩陣和矩陣操作根本矩陣和矩陣操作ELMAT);ELMAT);n根本數(shù)學(xué)函數(shù)根本數(shù)學(xué)函數(shù)ELFUN);ELFUN);n二維圖二維圖(PLOTXY);(PLOTXY);n圖形句柄圖形句柄(GENGRAPH);(GENGRAPH);n三維圖三維圖(3DGRAPH);
55、(3DGRAPH);n語言和程序設(shè)計(jì)語言和程序設(shè)計(jì)(LANGUAGE);(LANGUAGE);n文件輸入輸出函數(shù)文件輸入輸出函數(shù)(IOFUN);(IOFUN);n符號(hào)工具箱符號(hào)工具箱(SYNBOLIC)(SYNBOLIC)。第第2 2章章 MatlabMatlab語言程序設(shè)計(jì)語言程序設(shè)計(jì)n上機(jī)練習(xí)上機(jī)練習(xí)2 2n1 1創(chuàng)立一個(gè)表達(dá)式創(chuàng)立一個(gè)表達(dá)式 ,并求當(dāng),并求當(dāng)x=1x=1,y=2y=2時(shí)的時(shí)的z z值值n2 2計(jì)算計(jì)算 其中其中 。n3 3創(chuàng)立一個(gè)包含創(chuàng)立一個(gè)包含“ “ 她是我們班最好的學(xué)生她是我們班最好的學(xué)生字符串。字符串。 n4 4輸入如下兩個(gè)矩陣輸入如下兩個(gè)矩陣 A A 和和 B B
56、,對(duì)矩陣,對(duì)矩陣 A A 和和 B B 作關(guān)系運(yùn)算,作關(guān)系運(yùn)算,標(biāo)識(shí)出兩矩陣中元素相等的位置,元素值不等的位置,并標(biāo)識(shí)出標(biāo)識(shí)出兩矩陣中元素相等的位置,元素值不等的位置,并標(biāo)識(shí)出矩陣矩陣 A A 中所有小于中所有小于 0 0 的元素。的元素。n5 5對(duì)對(duì) 4 4中的矩陣中的矩陣 A A 和和 B B 作邏輯作邏輯“ “ 或或、“ “ 與與運(yùn)算,運(yùn)算,并標(biāo)識(shí)出矩陣并標(biāo)識(shí)出矩陣 B B 中所有大于中所有大于 2 2 并小于并小于 5 5 的元素位置。的元素位置。451x123312321A325823341B13sin25457. 0145 . 175. 375. 0222yexzxyxixy108
57、n %數(shù)值計(jì)算例子n 4+2nans =n 6n 2+4*i+3*exp(i*pi/6)nans =n 4.5981 + 5.5000in 2+4*i+3*exp(i*pi/6); %變量付值 a=2a = 2 %創(chuàng)立數(shù)組 x=3 4+3i abs(-1) pi/3x = 3.0000 4.0000 + 3.0000i 1.0000 1.0472 n %冒號(hào)生成法n x=0:2:8nx =n 0 2 4 6 8n %直接輸入法創(chuàng)立2維數(shù)組n c=1,2+3*i,abs(-4),sin(0.6);3,3i,sqrt(4),cos(0)nc =n 1.0000 2.0000 + 3.0000i 4
58、.0000 0.5646 n 3.0000 0 + 3.0000i 2.0000 1.0000 n %全下標(biāo)元素賦值法創(chuàng)立一個(gè)(1*3*4)的高維數(shù)組n A(1,4,:)=1:3nA(:,:,1) =n 0 1 0 1nA(:,:,2) =n 0 2 0 2nA(:,:,3) =n 0 3 0 3n %標(biāo)準(zhǔn)數(shù)組生成函數(shù)n ones(1,4)nans =n 1 1 1 1n randn(state,0)n randn(2,3) %產(chǎn)生(2*3)的正態(tài)隨機(jī)陣nans =n -0.4326 0.1253 -1.1465n -1.6656 0.2877 1.1909n D=eye(3) %產(chǎn)生(3*3
59、)的單位陣nD =n 1 0 0n 0 1 0n 0 0 1n diag(D) %取D陣的對(duì)角元素nans =n 1n 1n 1n diag(diag(D) %內(nèi)diag取D的對(duì)角元素,外diag利用一維數(shù)組生成對(duì)角陣nans =n 1 0 0n 0 1 0n 0 0 1n %數(shù)組的尋訪與賦值n x=rand(2,4) %利用rand產(chǎn)生一個(gè)2*4的隨機(jī)數(shù)組nx =n 0.9501 0.6068 0.8913 0.4565n 0.2311 0.4860 0.7621 0.0185n x(2)nans =n 0.2311n x(3,4,7) %尋訪數(shù)組x的第3,4,7個(gè)元素nans =n 0.6
60、068 0.4860 0.4565n x(find(x0.5) %尋訪大于0.5的元素nans =n 0.9501n 0.6068n 0.8913n 0.7621n x(1:3) %尋訪前3個(gè)元素組成的子數(shù)組nans =n 0.9501 0.2311 0.6068n x(5:end) %尋訪x數(shù)組的后4個(gè)元素,end是最后一個(gè)元素的下標(biāo)nans =n 0.8913 0.7621 0.4565 0.0185n x(1 2 3 3 1)nans =n 0.9501 0.2311 0.6068 0.6068 0.9501n x(5)=0nx =n 0.9501 0.6068 0 0.4565n 0.2311 0.4860 0.7621 0.0
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 安徽省合肥市廬陽(yáng)區(qū)2025屆中考生物對(duì)點(diǎn)突破模擬試卷含解析
- 2025屆廣西蒙山縣重點(diǎn)名校中考生物全真模擬試題含解析
- 江蘇省無錫市江陰市暨陽(yáng)中學(xué)2025屆中考生物猜題卷含解析
- 物業(yè)裝修垃圾清運(yùn)合同范本
- 食品代加工合同模板
- 二手房交易協(xié)議書范本
- 正規(guī)勞動(dòng)合同
- 華東地區(qū)制造業(yè)技術(shù)升級(jí)合作協(xié)議
- 土地股權(quán)轉(zhuǎn)讓居間服務(wù)合同
- 物流服務(wù)外包合同補(bǔ)充協(xié)議
- 黑龍江省哈爾濱市2024年數(shù)學(xué)八年級(jí)下冊(cè)期末經(jīng)典試題含解析
- 克羅恩病的外科治療
- 牛津3000核心詞匯表注釋加音標(biāo)1-4 完整版
- 高中英語以讀促寫教學(xué)策略與實(shí)踐研究課件
- 金屬表面處理中的冷噴涂技術(shù)
- 河北省石家莊市2023-2024學(xué)年高一上學(xué)期期末教學(xué)質(zhì)量檢測(cè)化學(xué)試題(解析版)
- 黑龍江省齊齊哈爾市2023-2024學(xué)年高一上學(xué)期1月期末英語試題(含答案解析)
- 綜合素質(zhì)能力提升培訓(xùn)
- 測(cè)井監(jiān)督管理手冊(cè)
- 冷庫(kù)庫(kù)房招商方案
- 麥當(dāng)勞市場(chǎng)調(diào)研
評(píng)論
0/150
提交評(píng)論