




版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、MATLAB基礎(chǔ)及應(yīng)用陸偉艷 2016.01mixiao_課程的性質(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)畫(huà)設(shè)計(jì)、有限元分析等。 本課程的目的是使學(xué)生能夠運(yùn)用Matlab進(jìn)行一般的工程計(jì)算,掌握Matlab的基本技術(shù)(基本計(jì)算、矩陣處理、符號(hào)運(yùn)算和圖形顯示技術(shù)等),為將來(lái)從事工程技術(shù)方面的產(chǎn)品開(kāi)發(fā)、科學(xué)研究、工程計(jì)算和管理打下一定的基礎(chǔ)。教學(xué)基本要求1.了解Matlab語(yǔ)言特點(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)單問(wèn)題的求解。3.搞清符號(hào)變量和符號(hào)表達(dá)式的定義,并能用符號(hào)運(yùn)算解決一般的微積分和方程求解問(wèn)題。掌握Matlab程序設(shè)計(jì)的幾種基本控制轉(zhuǎn)移語(yǔ)句,學(xué)會(huì)使用簡(jiǎn)單M文件的編程。4.掌握二維平面圖形和三維立體圖形的繪制方法,進(jìn)行數(shù)據(jù)可視化處理。理解用戶(hù)圖形界面程序的構(gòu)造,掌握編程方法。5.能夠利用Matlab進(jìn)行簡(jiǎn)單的通訊與電子工程項(xiàng)目的仿真第1章 Matlab概述1.1、Matlab簡(jiǎn)介 1.2、Matlab的工作環(huán)境 1.3、Mat
3、lab幫助系統(tǒng)1.1 MATLAB簡(jiǎn)介-發(fā)展1970年代中期 ,Cleve Moler博士開(kāi)發(fā)了 : EISPACK(特征值求解的程序庫(kù)) LINPACK(解線(xiàn)性方程的程序庫(kù) ) 1970年代后期, Cleve Moler編寫(xiě)接口程序 :MATLAB,即MATrix和LABoratory前3個(gè)字母的組合,是“矩陣實(shí)驗(yàn)室”的縮寫(xiě),它是一種以矩陣運(yùn)算為基礎(chǔ)的交互式程序語(yǔ)言。 1983年春,Cleve Moler和John Little用C語(yǔ)言開(kāi)發(fā)了第二代專(zhuān)業(yè)版 84年,兩人成立了Mathworks公司,正式把MATLAB推向市場(chǎng)。 1.1 MATLAB簡(jiǎn)介-發(fā)展1988年,推出MATLAB3.x版
4、本(DOS版)。 1993年,推出MATLAB4.0版本(Win3.x)。 1997年,推出MATLAB5.0版(Windows95)。 1999年,推出MATLAB5.3版本R11(流行較廣)。 2000年,推出MATLAB6.0版本R12 (Win98/Win2000) 2001年,推出MATLAB6.1 (克服6.0不支持P4,Win me,漢字等)。 2002年,推出MATLAB6.5R13(速度更快、性能更優(yōu)越等)。2004年,推出MATLAB7版本R14第1章 Matlab概述2、MATLAB 的主要特點(diǎn)MATLAB 的基本單位為矩陣.MATLAB 語(yǔ)言以解釋方式工作.具有非常友好
5、的人機(jī)界面。具有強(qiáng)大的作圖和數(shù)據(jù)可視化功能.具有極強(qiáng)的可擴(kuò)展性。3、MATLAB 的基本組成MATLAB 主程序、Simulink 動(dòng)態(tài)系統(tǒng)仿真和 MATLAB 工具箱( Toolbox)三大部分組成。主程序包括了 MATLAB 語(yǔ)言、工作環(huán)境、句柄圖形、數(shù)學(xué)函數(shù)庫(kù)和應(yīng)用程序接口五部分.第1章 Matlab概述1.2、Matlab的工作環(huán)境1. MATLAB 的啟動(dòng) 桌面快捷方式啟動(dòng) 開(kāi)始菜單方式啟動(dòng)2. MATLAB和退出 Matlab菜單命令/關(guān)閉按鈕 在Matlab命令窗口輸入exit或quit第1章 Matlab概述 MATLAB的桌面環(huán)境可以包含多個(gè)窗口,這些窗口分別為歷史命令窗口(
6、Command History)、命令行窗口(Command Window)、當(dāng)前目錄瀏覽器(Current Directory Browser)、工作空間瀏覽器(Workspace Browser)、目錄分類(lèi)窗口(Launch Pad)、數(shù)組編輯器(Array Editor)、M文件編輯器/調(diào)試器(Editor/Debugger)、超文本幫助瀏覽器(Help Navigator/Browser),這些窗口都可以?xún)?nèi)嵌在MATLAB主窗體中,組成MATLAB的用戶(hù)界面。其中當(dāng)MATLAB安裝完畢并首次運(yùn)行時(shí),展示在用戶(hù)面前的界面為MATLAB運(yùn)行時(shí)的缺省界面窗口,如圖1-1所示。 第1章 Mat
7、lab概述圖1-1 MATLAB默認(rèn)的用戶(hù)界面第1章 Matlab概述 MATLAB 6.5的缺省界面和MATLAB 6.1的缺省界面相比還是有一定變化的,主要就是在界面的左下角有一個(gè)名為“Start”的啟動(dòng)菜單,在這個(gè)菜單中可以執(zhí)行MATLAB產(chǎn)品的各種工具,并且可以查閱MATLAB包含的各種資源,它的功能和MATLAB的目錄分類(lèi)窗口(Launch Pad)功能非常類(lèi)似。在默認(rèn)的缺省用戶(hù)界面中,新版本的MATLAB中沒(méi)有了目錄分類(lèi)窗口(Launch Pad),而是工作空間瀏覽器(Workspace Browser)。 MATLAB啟動(dòng)的界面可以具有多種默認(rèn)的選擇,用戶(hù)可以通過(guò)MATLAB界面
8、中的“View”菜單下的“Desktop Layout”子菜單下的命令選擇不同的MATLAB界面,這些命令分別為:第1章 Matlab概述Default:缺省的界面,如圖1-1所示。包含歷史命令窗口(Command History)、命令行窗口(Command Window),此外工作空間瀏覽器(Workspace Browser)和當(dāng)前目錄瀏覽器(Current Directory Browser)兩個(gè)窗口層疊在一起。Command Windows Only:僅包含命令行窗口(Command Window),此時(shí)MATLAB界面的外觀(guān)類(lèi)似于舊版本的MATLAB。Simple:包含兩個(gè)窗口命令
9、行窗口(Command Window)和歷史命令窗口(Command History),兩個(gè)窗口并列在界面中,如圖1-2所示。 第1章 Matlab概述圖1-2 選擇Simple菜單命令的界面 第1章 Matlab概述Short History和Tall History:這兩個(gè)菜單命令包含的窗口類(lèi)型和數(shù)量同默認(rèn)的界面完全一致,不過(guò)排放的順序不同,如圖1-3、1-4所示。圖1-3 選擇Short History菜單命令的界面第1章 Matlab概述圖1-4 選擇Tall History菜單命令的界面第1章 Matlab概述Five Panel:包含所有的MATLAB桌面窗口,在MATLAB界面中
10、各個(gè)窗口處于平鋪狀態(tài),如圖1-5所示圖1-5 選擇Five Panel菜單命令的界面第1章 Matlab概述在MATLAB用戶(hù)界面的View菜單下還有一些菜單命令可以用來(lái)選擇顯示在圖形界面中的窗口,用戶(hù)可以根據(jù)自己的喜好選擇配置用戶(hù)界面。在本小結(jié)提及的各種用戶(hù)交互的窗口將在后續(xù)的章節(jié)中詳細(xì)講述。一般情況下,建議用戶(hù)選擇“Command Windows Only”方式來(lái)運(yùn)行MATLAB。在這種啟動(dòng)方式下,MATLAB的啟動(dòng)速度比較快,占用的資源略少。2. 通用窗口 MATLAB 工作界面中的常用窗口包括命令窗口歷史命令窗口當(dāng)前工作目錄窗口工作空間瀏覽器窗口變量編輯窗口M文件編輯調(diào)試窗口所有窗口都
11、可以單獨(dú)顯示, 使用Undock 和Dock 可使窗口單獨(dú)出來(lái)和返回到MATLAB工作界面中。1菜單和工具欄默認(rèn)情況下的菜單和工具欄: 【File】菜單主要用于對(duì)文件的處理?!綞dit】菜單主要用于復(fù)制、粘貼等操作,與一般Windows程序的類(lèi)似,在此不作詳細(xì)介紹。 【Debug】菜單用于調(diào)試程序?!綝esktop】菜單用于設(shè)置主窗口中需要打開(kāi)的窗口?!網(wǎng)indow】菜單列出當(dāng)前所有打開(kāi)的窗口?!綡elp】菜單用于選擇打開(kāi)不同的幫助系統(tǒng)。 第1章 Matlab概述4. MATLAB工具欄 用 MATLAB 的 M 文件編輯器新建一個(gè) M 文件; 用 MATLAB 編輯器打開(kāi)一個(gè)文件; 將選中的
12、內(nèi)容剪切到剪貼板; 將選中的內(nèi)容復(fù)制到剪貼板; 將剪貼板中的內(nèi)容粘貼到光標(biāo)指定的位置; 撤消最近一次的操作; 打開(kāi) Simulink 瀏覽器; 打開(kāi) MATLAB 幫助窗口。當(dāng)前工作路徑1.2.1 命令窗口(Command Window)MATLAB提供給用戶(hù)使用的管理功能的人機(jī)界面,在命令窗口中輸入MATLAB的命令和數(shù)據(jù)后按回車(chē)鍵,立即執(zhí)行運(yùn)算并顯示結(jié)果。說(shuō)明:命令窗口中的“”為命令提示符,表示MATLAB處于準(zhǔn)備狀態(tài)。當(dāng)在提示符后輸入一段程序或一段運(yùn)算式后【Enter】鍵,MATLAB會(huì)給出計(jì)算結(jié)果,并再次進(jìn)入準(zhǔn)備狀態(tài)(所得結(jié)果將被保存在工作空間窗口中)。第1章 Matlab概述5.Co
13、mmand Windows運(yùn)用入門(mén)1)Command Windows指令窗口簡(jiǎn)介在命令窗口內(nèi)執(zhí)行的MATLAB主要操作有:運(yùn)行函數(shù)和輸入變量;控制輸入和輸出;執(zhí)行程序,包括M文件和外部程序。命令窗口中可直接運(yùn)行MATLAB 函數(shù),而這些函數(shù)往往又和MATLAB命令直接聯(lián)系。MATLAB在命令窗口中的語(yǔ)句形式為:變量表達(dá)式;1.2.1 命令窗口(Command Window)MATLAB提供給用戶(hù)使用的管理功能的人機(jī)界面,在命令窗口中輸入MATLAB的命令和數(shù)據(jù)后按回車(chē)鍵,立即執(zhí)行運(yùn)算并顯示結(jié)果。說(shuō)明:命令窗口中的“”為命令提示符,表示MATLAB處于準(zhǔn)備狀態(tài)。當(dāng)在提示符后輸入一段程序或一段運(yùn)算
14、式后【Enter】鍵,MATLAB會(huì)給出計(jì)算結(jié)果,并再次進(jìn)入準(zhǔn)備狀態(tài)(所得結(jié)果將被保存在工作空間窗口中)。在命令窗口內(nèi)執(zhí)行的MATLAB主要操作有:運(yùn)行函數(shù)和輸入變量;控制輸入和輸出;執(zhí)行程序,包括M文件和外部程序。命令窗口中可直接運(yùn)行MATLAB 函數(shù),而這些函數(shù)往往又和MATLAB命令直接聯(lián)系。MATLAB在命令窗口中的語(yǔ)句形式為:變量表達(dá)式;運(yùn)行函數(shù)和鍵入變量在命令窗口的提示符“”下 ,可以直接輸入變量。例:計(jì)算A=256/41002128 A=256/4-100*2+128 %從鍵盤(pán)輸入,并單擊回車(chē)鍵 A = %屏幕顯示的結(jié)果 -8 MATLAB語(yǔ)法規(guī)定,百分號(hào)“%”后面的語(yǔ)句為注釋語(yǔ)
15、句。 例 在命令窗口中輸入不同的命令和數(shù)值,并查看其顯示方式。 a=0.5a = 0.5000 b=sinb =sin if a1 c=true%如果a (12+2*(7-4)/32(2)在上述表達(dá)式輸入完成后,按【Enter】鍵,該指令被執(zhí)行(3)在指令執(zhí)行后,Matlab指令窗中將顯示以下結(jié)果ans = 2第1章 Matlab概述例1.2簡(jiǎn)單矩陣 的輸入步驟(1)在鍵盤(pán)中輸入下列內(nèi)容 A=1,2,3;4,5,6;7,8,9(2)按【Enter】鍵,該指令被執(zhí)行(3)在指令執(zhí)行后,Matlab指令窗中將顯示以下結(jié)果A = 1 2 3 4 5 6 7 8 9第1章 Matlab概述當(dāng)然我們也可
16、以采用分行輸入的形式 A=1,2,3 4,5,6 7,8,9A = 1 2 3 4 5 6 7 8 9第1章 Matlab概述3)計(jì)算結(jié)果的圖象顯示例 1-3 繪制函數(shù) y=2sin(1+x)的圖像,并計(jì)算當(dāng) x=0.5 時(shí)的函數(shù)值。x=(1:0.1:10); %給出自變量 x 的定義域 y=2*sin(1+x); %寫(xiě)出函數(shù)形式plot(x,y) %繪出函數(shù)圖形 y=2*sin(1+0.5) %求當(dāng) x=0.5 時(shí)的 y 值,其后不加分號(hào),直接在窗口中給出結(jié)果 y =1.9950 %輸出 y 的計(jì)算結(jié)果 第1章 Matlab概述例 1-4 繪制函數(shù) y=3x3-10 x2+5x-8的圖像fo
17、r i=1:100 x(i)=0.1*i; y(i)=3*x(i)3- 10*x(i)2+5*x(i)-8;endplot(x,y)第1章 Matlab概述5. MATLAB 通用命令1.4 MATLAB 7.1 的其他管理MATLAB文件格式MATLAB 7.1的常用文件有.m、.mat、.fig、.mdl、.mex、.p等類(lèi)型 。設(shè)置搜索路徑用戶(hù)自己書(shū)寫(xiě)的函數(shù)有可能并沒(méi)有保存在搜索路徑下。要解決這個(gè)問(wèn)題,只需把程序所在的目錄擴(kuò)展成MATLAB的搜索路徑即可。 MATLAB文件格式程序文件程序文件即M文件(M-File),其文件的擴(kuò)展名為.m。圖形文件圖形文件(Figure)的擴(kuò)展名為.fi
18、g。模型文件模型文件(Model)擴(kuò)展名為.mdl,可以在“File”菜單中創(chuàng)建Model時(shí)生成.mdl文件。數(shù)據(jù)文件數(shù)據(jù)文件即MAT文件,其文件的擴(kuò)展名為.mat。MATLAB文件格式可執(zhí)行文件可執(zhí)行文件即MEX文件,其文件的擴(kuò)展名為.mex。項(xiàng)目文件項(xiàng)目文件的擴(kuò)展名為.prj。P碼文件P碼文件即偽代碼文件,是M文件被調(diào)用后在內(nèi)存中生成的內(nèi)部偽代碼。設(shè)置搜索路徑在MATLAB內(nèi)存中進(jìn)行檢查,檢查“sin”和“x”是否為工作空間的變量或特殊變量;檢查“sin”和“x”是否為MATLAB的內(nèi)部函數(shù);在當(dāng)前目錄上,檢查是否有相應(yīng)的“.m”或“.mex”文件存在; 在MATLAB搜索路徑的所有其他目
19、錄中,依次檢查是否有相應(yīng)的“.m”或 “.mex”的文件存在;如果都不是,則MATLAB發(fā)出錯(cuò)誤信息。1. MATLAB的基本搜索過(guò)程設(shè)置搜索路徑窗口(Set Path)打開(kāi)設(shè)置搜索路徑窗口的方法:在MATLAB界面選擇菜單“File”“Set Path”;在命令窗口中運(yùn)行“pathtool”或“editpath”命令。3. 設(shè)置搜索路徑的常用命令path命令path(path, 新目錄) addpath命令addpath 目錄1 目錄2 參數(shù)例 使用命令設(shè)置搜索路徑addpath c:TEMP -begin path (path,c:TEMP) p=path附:在命令窗口中輸入path或ge
20、npath可得到MATLAB的所有搜索路徑,第1章 Matlab概述1.3 Matlab幫助系統(tǒng)1、Matlab聯(lián)機(jī)幫助 #工具條中的 按鈕; #help菜單欄中前2 項(xiàng)中的任何一項(xiàng); #在命令窗口中執(zhí)行 helpdesk或doc。2、Matlab的網(wǎng)上資源web菜單欄使用幫助瀏覽器幫助主題(Contents)、索引(Index) 、搜索(Search)和演示(Demos)四個(gè)面板來(lái)查找?guī)椭畔ⅲ篊ontents面板為可展開(kāi)的樹(shù)形結(jié)構(gòu),向用戶(hù)提供全方位系統(tǒng)幫助的向?qū)D;Index面板是MATLAB提供的術(shù)語(yǔ)索引表,可以查找命令、函數(shù)和專(zhuān)用術(shù)語(yǔ)等。Search面板是通過(guò)關(guān)鍵詞來(lái)查找全文中與之匹配
21、的章節(jié)條目,Index只在專(zhuān)用術(shù)語(yǔ)表中查找而Search的搜索是在整個(gè)HTML文件中進(jìn)行的,因此其覆蓋面更寬。Demos面板為MATLAB提供了Demo演示。第1章 Matlab概述3、Matlab常用的窗口幫助命令MATLAB的幫助系統(tǒng)1、幫助命令 幫助命令是查詢(xún)函數(shù)語(yǔ)法的最基本的方法,查詢(xún)信息直接顯示在命令窗口。幫助命令有help、lookfor。help %在命令窗口直接輸入help,顯示主要的在線(xiàn)幫助主題。help 函數(shù)名 %顯示關(guān)于某個(gè)具體函數(shù)的功能、調(diào)用格式、及相關(guān)函數(shù)。help 幫助主題 %列出指定主題下的函數(shù)。例如help elfun %列出所有基本函數(shù)。 MATLAB的幫助系
22、統(tǒng)(續(xù))lookfor image %查找有關(guān)圖像的函數(shù)和命令。 2、在線(xiàn)幫助瀏覽器 MATLAB6.x設(shè)計(jì)了全新的在線(xiàn)幫助瀏覽器,當(dāng)在View菜單中選擇了Help選項(xiàng),或在Help菜單中選擇了MATLAB Help選項(xiàng)時(shí),都可以打開(kāi)幫助瀏覽器。3、演示幫助 選擇Help菜單中的Demos選項(xiàng),可以打開(kāi)演示窗口,觀(guān)看要查詢(xún)項(xiàng)的動(dòng)畫(huà)演示。使用幫助命令lookfor 關(guān)鍵字 (查找) lookfor命令是在所有的幫助條目中搜索關(guān)鍵字,常用來(lái)查找具有某種功能而不知道準(zhǔn)確名字的命令。 如:lookfor sound 打開(kāi)幫助窗口命令:helpwin:打開(kāi)幫助窗口helpdesk:打開(kāi)幫助桌面demo:
23、打開(kāi)演示窗口第1章 Matlab概述demo 命令聯(lián)機(jī)演示系統(tǒng) 可以通過(guò)以下方式打開(kāi)聯(lián)機(jī)演示系統(tǒng)。 選擇MATLAB主窗口菜單的【Help】|Demos】選項(xiàng); 在命令窗口輸入demos; 直接在幫助頁(yè)面上選擇Demos頁(yè)。第1章 Matlab概述helpwin 命令用于打開(kāi) MATLAB 的幫助文件窗第1章 Matlab概述lookfor 命令允許用戶(hù)通過(guò)完整的或部分關(guān)鍵字來(lái)搜索要查找的內(nèi)容who 和 whos 的作用是列出在 MATLAB 工作內(nèi)存中駐留的變量名exist 命令用來(lái)查找或檢查變量和函數(shù)的存在性四、MATLAB的運(yùn)行方式1、命令行運(yùn)行方式 演算紙式的科學(xué)計(jì)算語(yǔ)言 在MATLA
24、B的應(yīng)用中,最基本、最簡(jiǎn)單的應(yīng)用,就是在命令窗口中直接輸入命令來(lái)實(shí)現(xiàn)計(jì)算或繪圖功能。 MATLAB命令行的一般形式為:變量表達(dá)式或:表達(dá)式 (賦值語(yǔ)句) 使用MATLAB最簡(jiǎn)單的方式是將MATLAB的命令窗口看作計(jì)算器,通過(guò)輸入數(shù)學(xué)算式直接計(jì)算。 12345 ans= 15 如果在輸入的表達(dá)式后面跟上分號(hào)“;”,那么運(yùn)行后就不會(huì)馬上顯示運(yùn)算的結(jié)果,必須鍵入輸出變量后才能顯示運(yùn)算結(jié)果。用分號(hào)關(guān)閉不必要的輸出會(huì)使程序運(yùn)行速度成倍甚至成百倍地提高。 12345; 則不會(huì)馬上顯示運(yùn)算結(jié)果,要得到運(yùn)算結(jié)果,必須 ans 則顯示結(jié)果為 ans= 15如果在表達(dá)式后面跟上逗號(hào)“,”或什么都不跟,運(yùn)行后會(huì)馬上
25、顯示該表達(dá)式的運(yùn)算結(jié)果。如果一個(gè)表達(dá)式很長(zhǎng),可以用續(xù)行號(hào)“”將其延續(xù)到下一行。1+2+3+4+5+ %注意加號(hào)寫(xiě)在本行。 6+7+8+9+10 則輸出結(jié)果 ans= 55 如果續(xù)行號(hào)前面是數(shù)字,直接使用續(xù)行號(hào)會(huì)出現(xiàn)錯(cuò)誤,有三種解決辦法,一是設(shè)法使續(xù)行號(hào)前面是一個(gè)運(yùn)算符號(hào),二是先空一格再加續(xù)行號(hào),三是再加一個(gè)點(diǎn)。在一行中也可以寫(xiě)幾個(gè)語(yǔ)句,它們之間用逗號(hào)“,”或分號(hào)“;”隔開(kāi)。 A=1,2,3.3,sin(4),X=1966/310+1 則輸出結(jié)果 A 1.0000 2.0000 3.3000, -0.7568 X= 7.3419。2、m文件運(yùn)行方式 所謂m文件,就是用MATLAB語(yǔ)言編寫(xiě)的、可以
26、在MATLAB中運(yùn)行的程序。它是以普通文本格式存放的,故可以用任何文本編輯軟件進(jìn)行編輯。MATLAB提供的m文件編輯器就是程序編輯器。在File菜單中選擇NEW,再選擇M-file,或點(diǎn)擊新建圖標(biāo),就可以調(diào)出m文件編輯器,用戶(hù)可以用此編輯器編寫(xiě)m文件。m文件有兩種形式,一種稱(chēng)為命令文件(Script File),另一種稱(chēng)為函數(shù)文件(Function File),兩種文件的擴(kuò)展名都是m。(1)命令文件 如果要輸入較多的命令,或者要經(jīng)常對(duì)某些命令進(jìn)行重復(fù)的輸入,則可以將這些命令按執(zhí)行順序存放在一個(gè)m文件中,以后只要在MATLAB的命令窗口中輸入該文件的文件名,系統(tǒng)就會(huì)調(diào)入該文件并執(zhí)行其中的全部命令
27、。這種形式就是MATLAB的命令文件。命令文件中的語(yǔ)句可以訪(fǎng)問(wèn)MATLAB工作空間的所有變量;而在命令文件執(zhí)行過(guò)程中創(chuàng)建的變量也會(huì)一直保留在工作空間中,其他命令或m文件都可以訪(fǎng)問(wèn)這些變量。命令文件相當(dāng)于DOS批處理文件。求滿(mǎn)足1+2+3+n100的最大正整數(shù)n的MATLAB程序?yàn)椋簊um=0;n=0; %賦初始值while sum=100,故應(yīng) 對(duì)sum減nn=n-1; %當(dāng)循環(huán)結(jié)束時(shí)有sum=100,故 應(yīng)對(duì)n減1n,sum %顯示最大正整數(shù)n以及和sum將上述程序存入文件fl.m,然后在命令窗口鍵入fl 顯示結(jié)果為n= 13sum= 91指出: 程序中由符號(hào)“%”開(kāi)始的文字都是注釋文字,用
28、來(lái)對(duì)程序或程序行行進(jìn)行注釋說(shuō)明,符號(hào)“%”稱(chēng)為注釋符,MATLAB在執(zhí)行時(shí)將忽略“%”后的內(nèi)容。(2)函數(shù)文件函數(shù)文件是另一類(lèi)m文件,可以像庫(kù)函數(shù)一樣方便地被調(diào)用,MATLAB提供的許多工具箱,是由函數(shù)文件組成的。對(duì)于某一類(lèi)特殊問(wèn)題,用戶(hù)可以建立系統(tǒng)的函數(shù)文件,形成專(zhuān)用工具箱。函數(shù)文件的第一行有特殊的要求,它必須遵循如下的形式: function=()其他各行都是程序運(yùn)行語(yǔ)句,沒(méi)有特別要求。函數(shù)文件的文件名必須是.m。實(shí)現(xiàn)符號(hào)函數(shù)運(yùn)算功能的函數(shù)m文件為:function y=sgn(x) %這是一個(gè)定義符號(hào)函數(shù) y=sgn(x)的函數(shù)文件。if xx=4/3*pi; y=3*sgn(sin(x
29、) 顯示結(jié)果為:y= -3五、MATLAB的常用命令 MATLAB可以通過(guò)菜單對(duì)工作著的窗口進(jìn)行操作,也可以通過(guò)鍵盤(pán)在命令窗口輸入命令進(jìn)行操作,下面給出幾個(gè)常用的通用命令。quit 關(guān)閉MATLABexit 關(guān)閉MATLABclc 清除MATLAB命令窗口中的所有顯示內(nèi)容clear 清除工作空間中保存的所有變量 其他命令可以在學(xué)習(xí)應(yīng)用中逐步熟悉。第1章 Matlab概述上機(jī)練習(xí)(1)( 1)以?xún)煞N方式打開(kāi) MATLAB 工作窗口,進(jìn)入MATLAB 6.5 的工作環(huán)境,并嘗試用不同的方式退出。 ( 2)嘗試、熟悉 MATLAB 6.5 的各欄菜單以及各個(gè)工具欄的功能。 ( 3)重新啟動(dòng) MATL
30、AB 6.5,進(jìn)入 MATLAB 工作窗口,用 who 命令查看當(dāng)前工作空間內(nèi)有無(wú)變量及其值。 ( 4)繪制函數(shù)y=cos(5x+2)/sin(3x+1) 的圖像,并求解當(dāng) x=2 時(shí)的函數(shù)值。 ( 5)此時(shí)再次用 who 命令查看工作空間內(nèi)的變量名及其值,與( 3)比較,同時(shí)用whos 命令查看變量,比較與 who 命令的不同。 ( 6)熟練掌握 MATLAB 的通用命令。 ( 7)練習(xí)并熟練掌握 MATLAB 的幫助命令,學(xué)會(huì)利用 MATLAB的幫助信息。(8)用 lookfor 命令查找函數(shù) cos 的信息,并與 help 命令查找的結(jié)果相比較,注意采用兩種命令之間的差別。第2章 Mat
31、lab語(yǔ)言程序設(shè)計(jì)基本要求:(1) 了解Matlab的各種數(shù)據(jù)類(lèi)型;(2) 掌握Matlab的運(yùn)算符與操作符的含義和用法 ;(3) 掌握Matlab基本表達(dá)式并了解其常用函數(shù)分類(lèi);(4) 熟練掌握 Matlab 的程序結(jié)構(gòu)(順序結(jié)構(gòu)、循環(huán)結(jié)構(gòu)和分支結(jié)構(gòu))與流程控制語(yǔ)句 ;(5) 了解并初步掌握 Matlab 的數(shù)據(jù)文件的讀寫(xiě); (6) 學(xué)會(huì) Matlab 的M文件的編寫(xiě)方法,包括命令文件和函數(shù)文件。了解M件的調(diào)試命令和調(diào)試方法。第2章 Matlab語(yǔ)言程序設(shè)計(jì)1、 Matlab數(shù)據(jù)類(lèi)型 MATLAB的早期版本只有非常簡(jiǎn)單的二維數(shù)組和字符類(lèi)型的數(shù)據(jù),目前的MATLAB版本中不僅有多達(dá)十幾種的基本
32、數(shù)據(jù)類(lèi)型,在不同的專(zhuān)業(yè)工具箱中還有特殊的數(shù)據(jù)類(lèi)型,并且MATLAB還支持面向?qū)ο蟮木幊碳夹g(shù),支持用戶(hù)自定義的數(shù)據(jù)類(lèi)型。 MATLAB支持的基本數(shù)據(jù)類(lèi)型見(jiàn)圖2-1。第2章 Matlab語(yǔ)言程序設(shè)計(jì)圖2-1 MATLAB的數(shù)據(jù)類(lèi)型 第2章 Matlab語(yǔ)言程序設(shè)計(jì)獲取MATLAB的數(shù)據(jù)類(lèi)型列表可以在MATLAB命令行窗口中鍵入help datatypes命令。 在圖2-1中所示的各種數(shù)據(jù)類(lèi)型都可以用于創(chuàng)建向量、矩陣或者多維數(shù)組。用戶(hù)自定義的數(shù)據(jù)類(lèi)型也是圖示的各種數(shù)據(jù)類(lèi)型的組合。在不同的MATLAB工具箱中具有自定義的數(shù)據(jù)類(lèi)型,例如控制系統(tǒng)工具箱中定義的LTI對(duì)象,在濾波器設(shè)計(jì)工具箱中定義的濾波器對(duì)
33、象,在符號(hào)數(shù)學(xué)工具箱中定義的符號(hào)類(lèi)型數(shù)據(jù)等。這些工具箱中包含的特殊數(shù)據(jù)對(duì)象也都使用這些基本的數(shù)據(jù)類(lèi)型組合構(gòu)成。第2章 Matlab語(yǔ)言程序設(shè)計(jì) 需要指出一點(diǎn),MATLAB的基本數(shù)據(jù)類(lèi)型是雙精度數(shù)據(jù)類(lèi)型和字符類(lèi)型。MATLAB的M語(yǔ)言和其他高級(jí)編程語(yǔ)言不同的是,MATLAB沒(méi)有具體的變量或?qū)ο舐暶骱投x過(guò)程,任何數(shù)據(jù)類(lèi)型的變量或?qū)ο蠖伎梢岳妹嫦驅(qū)ο缶幊碳夹g(shù)中構(gòu)造函數(shù)的方法或者數(shù)據(jù)類(lèi)型轉(zhuǎn)換的方法來(lái)創(chuàng)建其他數(shù)據(jù)類(lèi)型對(duì)象和變量。MATLAB和Java語(yǔ)言、C+語(yǔ)言類(lèi)似,所有數(shù)據(jù)類(lèi)型就是相應(yīng)的類(lèi),具有一定的面向?qū)ο蟮奶攸c(diǎn)。MATLAB的不同數(shù)據(jù)類(lèi)型的變量或?qū)ο笳加玫膬?nèi)存空間不盡相同,不同的數(shù)據(jù)類(lèi)型的變
34、量或?qū)ο笠簿哂胁煌牟僮骱瘮?shù)。在本章中,將詳細(xì)講述MATLAB的基本數(shù)值類(lèi)型、邏輯類(lèi)型、字符串、元胞數(shù)組和結(jié)構(gòu)的使用方法,其中,元胞數(shù)組是MATLAB中常用的一種獨(dú)有的數(shù)據(jù)類(lèi)型。2.1 變量 1、標(biāo)識(shí)符:表示變量名,常量名,函數(shù)名和文件名的字符串 (1)由字母、數(shù)字、下劃線(xiàn)等符號(hào)組成,第一個(gè)字母必須是英文字母 。(2)變量和常量最長(zhǎng)不要超過(guò)19個(gè)字符,多余截取。 (3)函數(shù)和文件名通常不超過(guò)8個(gè)字符。 (4)變量名大小寫(xiě)敏感。2.1 變量 (5)MATLAB中的特殊變量名,應(yīng)避免使用。 例如: 變量名意義ans用于存儲(chǔ)計(jì)算結(jié)果的默認(rèn)變量pi圓周率inf(Inf)無(wú)窮大,例如1/0 eps計(jì)算機(jī)
35、的最小數(shù),和1相加產(chǎn)生比1大的數(shù),在pc機(jī)上為252。 NaN(nan)不定量,如0/0 i或j虛數(shù)單位,i=j=sqrt(-1) 2.1 變量 2、變量類(lèi)型 :(1)數(shù)值:內(nèi)部只有一種類(lèi)型為雙精度(8個(gè)字節(jié),64位), 實(shí)數(shù)為1個(gè)雙精度數(shù),復(fù)數(shù)為兩個(gè)雙精度數(shù)。 但輸出顯示格式有8種。 可用format命令來(lái)改變顯示格式。 例如: format short 顯示5位數(shù) (pi: 3.1416) format long 顯示15位數(shù)(pi: 3.14159265358979) format bank 顯示貨幣格式(pi: 3.14)2.1 變量 數(shù)字顯示的8種格式Matlab命令顯示形式說(shuō) 明f
36、ormat long3.14159265358979316位十進(jìn)制format short e3.1416e+0005位十進(jìn)制數(shù)加指數(shù)format long e3.141592653589793e+00016位十進(jìn)制數(shù)加指數(shù)format hex400921fb54442d1816位十六進(jìn)制format bank3.14兩位小數(shù)format +正、負(fù)或零format rat355/113分?jǐn)?shù)近似format short(默認(rèn))3.14159二位整數(shù),四位小數(shù)指出:自定義變量名一般不應(yīng)和系統(tǒng)變量同名。在MATLAB中輸入的內(nèi)容直接決定變量的類(lèi)型。使用who和whos命令可以查看變量。使用clear
37、命令可以刪除所有定義過(guò)的變量。如果只是刪除其中某些變量,應(yīng)在clear后面指定要?jiǎng)h除的變量名。例如 clear a z有了變量,就可以組成表達(dá)式,也就可以對(duì)變量進(jìn)行賦值。MATLAB的賦值語(yǔ)句有兩種形式。 變量名表達(dá)式 表達(dá)式 在第一種情況下,MATLAB將右邊的表達(dá)式的值賦值給左邊的變量,在第二種情況,MATLAB將表達(dá)式的值賦值給系統(tǒng)變量ans。所謂表達(dá)式,就是用運(yùn)算符號(hào)把特殊字符、函數(shù)名、變量名等有關(guān)運(yùn)算量連接起來(lái)的式子,其結(jié)果是一個(gè)矩陣。2.1 變量 2、變量類(lèi)型 :(2)字符(串):用單引號(hào)表示。 如:a=abc 實(shí)際上是一個(gè)單個(gè)字符的ASCII碼組成的行向量。2.1 變量 3、矩陣
38、 MATLAB中的變量或常量都代表一個(gè)矩陣, 所有的變量運(yùn)算其實(shí)都是矩陣運(yùn)算。 單個(gè)值實(shí)際上是1*1階矩陣。 矩陣元素可以是數(shù)值(實(shí)數(shù)或復(fù)數(shù))或字符串。 一個(gè)由矩陣表示的變量可以是一個(gè)數(shù)、一組數(shù)、一個(gè)文件(如語(yǔ)音)、一幅圖象等。 2.1 變量 3、矩陣 矩陣(Matrix)與數(shù)組(Array)的關(guān)系 : 矩陣運(yùn)算有著嚴(yán)格理論 數(shù)組運(yùn)算一般指元素運(yùn)算4、矩陣的創(chuàng)建矩陣是線(xiàn)性代數(shù)的基本運(yùn)算單元。通常矩陣是指含有m行n列數(shù)值的矩形結(jié)構(gòu)。矩陣中的元素可以是實(shí)數(shù)也可以是復(fù)數(shù),由此可以將矩陣劃分為實(shí)矩陣和復(fù)矩陣。MATLAB支持線(xiàn)性代數(shù)所定義的全部矩陣運(yùn)算。在MATLAB中創(chuàng)建矩陣應(yīng)遵循以下原則:矩陣的元
39、素必須在方括號(hào)“ ”中。矩陣的同行元素之間用空格或逗號(hào)“,”分隔。矩陣的行與行之間用分號(hào)“;”或回車(chē)符分隔。矩陣的尺寸不必預(yù)先定義。矩陣元素可以是數(shù)值、變量、表達(dá)式或函數(shù)。如果矩陣元素是表達(dá)式,系統(tǒng)將自動(dòng)計(jì)算出結(jié)果。2.1 變量 4、變量的查看: who/whos5、變量的保存和恢復(fù): save 文件名 (缺省后綴為.mat)例如:save myvarload 文件名 例如:load myvar2.2 矩陣的賦值 1、矩陣的直接賦值 (1)基本賦值 1)使用 2)同一行元素用空格或,隔開(kāi) 3)不同行用;隔開(kāi) 例如:a=1 2 3;4 5 6 (2)復(fù)數(shù)的賦值: 例如:z=1+2i或1+2j z
40、=1+2i 3+4i z=1 3+2 4*i 直接輸入法在命令窗口按規(guī)則輸入方式創(chuàng)建矩陣 例1.在命令窗口創(chuàng)建簡(jiǎn)單的數(shù)值矩陣。 A=1 3 2;3 1 0;2 1 5 回車(chē)后在命令窗口顯示如下結(jié)果 A = 1 3 2 3 1 0 2 1 5 例2.在命令窗口創(chuàng)建帶運(yùn)算表達(dá)式的矩陣,不顯示結(jié)果。 y=sin(pi/3),cos(pi/6);log(20),exp(2); 輸入“y”回車(chē),在命令窗口顯示出來(lái)。 y 顯示出的結(jié)果為 y = 0.8660 0.8660 2.9957 7.3891指出:在矩陣較大時(shí),用分行輸入的方式(用回車(chē)代替分號(hào)區(qū)分不同行)比較接近于線(xiàn)性代數(shù)中的矩陣,更直觀(guān)一些。任何
41、矩陣元素內(nèi)部不能有空格,否則會(huì)被認(rèn)定是兩個(gè)元素。 2、通過(guò)數(shù)據(jù)文件創(chuàng)建矩陣導(dǎo)入其他程序創(chuàng)建的數(shù)據(jù) 例3.用記事本輸入一組數(shù)據(jù) 1 2 3 4 2 3 4 5 4 3 4 5 5 7 6 1 保存為fort.txt,用load命令讀入, load fort.txt 輸入fort就可以在命令窗口顯示創(chuàng)建的矩陣。 fort 顯示結(jié)果為 fort = 1 2 3 4 2 3 4 5 4 3 4 5 5 7 6 1 指出:通過(guò)load命令導(dǎo)入數(shù)據(jù)是形成矩陣的重要方法,解決了在工作現(xiàn)場(chǎng)沒(méi)有MATLAB系統(tǒng)和其他數(shù)據(jù)管理系統(tǒng)的問(wèn)題,可以只用基本的文字處理工具完成。MATLAB對(duì)文本形式的數(shù)據(jù)文件的擴(kuò)展名并不
42、計(jì)較,將上述數(shù)據(jù)文件換名保存為fort.1,仍然可以如上導(dǎo)入、應(yīng)用。文件名可以定義為m1.txt或m1.1。但是,如果將文件命名為1m.txt,則顯示出錯(cuò)信息:“Error: Missing operator(算子), comma(逗號(hào)), or semicolon(分號(hào)).”如果文件名命名為3.txt、1.txt、3.1等,則顯示的是主文件名所用的數(shù)字。數(shù)據(jù)文件保存為word或wps等的文件格式同樣可以引用。如果數(shù)據(jù)文件中有字母,則不能引用,顯示出錯(cuò)信息,即使該字母在前面的指令中已經(jīng)賦值也不可。如果數(shù)據(jù)文件中有算式,則不能完整顯示,算式元素將僅顯示第一個(gè)運(yùn)算符(或關(guān)系符)前的數(shù)字。導(dǎo)入其他數(shù)
43、據(jù),如圖像數(shù)據(jù)、Excel數(shù)據(jù)時(shí),可以使用數(shù)據(jù)導(dǎo)入向?qū)mport Wizard。3、通過(guò)m文件創(chuàng)建矩陣將矩陣建立為m文件 先將矩陣按創(chuàng)建原則寫(xiě)入一個(gè)m文件中,在MATLAB命令窗口或程序中直接運(yùn)行該m文件(輸入該m文件名),即可將矩陣調(diào)入工作空間。4、通過(guò)函數(shù)創(chuàng)建矩陣函數(shù)功能eye(n)產(chǎn)生n階單位矩陣ones(m,n)產(chǎn)生mn矩陣,元素都是“1”zeros(m,n)產(chǎn)生mn矩陣,元素都是“0”(零矩陣)產(chǎn)生空矩陣指出:當(dāng)某一項(xiàng)操作無(wú)結(jié)果時(shí),MATLAB將返回一個(gè)空矩陣,空矩陣的大小為0,但它確實(shí)存在于工作空間,可以通過(guò)變量名訪(fǎng)問(wèn)。輸入后的矩陣將保存在MATLAB工作空間中,并可以隨時(shí)被訪(fǎng)問(wèn)
44、調(diào)用,如果用戶(hù)不用“clear”命令清除它,或給它重新賦值,該矩陣將一直保存在工作空間直到MATLAB關(guān)閉為止。如果矩陣函數(shù)中只有一個(gè)參數(shù),則為方陣。四種創(chuàng)建矩陣的方法各有優(yōu)點(diǎn):直接輸入法方便簡(jiǎn)捷;通過(guò)數(shù)據(jù)文件創(chuàng)建有利于調(diào)用其他軟件產(chǎn)生的數(shù)據(jù);通過(guò)m文件創(chuàng)建是用于創(chuàng)建較大尺寸的矩陣并便于修改;通過(guò)函數(shù)創(chuàng)建可以由MATLAB內(nèi)部函數(shù)創(chuàng)建一些特殊矩陣。5、其他構(gòu)造矩陣的方法冒號(hào)法1冒號(hào)法構(gòu)造向量冒號(hào)表達(dá)式的一般格式為:向量名初值:步長(zhǎng):終值。例4.在窗口輸入 x=0:0.5:2回車(chē)后顯示x = 0 0.5000 1.0000 1.5000 2.0000。例5. 在命令窗口輸入 x=2:-0.5:0
45、回車(chē)后顯示x = 2.0000 1.5000 1.0000 0.5000 0指出:步長(zhǎng)可以省略,省略步長(zhǎng),則步長(zhǎng)為1。步長(zhǎng)可以為負(fù),此時(shí)初值大于終值。向量的元素比較多而又有增減規(guī)律時(shí),這種方法非常便利。冒號(hào)法表示向量時(shí),向量的全體成員是從初值開(kāi)始,以步長(zhǎng)為增量,直到不超過(guò)終值的所有元素構(gòu)成的序列。冒號(hào)法的應(yīng)用可以避免使用循環(huán),提高程序運(yùn)行速度。矩陣的創(chuàng)建(續(xù))2冒號(hào)法構(gòu)造矩陣一般格式為:A(:,j):表示矩陣A的第j列;A(i,:):表示矩陣A的第i行。例6.建立矩陣 。解: A(1,:)=1:5 %設(shè)置矩陣的第1行A = 1 2 3 4 52.2 矩陣的賦值 注意: 賦值結(jié)尾為“;” 則不顯
46、示結(jié)果。 一行不夠時(shí),可用“”換行。 矩陣的階數(shù)也可通過(guò)下列函數(shù)獲得: 對(duì)于一維,m=length(a) 為矩陣a的長(zhǎng)度。 例如: a=1 2 3 length(a)為32.2 矩陣的賦值 注意: 矩陣的階數(shù)也可通過(guò)下列函數(shù)獲得: 對(duì)于二維,m,n=size(a), m為行數(shù),n為列數(shù) 例如: a=1 2 3; 4 5 6 size(a)為2 32.2 矩陣的賦值 2、矩陣元素的賦值 (1)元素用(m,n)的形式表示第m行n列的元素值,可直接引用和賦值。 例如,a(2,1)=4, 若將其改為9, 則可用a(2,1)=9。注意:如果元素下標(biāo)超出原矩陣的維數(shù),矩陣將自動(dòng)擴(kuò)大,多出的元素自動(dòng)為0 。
47、 2.2 矩陣的賦值 2、矩陣元素的賦值 (2) 給全行或全列賦值 : 用“:”代替行或列。 如:a(4 , :)=11 12 13 14 b(: , 5)=5; 8; 10; 12 注意:行數(shù)或列數(shù)必須與原矩陣相同。 2.2 矩陣的賦值 3、矩陣的變換 (1)抽?。河稍仃囍械牟糠衷?構(gòu)成新矩陣。 如:b=a(2,4,1,3) 表示第2,4行與第1、3列交叉元素組成新矩陣。 2.2 矩陣的賦值 3、矩陣的變換 (2)抽去:使用空矩陣(無(wú)元素),將矩陣整行/列刪除。 如:a(2,4,:)= 將2、4行刪除 a(:,2)= 將第2列刪除2.2 矩陣的賦值 3、矩陣的變換 (3) 組合:由多個(gè)矩
48、陣組成一個(gè)新矩陣,但行列應(yīng)正好。 如:a=1 2 3;4 5 6; b=7 8 9;10 11 12; c=a b; d=a;b; (4)轉(zhuǎn)置:b=a (行變列) 例如:a=1 2 3;4 5 6 ,則 a=1 4;2 5;3 62.2 矩陣的賦值 (5) 排列:b=a(:) 將所有列排成一列。 例如:a=1 2 3;4 5 6; a(:)=1;4;2;5;3;6; 若先轉(zhuǎn)置再排列,即實(shí)現(xiàn)按行排列。 (6) 變換函數(shù): fliplr(a) (矩陣左右翻轉(zhuǎn)) (flip翻left right) flipud(a) (矩陣上下翻轉(zhuǎn)) 3、矩陣的變換 2.2 矩陣的賦值 4、間隔賦值(適合批量數(shù)據(jù))
49、 (1) 變量=(first:increment:last)形式 如:t=(0:0.1:1) 則 t=0,0.1,0.2,1 (2) 線(xiàn)性間隔函數(shù) linspace(first,last,num) 從first開(kāi)始到last結(jié)束共num個(gè)元素, 間隔為(last-first)/(num-1) 如:t= linspace (0,1,11),t=0,0.1,1 2.2 矩陣的賦值 4、間隔賦值(適合批量數(shù)據(jù)) (3)對(duì)數(shù)間隔函數(shù) logspace(first,last,num) 從10first開(kāi)始到10last結(jié)束共num個(gè)元素 如:t= logspace (0,1,11),t=100,100.
50、1,101 2.2 矩陣的賦值 5、基本矩陣 (1)空陣: (當(dāng)操作無(wú)結(jié)果時(shí),返回空陣) (2)全0矩陣:zeros(m,n) 例如:zeros(2,3)=0 0 0;0 0 0(3)全1矩陣:ones(m,n) (4)單位矩陣:eye(n) (對(duì)角線(xiàn)為1的方陣) (5)隨機(jī)矩陣:rand(m,n) 2.2 矩陣的賦值 6、文件賦值 (1) 波形文件(.wav):即音頻文件 讀波形文件 :a=wavread(文件名), 如:a=wavread(morse.wav) 寫(xiě)波形文件:wavwrite(a, 文件名) 波形文件播放:用wavplay或sound, 如:wavplay(a); 2.3 矩
51、陣的初等運(yùn)算 1、加減法: 矩陣的加減就是對(duì)應(yīng)元素的加減 。如:a=1 2 3;b=4 5 6,則a+b=5 7 8 , 如果矩陣與一常數(shù)(標(biāo)量)相加減,則把該常數(shù)看成是同階的矩陣。例如:a+5=6 7 8 2.3 矩陣的初等運(yùn)算 2、乘法 (1)矩陣相乘:mp階矩陣A與pn階矩陣B的乘積是一個(gè)m*n階矩陣。例如: a=1 2 3;b=4 5 6 則:a*b=20. (2)矩陣與常數(shù)相乘等于每個(gè)元素乘以該常數(shù),例:2*a。 2.3 矩陣的初等運(yùn)算 2、乘法 (3)矩陣元素相乘(數(shù)組相乘):使用“.*” 相乘的兩個(gè)矩陣階數(shù)應(yīng)相同 。例如:a=1 2 3;b=4 5 6 則:a.*b=4 10 1
52、8 2.3 矩陣的初等運(yùn)算 3、除法 (1)矩陣的除法 右除,“/” :A/B=A*B-1 (B的逆矩陣inv(B), B必須是方陣,A與B列應(yīng)相等。左除,“” :AB=A-1*B , A必須是方陣,A與B行應(yīng)相等。 (2)矩陣除以常數(shù),等于每個(gè)元素除以常數(shù),使用普通除法/ 。2.3 矩陣的初等運(yùn)算 3、除法 (3)矩陣元素的除法(數(shù)組相除):“./” :A./B為A各元素除以B中各元素?!?” :A.B=B./A 2.3 矩陣的初等運(yùn)算 4、乘方 (1)矩陣乘方 :(乘方是乘法的擴(kuò)充,為保證合法性,要求矩陣為方陣) A標(biāo)量 :例 A2,A0.2 (2)元素的乘方: a) A.標(biāo)量 : 例 A
53、=1 2 ,A.2=1 4 2.3 矩陣的初等運(yùn)算 4、乘方 b) 標(biāo)量.A :例 3.A =3 9 c) A.B :A、B同階 例 A=1 2 ,B=3 4 ,則A.B=1 162. 4 矩陣的基本運(yùn)算函數(shù) 1、矩陣的運(yùn)算函數(shù) (見(jiàn)附錄A) 指數(shù)函數(shù) :expm()%變量必須是方陣 對(duì)數(shù)函數(shù) :logm() %變量必須是方陣 開(kāi)方函數(shù) :sqrtm()%變量必須是方陣 三角函數(shù)(25個(gè)):例如:t=1 2 3,y=sin(t) 指數(shù)/對(duì)數(shù)函數(shù)(7個(gè)): 例如:exp() 復(fù)數(shù)函數(shù)(8個(gè)):例如:abs() 取模 取整函數(shù)(7個(gè)):例:round() 四舍五入 2. 4 矩陣的基本運(yùn)算函數(shù) 2
54、、矩陣元素的運(yùn)算 (基本函數(shù)庫(kù)elfun) 1、關(guān)系運(yùn)算: 共6種 : (大于) (小于) = (大于等于)= (小于等于) = = (等于) = (不等于)比較是在元素間進(jìn)行的。 矩陣必須同階 比較結(jié)果仍為矩陣,且元素值為0(假) 或1(真) 例如:a=1 2,b=2 1, 則ab 結(jié)果為0 1,a=b 結(jié)果為0 0 2. 5 矩陣的邏輯運(yùn)算 2、邏輯運(yùn)算 : 共有四種運(yùn)算符號(hào): & (與)、|(或)、 (非)、xor(異或) 矩陣元素值必須為邏輯值(0、1) 運(yùn)算是在元素間進(jìn)行的。比較結(jié)果仍為矩陣 例如:a=1 0,b=0 1,則:a&b =0 0 xor(a,b) =1 12. 5 矩陣
55、的邏輯運(yùn)算 3、邏輯函數(shù): (運(yùn)算符庫(kù)ops ) 例如: exist(a) -檢查變量是否有定義, 返回1表示有0表示無(wú) all(a)-檢查矩陣中元素是否全為非0, 1是0否 3 MATLAB的符號(hào)運(yùn)算 數(shù)值運(yùn)算中的變量需要事先賦值,才能出現(xiàn)在表達(dá)式中參與運(yùn)算。但人們經(jīng)常需要對(duì)含有字符的矩陣和函數(shù)進(jìn)行處理和運(yùn)算,如求函數(shù)的微分、積分等等,這就需要進(jìn)行符號(hào)運(yùn)算。 MATLAB的符號(hào)運(yùn)算利用符號(hào)數(shù)學(xué)工具箱進(jìn)行,符號(hào)工具箱的功能主要包括符號(hào)表達(dá)式的創(chuàng)建、符號(hào)矩陣的運(yùn)算、符號(hào)表達(dá)式的化簡(jiǎn)和替換、符號(hào)微積分、符號(hào)代數(shù)方程、符號(hào)微分方程、符號(hào)函數(shù)繪圖等等 。一、符號(hào)對(duì)象的創(chuàng)建1、字符串變量的創(chuàng)建 字符串是
56、一種特殊的符號(hào)對(duì)象,在數(shù)據(jù)處理、造表和函數(shù)求值中,字符串具有重要的應(yīng)用。 用單引號(hào)界定的字符序列稱(chēng)為字符串。例如 s=hello回車(chē)后,顯示s =hello2、函數(shù)數(shù)學(xué)函數(shù)函數(shù)名含義函數(shù)名含義abs(x)x的絕對(duì)值atant(x)x的反正切sqrt(x)x的平方根cot(x)x的余切exp(x)e的x次方acot(x)x的反余切sin(x)x的正弦log(x)x的自然對(duì)數(shù)cos(x)x的余弦log10(x)x的常用對(duì)數(shù)asin(x)x的反正弦sinh(x)雙曲正弦acos(x)x的反余弦cosh(x)雙曲余弦tan(x)x的正切機(jī)器函數(shù) pause 程序?qū)簳r(shí)停在該函數(shù)所在位置,擊任意鍵程序繼
57、續(xù)執(zhí)行 echo on 在命令窗口顯示正在執(zhí)行的程序指令 cputime 給出MATLAB所耗用的總機(jī)器時(shí)間 clock 給出日期及當(dāng)前時(shí)間指出 在表達(dá)式中,函數(shù)一定要出現(xiàn)在等式的右邊。每個(gè)函數(shù)對(duì)其自變量的個(gè)數(shù)和格式都有一定要求,如三角函數(shù)的單位是“弧度”而不是“度”。函數(shù)允許嵌套,如sqrt(sin(10)。系統(tǒng)函數(shù)的函數(shù)名小寫(xiě)。注意函數(shù)名也是區(qū)分大小寫(xiě)的。Matlab 永久變量ans最近的答案infInfinity(無(wú)窮大)eps浮點(diǎn)數(shù)相對(duì)精度NaNNot-a-Number(非數(shù))realmax最大浮點(diǎn)實(shí)數(shù)flops浮點(diǎn)運(yùn)算次數(shù)realmin最小浮點(diǎn)實(shí)數(shù)computer計(jì)算機(jī)類(lèi)型pi3.1
58、4159235358579inputname輸入變量名i,j虛數(shù)單位size多維矩陣的各維長(zhǎng)度length一維矩陣的長(zhǎng)度說(shuō)明: 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。 和其他的高級(jí)編程語(yǔ)言所定義的常量不同,MATLAB的常量數(shù)值是可以修改的。例如,在MATLAB命令行窗口中可以鍵入如下的指令:pi=100,這樣pi這個(gè)常量的數(shù)值就變成了100。但是,如果用
59、clear指令清除變量后,pi將變成原有的常量數(shù) Inf也可以寫(xiě)作inf,它為IEEE定義的算術(shù)數(shù)據(jù)無(wú)窮大數(shù)值,在MATLAB中進(jìn)行諸如1.0/0.0或者exp(1000)的操作時(shí)都會(huì)得到這個(gè)數(shù)值。如果將inf應(yīng)用于函數(shù),則計(jì)算結(jié)果可能為inf或者NaN。 NaN也可以寫(xiě)作nan,它為IEEE規(guī)定的某種運(yùn)算得到的結(jié)果,例如0/0的運(yùn)算得到的結(jié)果就是NaN。NaN參與運(yùn)算的結(jié)果也為NaN(關(guān)系運(yùn)算除外)。 說(shuō)明: MATLAB中所有的數(shù)據(jù)默認(rèn)類(lèi)型均為雙精度類(lèi)型,包括像NaN和Inf在內(nèi)的上述若干常數(shù)。 對(duì)NaN和Inf進(jìn)行數(shù)據(jù)轉(zhuǎn)化時(shí)要注意,Inf將獲取相應(yīng)數(shù)據(jù)類(lèi)型的最大值,而NaN往往返回相應(yīng)整
60、數(shù)數(shù)據(jù)類(lèi)型的數(shù)值0,浮點(diǎn)數(shù)類(lèi)型則仍然為NaN。 在運(yùn)算中使用NaN可以避免因?yàn)閳?zhí)行了0/0這類(lèi)能夠產(chǎn)生錯(cuò)誤的應(yīng)用程序中斷,可以輔助調(diào)試應(yīng)用程序。 c) 字符串 所有字符串都用單引號(hào)括起來(lái)。 s=matlab 字符中中的每個(gè)字符(包括空格)都是字符串變量(矩陣或向量)中的一個(gè)元素。字符串中的字符以 ASCII 碼形式儲(chǔ)存并區(qū)分大小 ,用函數(shù)abs可以看到字符的ASCII碼。在Matlab中,字符串和字符矩陣基本上是等價(jià)的。 s=matlab 等價(jià)于 s=matlab 常用的字符串操作函數(shù)表 字符串舉例: A= China 中國(guó) ;輸出帶引號(hào)的漢字 B=我是好學(xué)生 c=I am fine. s3=
溫馨提示
- 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. 人人文庫(kù)網(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)樹(shù)基礎(chǔ)施工方案
- 海安工裝拆除施工方案
- 水中微型樁施工方案
- 懸浮樓梯施工方案
- 壽光路牙石施工方案
- 工藝燈安裝施工方案
- 二零二五年度勞動(dòng)合同期限與績(jī)效考核結(jié)果關(guān)聯(lián)合同
- 二零二五年度合同解除后債務(wù)重組協(xié)議
- 二零二五年度咖啡連鎖店加盟經(jīng)營(yíng)合同
- 《住院患者身體約束的護(hù)理》團(tuán)體標(biāo)準(zhǔn)解讀課件
- DZ∕T 0213-2020 礦產(chǎn)地質(zhì)勘查規(guī)范 石灰?guī)r、水泥配料類(lèi)(正式版)
- 10000中國(guó)普通人名大全
- 綠化養(yǎng)護(hù)作業(yè)人員培訓(xùn)方案、綠化養(yǎng)護(hù)應(yīng)急預(yù)案
- 外研版英語(yǔ)(新標(biāo)準(zhǔn))八年級(jí)下冊(cè)教案(全冊(cè))
- 教師聽(tīng)課評(píng)分表
- 公路工程竣工驗(yàn)收鑒定書(shū)
- 項(xiàng)目章程模板范文
- 耳尖放血療法治療高血壓病技術(shù)
- 泰山產(chǎn)業(yè)領(lǐng)軍人才工程系統(tǒng)
- 輪扣架支模體系材料量計(jì)算
評(píng)論
0/150
提交評(píng)論