版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、新MATLABMATLAB 語言及其應(yīng)用 Application of Matlab Language 2022-5-11Application of Matlab Language2 1 MATLAB1 MATLAB的桌面環(huán)境及入門知識的桌面環(huán)境及入門知識n啟動與退出啟動與退出MATLAB MATLAB n命令窗口及使用命令窗口及使用n數(shù)值表示、變量、表達式數(shù)值表示、變量、表達式n命令歷史窗口命令歷史窗口n工作空間工作空間n獲取在線幫助獲取在線幫助 2022-5-11Application of Matlab Language3 1.1 1.1 啟動與退出啟動與退出MATLABMATLABn
2、啟動啟動MATLABMATLABn直接用鼠標雙擊桌面上直接用鼠標雙擊桌面上MATLAB7.1MATLAB7.1圖標圖標n或或WindowsWindows桌面的桌面的“開始開始”“所有程所有程序序”“MATLAB7.1” “MATLAB7.1” “MATLAB7.1”“MATLAB7.1”。n退出退出MATLABMATLABn關(guān)閉關(guān)閉MATLABMATLAB桌面桌面n在命令窗口執(zhí)行在命令窗口執(zhí)行quitquit或或exitexit命令命令 2022-5-11Application of Matlab Language4 菜單欄菜單欄工具欄工具欄文件編輯窗口文件編輯窗口工作空間工作空間歷史命令歷史
3、命令窗口窗口Start Start 菜單菜單命令窗口命令窗口命令提示符命令提示符1.1 1.1 啟動與退出啟動與退出MATLAB MATLAB (續(xù))(續(xù)) 2022-5-11Application of Matlab Language5 1.2 1.2 命令窗口的使用命令窗口的使用激活命令窗口。激活命令窗口?!啊?” 與閃爍的光標一起表明系統(tǒng)就緒,等待輸入。與閃爍的光標一起表明系統(tǒng)就緒,等待輸入。命令窗口脫離命令窗口脫離MATLABMATLAB桌面。桌面。 簡單計算簡單計算【例例1-11-1】計算計算(1 1)在)在MATLABMATLAB命令窗口輸入命令窗口輸入 以下內(nèi)容:以下內(nèi)容:(12
4、+2(12+2* *(7-4)/32(7-4)/32(2 2)按)按【EnterEnter】鍵,指令執(zhí)行。鍵,指令執(zhí)行。(3 3)返回的計算結(jié)果:)返回的計算結(jié)果:ans= 2 2122743 2022-5-11Application of Matlab Language6 1.2 1.2 命令窗口命令窗口 (續(xù))(續(xù))說明說明l在命令窗口在命令窗口【EnterEnter】鍵提交命令執(zhí)行。鍵提交命令執(zhí)行。lMatlabMatlab所用運算符(如所用運算符(如+ +、- -、 等)是各種計算程序中等)是各種計算程序中常見的。常見的。l計算結(jié)果中的計算結(jié)果中的“ans”ans”是英文是英文“ans
5、wer”answer”的一種縮寫,的一種縮寫,其含義就是其含義就是“運算答案運算答案”。ansans是是MatlabMatlab的一個預(yù)定義的一個預(yù)定義變量。變量。 2022-5-11Application of Matlab Language7 1.2 1.2 命令窗口命令窗口 (續(xù))(續(xù))n簡單計算(續(xù))【例例1-21-2】計算計算sin(45sin(45? ) )sin(45sin(45* *pi/180)pi/180)l Matalb中正弦函數(shù)中正弦函數(shù)sin就是常見的正弦函數(shù)。就是常見的正弦函數(shù)。l 它的參數(shù)值是以它的參數(shù)值是以“弧度弧度”為單位的。為單位的。l pi也是也是Mata
6、lb的預(yù)定義變量。的預(yù)定義變量。l pi=3.14159l Matlab對字母大小寫是敏感的。對字母大小寫是敏感的。【例例1-31-3】計算計算 的值,其中的值,其中x=4.92x=4.92。 0.521xesqrt(2sqrt(2* *exp(4.92+0.5)+1)exp(4.92+0.5)+1)l Matalb中開平方中開平方sqrt(x),是英文是英文square root的縮寫的縮寫 。l Matalb中指數(shù)函數(shù)中指數(shù)函數(shù)exp(x),常見的表達方式常見的表達方式。ans= 0.7071ans= 21.2781 2022-5-11Application of Matlab Langu
7、age8 1.2 1.2 命令窗口命令窗口 (續(xù))(續(xù))7 “clcclc”清除窗口顯示內(nèi)容的命令清除窗口顯示內(nèi)容的命令。【例例1-41-4】計算計算 的值。的值。 2sin 0.315yy=2y=2* *sin(0.3sin(0.3* *pi)/(1+sqrt(5)pi)/(1+sqrt(5)y= 0.5000【例例1-51-5】計算計算 的值。的值。 2cos 0.315yy=2*cos(0.3*pi)/(1+sqrt(5)y= 0.3633% 命令行編輯l “”鍵調(diào)回已輸入過命令。l 修改。 2022-5-11Application of Matlab Language9 1.2 1.2
8、 命令窗口命令窗口 (續(xù))(續(xù))【例例1-61-6】計算半徑為計算半徑為5.2m5.2m的圓的周長和面積。的圓的周長和面積。radius=5.2; %radius=5.2; %圓的半徑圓的半徑area=piarea=pi* *5.22,5.22, circle_len=2circle_len=2* *pi pi* *5.25.2area = 84.9487circle_len = 32.6726l 以上兩例,命令行中用到了等號以上兩例,命令行中用到了等號“=”。l 計算結(jié)果不再賦給計算結(jié)果不再賦給“ans”,而是賦給,而是賦給用戶指定的變量用戶指定的變量y、area、circle_len。l
9、無論是預(yù)定義變量還是用戶自定義變量無論是預(yù)定義變量還是用戶自定義變量都被存儲在系統(tǒng)的工作空間內(nèi),即系統(tǒng)都被存儲在系統(tǒng)的工作空間內(nèi),即系統(tǒng)定義的一個存儲窗口變量的內(nèi)存空間。定義的一個存儲窗口變量的內(nèi)存空間。l Who、whos命令用來顯示工作空間的命令用來顯示工作空間的變量變量l clear命令用來清除工作空間的變量。命令用來清除工作空間的變量。 2022-5-11Application of Matlab Language10 1.2 1.2 命令窗口命令窗口 (續(xù))(續(xù))whowhosYour variables are:ans circle_len y area radius Name S
10、ize 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-5-11Application of Matlab Language11 1.2 1.2 命令窗口命令窗口 (續(xù))(續(xù))clear ywhoYour variables are:ans circle_len area radius
11、 clear ans areawhosYour 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-5-11Application of Matlab Language12 1.2 1.2 命令窗口命令窗口 (續(xù))(續(xù))n數(shù)值顯示格式設(shè)置數(shù)值顯示格式設(shè)置n缺省顯示格式:簡潔的短(缺省顯示格式:簡潔的短(short gshort g)格式)格式n窗口命令及語法格式:窗口命令及語
12、法格式:format format 顯示格式關(guān)鍵字顯示格式關(guān)鍵字 如:如:format long %15format long %15位數(shù)字顯示位數(shù)字顯示n常見通用命令常見通用命令命令命令含義含義clcclc清除命令窗口的顯示內(nèi)容清除命令窗口的顯示內(nèi)容clearclear 清除清除MatlabMatlab工作空間中保存的變量工作空間中保存的變量whowho或或whoswhos顯示顯示MatlabMatlab工作空間中的變量信息工作空間中的變量信息dirdir顯示當前工作目錄的文件和子目錄清單顯示當前工作目錄的文件和子目錄清單cdcd顯示或設(shè)置當前工作目錄顯示或設(shè)置當前工作目錄typetype顯
13、示指定顯示指定m m文件的內(nèi)容文件的內(nèi)容helphelp或或docdoc獲取在線幫助獲取在線幫助quitquit或或exitexit關(guān)閉關(guān)閉/ /推出推出MATALBMATALB 2022-5-11Application of Matlab Language13 1.3 1.3 工作空間工作空間n查看工作空間內(nèi)存變量,可以由查看工作空間內(nèi)存變量,可以由whowho、whos whos 。n命名新變量。命名新變量。n修改變量名修改變量名n刪除變量刪除變量n繪圖繪圖n保存變量數(shù)據(jù)保存變量數(shù)據(jù)n裝入數(shù)據(jù)裝入數(shù)據(jù) 2022-5-11Application of Matlab Language14 1.
14、4 1.4 歷史窗口歷史窗口n歷史窗口:歷史窗口:n首先首先記錄每次啟動時間記錄每次啟動時間n并并記錄在命令窗口輸入命令記錄在命令窗口輸入命令,此次運行期間,此次運行期間,輸入的所有命令被記錄為一組,并以此次啟動時輸入的所有命令被記錄為一組,并以此次啟動時間為標志。間為標志。n使用歷史窗口:使用歷史窗口:n可以查看命令窗口輸入過的命令或語句可以查看命令窗口輸入過的命令或語句n可以選擇一條或多條命令執(zhí)行拷貝、執(zhí)行、創(chuàng)可以選擇一條或多條命令執(zhí)行拷貝、執(zhí)行、創(chuàng)建建MM文件等。文件等。 要清除歷史記錄,可以選擇要清除歷史記錄,可以選擇Edit菜單中的菜單中的Clear Command History
15、命令命令 2022-5-11Application of Matlab Language15 1.5 1.5 當前目錄窗口和搜索路徑當前目錄窗口和搜索路徑當前目錄窗口:當前目錄窗口:指指Matlab運行時的工作目錄。運行時的工作目錄。l只有在當前目錄和搜索路徑下的文件、函數(shù)才可以被只有在當前目錄和搜索路徑下的文件、函數(shù)才可以被運行和調(diào)用。運行和調(diào)用。l如果沒有特殊指明,數(shù)據(jù)文件也將存放在當前目錄下;如果沒有特殊指明,數(shù)據(jù)文件也將存放在當前目錄下;l用戶可以將自己的工作目錄設(shè)置成當前目錄,從而使用戶可以將自己的工作目錄設(shè)置成當前目錄,從而使得所有操作都在當前目錄中進行。得所有操作都在當前目錄中進
16、行。 2022-5-11Application of Matlab Language16 搜索路徑:搜索路徑:指指Matlab執(zhí)行過程中對變量、函數(shù)和文件執(zhí)行過程中對變量、函數(shù)和文件進行搜索的路徑。進行搜索的路徑。l在在File菜單中選擇菜單中選擇Set Path命令或在命令窗口輸入命令或在命令窗口輸入pathtool命令,出現(xiàn)搜索路徑設(shè)置對話框:命令,出現(xiàn)搜索路徑設(shè)置對話框:!修改完搜索路徑后,!修改完搜索路徑后,需要進行保存。需要進行保存。 2022-5-11Application of Matlab Language17 1.6 獲取在線幫助獲取在線幫助nMATLAB提供的幫助信息有兩類
17、提供的幫助信息有兩類n簡單純文本幫助信息簡單純文本幫助信息 help lookfor(條件比較寬松)(條件比較寬松)例:例:inversen窗口式綜合幫助信息(文字、公式、圖形)窗口式綜合幫助信息(文字、公式、圖形) doc helpwin 2022-5-11Application of Matlab Language18 【功能演示功能演示-1 -1】求方程求方程xxxx53223719130的全部根。的全部根。p = 2,0,-3,71,-9,13;建立多項式系數(shù)向量建立多項式系數(shù)向量x = roots(p);求根求根x = -3.4914 1.6863 + 2.6947i 1.6863
18、- 2.6947i 0.0594 + 0.4251i 0.0594 - 0.4251i 2022-5-11Application of Matlab Language19 【功能演示功能演示-2 -2】求解線性方程組求解線性方程組xyzxyzxyz 2328234453923a = 2,3,-1;8,2,3;45,3,9;建立系數(shù)矩陣建立系數(shù)矩陣ab = 2;4;23;建立列向量建立列向量bx = inv(a)*bx = 0.5531 0.2051 -0.2784 2022-5-11Application of Matlab Language20 符號計算符號計算syms x y z 建立符號
19、變量建立符號變量x,y,z=solve(2*x+3*y-z-2,8*x+2*y+3*z-4,45*x+3*y+9*z-23)x = 151/273 y = 8/39 z = -76/273 2022-5-11Application of Matlab Language21 【功能演示功能演示-3 -3】求解定積分求解定積分 求解求解 I=quad(x.*log(1+x),0,1)ans = 0.250或或syms xint(x*log(1+x),0,1)ans = 1/4ln()xx dx 1012 Matlab數(shù)據(jù)及其運算數(shù)據(jù)及其運算 MatlabMatlab數(shù)據(jù)類型非常豐富,除數(shù)據(jù)類型非常
20、豐富,除數(shù)值型數(shù)值型、字符型字符型等基本數(shù)等基本數(shù)據(jù)類型外,還有據(jù)類型外,還有結(jié)構(gòu)體結(jié)構(gòu)體、單元單元等更為復(fù)雜的數(shù)據(jù)類型。等更為復(fù)雜的數(shù)據(jù)類型。各種數(shù)據(jù)類型都以矩陣形式存在,各種數(shù)據(jù)類型都以矩陣形式存在,矩陣矩陣是是MatlabMatlab最基本的最基本的數(shù)據(jù)對象,并且矩陣的運算是定義在數(shù)據(jù)對象,并且矩陣的運算是定義在復(fù)數(shù)域復(fù)數(shù)域上的。上的。 2022-5-11Application of Matlab Language23 2.1 2.1 數(shù)值表示、變量及表達式數(shù)值表示、變量及表達式n 數(shù)值的記述數(shù)值的記述 MatlabMatlab的數(shù)只采用習(xí)慣的十進制表示,可以的數(shù)只采用習(xí)慣的十進制表示,
21、可以帶小數(shù)點和負號帶小數(shù)點和負號; ;其缺省的數(shù)據(jù)類型為其缺省的數(shù)據(jù)類型為雙精度雙精度浮點型浮點型(doubledouble)。)。 例如:例如:3 -10 0.001 1.3e10 1.256e-63 -10 0.001 1.3e10 1.256e-6n 變量命令規(guī)則變量命令規(guī)則l 變量名、函數(shù)名對字母的大小寫是敏感的。變量名、函數(shù)名對字母的大小寫是敏感的。如如myVarmyVar與與myvarmyvar表示兩個不同的變量。表示兩個不同的變量。l 變量名變量名第一個字母必須是第一個字母必須是英文字母英文字母。l 變量名可以包含變量名可以包含英文字母、下劃線和數(shù)字英文字母、下劃線和數(shù)字。l 變
22、量名變量名不能包含空格、標點不能包含空格、標點。l 變量名最多可包含變量名最多可包含6363個個字符(字符(6.56.5及以后的及以后的版本)。版本)。 2022-5-11Application of Matlab Language24 2.1 2.1 數(shù)值表示、變量及表達式數(shù)值表示、變量及表達式 (續(xù))(續(xù))nMatlabMatlab預(yù)定義的變量預(yù)定義的變量變量名變量名意義意義ans最近的計算結(jié)果的變量名最近的計算結(jié)果的變量名epsMATLAB定義的正的極小值定義的正的極小值=2.2204e-16pi圓周率圓周率inf值,無限大值,無限大i或或j虛數(shù)單元,虛數(shù)單元,sqrt(-1)NaN非數(shù)
23、,非數(shù),0/0、/ 說明說明l每當每當MATLABMATLAB啟動完成,這些變量就被產(chǎn)生。啟動完成,這些變量就被產(chǎn)生。lMATLABMATLAB中,被中,被0 0除不會引起程序中斷,給出報警的同時用除不會引起程序中斷,給出報警的同時用infinf或或NaNNaN給出結(jié)果。給出結(jié)果。l用戶只能臨時覆蓋這些預(yù)定義變量的值,用戶只能臨時覆蓋這些預(yù)定義變量的值,ClearClear或重啟或重啟MATLABMATLAB可恢可恢復(fù)其值。復(fù)其值。 2022-5-11Application of Matlab Language25 2.12.1數(shù)值表示、變量及表達式數(shù)值表示、變量及表達式 (續(xù))(續(xù))n運算符
24、和表達式運算符和表達式運算運算數(shù)學(xué)表達式數(shù)學(xué)表達式MATLAB運算符運算符MATLAB表達式表達式加加a+b+a+b減減a-b-a-b乘乘axb*a*b除除a/b或或ab/或或a/b或或ab冪冪abba說明說明lMatlabMatlab用用“ ”和和”/ /”分別表示分別表示“左除左除”和和“右除右除”。對標量而言,。對標量而言,兩者沒有區(qū)別。對矩陣產(chǎn)生不同影響。兩者沒有區(qū)別。對矩陣產(chǎn)生不同影響。lMATLABMATLAB表達式的書寫規(guī)則與表達式的書寫規(guī)則與“手寫方式手寫方式”幾乎完全相同。幾乎完全相同。l表達式按與常規(guī)相同的優(yōu)先級自左至右執(zhí)行運算。表達式按與常規(guī)相同的優(yōu)先級自左至右執(zhí)行運算。
25、l優(yōu)先級:指數(shù)運算級別最高,乘除次之,加減最低。優(yōu)先級:指數(shù)運算級別最高,乘除次之,加減最低。l括號改變運算的次序。括號改變運算的次序。 2022-5-11Application of Matlab Language26 2.1 2.1 數(shù)值表示、變量及表達式數(shù)值表示、變量及表達式 (續(xù))(續(xù))n復(fù)數(shù)及其運算復(fù)數(shù)及其運算nMATLABMATLAB中復(fù)數(shù)的表達:中復(fù)數(shù)的表達:z=a+bi,其中,其中a a、b b為為實數(shù)。實數(shù)。nMATLABMATLAB把復(fù)數(shù)作為一個整體,象計算實數(shù)一把復(fù)數(shù)作為一個整體,象計算實數(shù)一樣計算復(fù)數(shù)。樣計算復(fù)數(shù)?!纠?-1】復(fù)數(shù)復(fù)數(shù)z1=3+4i,z2=1+2i,
26、z3= 計算計算62ie123z zzzz1=3+4*i, z2=1+2*i, z3=exp(i*pi/6), z=z1*z2/z3z_real=real(z), z_image=imag(z),z_angle=angle(z), z_length=abs(z), 2022-5-11Application of Matlab Language27 2.2 Matlab矩陣矩陣(數(shù)組數(shù)組)的表示的表示n 數(shù)組的概念數(shù)組的概念n 一維數(shù)組變量的創(chuàng)建一維數(shù)組變量的創(chuàng)建n 二維數(shù)組變量的創(chuàng)建二維數(shù)組變量的創(chuàng)建n 數(shù)組元素的標識與尋訪數(shù)組元素的標識與尋訪n 數(shù)組運算數(shù)組運算n 多維數(shù)組多維數(shù)組 2022
27、-5-11Application of Matlab Language28 2.2.1. 數(shù)組數(shù)組(array)的概念的概念n 數(shù)組定義:數(shù)組定義: 按按行行(row)和和列列(column)順序排列的實數(shù)或順序排列的實數(shù)或復(fù)數(shù)的有序集,被稱為復(fù)數(shù)的有序集,被稱為數(shù)組數(shù)組。 數(shù)組中的任何一個數(shù)都被稱為這個數(shù)組的數(shù)組中的任何一個數(shù)都被稱為這個數(shù)組的元素元素,由其所在的行和列標識,這個標識,由其所在的行和列標識,這個標識也稱為數(shù)組元素的也稱為數(shù)組元素的下標或索引下標或索引。Matlab將將標量標量視為視為11的數(shù)組。的數(shù)組。 對對m行、行、n列的列的2維數(shù)組維數(shù)組a:計為計為mn的數(shù)組的數(shù)組a;*
28、行標識、列標識均從行標識、列標識均從1開始;開始;行標識從上到下遞增;行標識從上到下遞增;列標識從左到右遞增。列標識從左到右遞增。12345222232425332333435442434445a(3, 4)=34 row is firsta= 2022-5-11Application of Matlab Language29 n 數(shù)組的分類數(shù)組的分類n 一維數(shù)組一維數(shù)組,也稱為向量,也稱為向量(vector) 。 行向量行向量(row vector)、列向量、列向量(column vector)。n 二維數(shù)組二維數(shù)組(矩陣矩陣matrix)。n 多維數(shù)組多維數(shù)組。有效矩陣有效矩陣:每行元素的
29、個數(shù)必須相同,每:每行元素的個數(shù)必須相同,每列元素的個數(shù)也必須相同。列元素的個數(shù)也必須相同。2.2.1. 數(shù)組數(shù)組(array)的概念的概念 2022-5-11Application of Matlab Language30 2.2.1、數(shù)組、數(shù)組(array)的概念的概念 (續(xù))(續(xù))行向量行向量列向量列向量a(2,1)=3a(1,2)=2b(3)=3c(2)=2 2022-5-11Application of Matlab Language31 2.2.2、創(chuàng)建一維數(shù)組變量、創(chuàng)建一維數(shù)組變量n 第一種方法:使用方括號第一種方法:使用方括號“ ”操作符操作符【例例2-2】創(chuàng)建數(shù)組創(chuàng)建數(shù)組(行
30、向量行向量)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);之內(nèi);向量元素間用向量元素間用空格空格或英文的或英文的逗點逗點“,”分開。分開。n 第二種方法:使用冒號第二種方法:使用冒號“:”操作符操作符【例例2-3】創(chuàng)建以創(chuàng)建以110順序排列整數(shù)為元素的順序排列整數(shù)為元素的行向量行向量b。b=1:10b=1 2 3 4 5 6 7 8 9 10 2022-5-11Application of Mat
31、lab Language32 2.2.2、創(chuàng)建一維數(shù)組變量、創(chuàng)建一維數(shù)組變量(續(xù))(續(xù))【例例2-4】鍵入并執(zhí)行鍵入并執(zhí)行c=1:2:10和和d=1:2:9 c=1:2:10c=1 3 5 7 9d=1:2:9d= 1 3 5 7 9利用冒號利用冒號“:”操作符創(chuàng)建行向量的基本語法格操作符創(chuàng)建行向量的基本語法格式:式:x=Start:Increment:EndnStart表示新向量表示新向量x的第一個元素;的第一個元素;n新向量新向量x的最后一個元素不能大于的最后一個元素不能大于End ;nIncrement可正可負,若負,則必須可正可負,若負,則必須StartEnd;若正,則必須若正,則必須
32、Starta=1 2 3; b=2 3 4; c=a;b;c1=a b;n第二種方法:函數(shù)方法第二種方法:函數(shù)方法函數(shù)函數(shù)ones(生成全生成全1矩陣矩陣)、zeros (生成全生成全0矩陣矩陣) 、reshapeF“help elmat”獲得基本的矩陣生成和操作函數(shù)列表獲得基本的矩陣生成和操作函數(shù)列表【例例2-11】創(chuàng)建全創(chuàng)建全1的的3x3數(shù)組。數(shù)組。ones(3)【例例2-12】創(chuàng)建全創(chuàng)建全1的的3x4數(shù)組。數(shù)組。ones(3,4) 2022-5-11Application of Matlab Language39 2.2.3、創(chuàng)建二維數(shù)組變量、創(chuàng)建二維數(shù)組變量(續(xù))(續(xù))【例例2-11】
33、 reshape的使用演示的使用演示a=-4:4a= -4 -3 -2 -1 0 1 2 3 4b=reshape(a, 3, 3)b=-4 -1 2-3 0 3-2 1 4F 數(shù)組元素的排列順序,數(shù)組元素的排列順序,從上到下按列排列從上到下按列排列,先排第一列,然后第二列,先排第一列,然后第二列,F(xiàn) 要求數(shù)組的要求數(shù)組的元素總數(shù)不變元素總數(shù)不變。 2022-5-11Application of Matlab Language40 2.2.42.2.4、數(shù)組元素的標識與尋訪、數(shù)組元素的標識與尋訪n 數(shù)組元素的標識數(shù)組元素的標識n “全下標(全下標(index)”標識標識經(jīng)典數(shù)學(xué)教科書采用經(jīng)典數(shù)
34、學(xué)教科書采用“全下標全下標”標識法:標識法:每一維每一維對應(yīng)一個下標。對應(yīng)一個下標。 如對于二維數(shù)組,用如對于二維數(shù)組,用“行下標和列下標行下標和列下標”標識數(shù)組標識數(shù)組的元素,的元素,a(2,3)就表示二維數(shù)組就表示二維數(shù)組a的的“第第2行第行第3列列”的的元素。元素。 對于一維數(shù)組,用一個下標即可,對于一維數(shù)組,用一個下標即可,b(2)表示一維數(shù)組表示一維數(shù)組b的第的第2個元素,無論個元素,無論b是行向量還是列向量。是行向量還是列向量。n “單下標單下標”(linear index)標識)標識所謂所謂“單下標單下標”標識就是用一個下標來表明元素標識就是用一個下標來表明元素在數(shù)組的位置。在數(shù)
35、組的位置。 對于二維數(shù)組,對于二維數(shù)組, “單下標單下標”編號:設(shè)想把二維數(shù)組編號:設(shè)想把二維數(shù)組的所有的所有列列,按先后順序首尾相接排成,按先后順序首尾相接排成“一維長列一維長列”,然后自上往下對元素位置執(zhí)行編號。然后自上往下對元素位置執(zhí)行編號。n 兩種兩種“下標下標”標識的變換標識的變換:sub2ind、ind2sub 2022-5-11Application of Matlab Language41 2.2.4、數(shù)組元素的標識與尋訪、數(shù)組元素的標識與尋訪 (續(xù))(續(xù))【例例2-12】單下標的使用單下標的使用a=zeros(2, 5);a(:)=-4:5a = -4 -2 0 2 4 -3
36、 -1 1 3 5% 注意數(shù)組的排列順序。注意數(shù)組的排列順序。 2022-5-11Application of Matlab Language42 2.2.42.2.4、數(shù)組元素的標識與尋訪、數(shù)組元素的標識與尋訪 (續(xù))(續(xù))n 元素與子數(shù)組的尋訪與賦值元素與子數(shù)組的尋訪與賦值【例例2-13】一維數(shù)組元素與子數(shù)組的尋訪與賦一維數(shù)組元素與子數(shù)組的尋訪與賦值值a=linspace(1,10,5)a = 1.0000 3.2500 5.5000 7.7500 10.0000a(3) %尋訪尋訪a的第的第3個元素個元素ans = 5.5000a(1 2 5) %尋訪尋訪a的第的第1、2、5個元素組成的
37、子個元素組成的子數(shù)組數(shù)組ans = 1.0000 3.2500 10.0000 2022-5-11Application of Matlab Language43 2.2.4、數(shù)組元素的標識與尋訪、數(shù)組元素的標識與尋訪 (續(xù))(續(xù))a(1:3) %尋訪前尋訪前3個元素組成的子數(shù)組個元素組成的子數(shù)組ans = 1.0000 3.2500 5.5000a(3:-1:1) %由前由前3個元素倒序構(gòu)成的子數(shù)組個元素倒序構(gòu)成的子數(shù)組ans = 5.5000 3.2500 1.0000a(3:end)ans = 5.5000 7.7500 10.0000a(3:end-1)ans = 5.5000 7.7
38、500% %第第3個及其后所有元素構(gòu)成的子數(shù)組個及其后所有元素構(gòu)成的子數(shù)組% 函數(shù)函數(shù)end作為參數(shù)使用,返回最后一個元素的下標作為參數(shù)使用,返回最后一個元素的下標 2022-5-11Application of Matlab Language44 a(1 2 3 5 5 3 2 1) ans = 1.0000 3.2500 5.5000 10.0000 10.0000 5.5000 3.2500 1.0000% 數(shù)組元素可以被任意重復(fù)訪問,構(gòu)成長度大于數(shù)組元素可以被任意重復(fù)訪問,構(gòu)成長度大于原數(shù)組的新數(shù)組。原數(shù)組的新數(shù)組。a(6)? Index exceeds matrix dimensio
39、ns.M 下標值超出了數(shù)組的維數(shù),導(dǎo)致錯誤下標值超出了數(shù)組的維數(shù),導(dǎo)致錯誤a(2.1)? Subscript indices must either be real positive integers or logicals.M 下標值只能取正整數(shù)或邏輯值下標值只能取正整數(shù)或邏輯值2.2.4、數(shù)組元素的標識與尋訪、數(shù)組元素的標識與尋訪 (續(xù))(續(xù)) 2022-5-11Application of Matlab Language45 2.2.42.2.4、數(shù)組元素的標識與尋訪、數(shù)組元素的標識與尋訪 (續(xù))(續(xù))a(3)=0 %修改數(shù)組修改數(shù)組a的第的第3元素值為元素值為0a = 1.0000 3
40、.2500 0 7.7500 10.0000a(2 5)=1 1a = 1.0000 1.0000 0 7.7500 1.0000 可以修改指定數(shù)組元素的值可以修改指定數(shù)組元素的值 一次可以修改多個數(shù)組元素的值一次可以修改多個數(shù)組元素的值 要修改的數(shù)組元素的個數(shù)應(yīng)與送入數(shù)組的要修改的數(shù)組元素的個數(shù)應(yīng)與送入數(shù)組的元素個數(shù)相同元素個數(shù)相同 2022-5-11Application of Matlab Language46 2.2.4、數(shù)組元素的標識與尋訪、數(shù)組元素的標識與尋訪 (續(xù))(續(xù))【例例2-14】二維數(shù)組元素與子數(shù)組的尋訪與賦二維數(shù)組元素與子數(shù)組的尋訪與賦值值a_2=zeros(2, 4)
41、 %創(chuàng)建創(chuàng)建2x4的全的全0數(shù)組數(shù)組a_2 = 0 0 0 0 0 0 0 0a_2(:)=1:8a_2 = 1 3 5 7 2 4 6 8 a_2(2 5 8) %單下標方式尋訪多個元素單下標方式尋訪多個元素ans = 2 5 8%注意元素的排列順序注意元素的排列順序 2022-5-11Application of Matlab Language47 2.2.4、數(shù)組元素的標識與尋訪、數(shù)組元素的標識與尋訪 (續(xù))(續(xù)) a_2(2 5 8) =10 20 30a_2 = 1 3 20 7 10 4 6 30a_2(:,2 3)=ones(2) %雙下標方式尋訪并修改雙下標方式尋訪并修改a_2
42、 = 1 1 1 7 10 1 1 30%二維數(shù)組可以二維數(shù)組可以“單下標單下標”方式或方式或“全下標全下標”方式方式訪問、賦值;訪問、賦值;%“單下標單下標”方式賦值時,方式賦值時,等號兩邊涉及的元素個等號兩邊涉及的元素個數(shù)必須相等;數(shù)必須相等;%“全下標全下標”方式賦值時,方式賦值時,等號右邊數(shù)組的大小必等號右邊數(shù)組的大小必須等于原數(shù)組中涉及元素構(gòu)成的子數(shù)組的大小。須等于原數(shù)組中涉及元素構(gòu)成的子數(shù)組的大小。 2022-5-11Application of Matlab Language48 2.2.4、數(shù)組元素的標識與尋訪、數(shù)組元素的標識與尋訪 (續(xù))(續(xù))a_2(:,end)ans =
43、7 30a_2(:,end-1)ans = 1 1a_2(:, end:-1:3)ans = 7 1 30 1a_2(end,:)ans = 10 1 1 30a_2(end,2:4)ans = 1 1 30a_2 (4 6)=6:7a_2 = 1 1 1 7 10 6 7 30a_2(end,2:end-1) What is the result? 2022-5-11Application of Matlab Language49 2.2.4、數(shù)組元素的標識與尋訪、數(shù)組元素的標識與尋訪 (續(xù))(續(xù))【例例2-15】 size、length函數(shù)函數(shù)a=ones(4,6)*6m=size(a)l
44、en=length(a)b=1:5;length(b)c=blength(c) size函數(shù)返回變量的大小,即函數(shù)返回變量的大小,即變量數(shù)組的行列數(shù)變量數(shù)組的行列數(shù) length函數(shù)返回變量數(shù)組的最函數(shù)返回變量數(shù)組的最大維數(shù)大維數(shù) 2022-5-11Application of Matlab Language50 2.2.4、數(shù)組元素的標識與尋訪、數(shù)組元素的標識與尋訪 (續(xù))(續(xù))n 雙下標到單下標的轉(zhuǎn)換雙下標到單下標的轉(zhuǎn)換【例例2-16】 sub2ind函數(shù)函數(shù)-雙下標轉(zhuǎn)換為單下標雙下標轉(zhuǎn)換為單下標A = 17 24 1 8; 2 22 7 14; 4 6 13 20;A(:,:,2) =
45、A - 10A(2,1,2)sub2ind(size(A),2,1,2)A(14) 2022-5-11Application of Matlab Language51 2.2.4、數(shù)組元素的標識與尋訪、數(shù)組元素的標識與尋訪 (續(xù))(續(xù))n 單下標到雙下標的轉(zhuǎn)換單下標到雙下標的轉(zhuǎn)換【例例2-17】 ind2sub函數(shù)函數(shù)-雙下標轉(zhuǎn)換為單下標雙下標轉(zhuǎn)換為單下標b = zeros(3);b(:) = 1:9IND = 3 4 5 6I,J = ind2sub(size(b),IND) 2022-5-11Application of Matlab Language52 2.2.5、多多維數(shù)組維數(shù)組n
46、多維數(shù)組的定義多維數(shù)組的定義 在在 MATLAB 的的數(shù)據(jù)類型數(shù)據(jù)類型中,向量中,向量可視為一可視為一維數(shù)組,維數(shù)組, 矩陣可視為矩陣可視為二二維數(shù)組維數(shù)組,對于維數(shù)對于維數(shù)(Dimensions)超過超過2 的的數(shù)組均可視為數(shù)組均可視為多維數(shù)組多維數(shù)組(Multidimesional Arrays,簡稱簡稱N-D Arrays)。 2022-5-11Application of Matlab Language53 2.2.5、多多維數(shù)組維數(shù)組 (續(xù))(續(xù))n 將兩個二維(平面)數(shù)組疊將兩個二維(平面)數(shù)組疊在一起,在一起,就就構(gòu)成三維數(shù)組構(gòu)成三維數(shù)組,第三第三維稱為維稱為頁頁(Page),如
47、下,如下圖所示圖所示: (3,4) (3,1) (3,2) (3,3)(2,4)(2,3)(2,2)(2,1)(1,4)(1,3)(1,2)(1,1)(1,1)(1,2)(1,3)(1,4)(2,1)(2,2)(2,3)(2,4)(3,1)(3,2)(3,3)(3,4)頁列頁行 2022-5-11Application of Matlab Language54 2.2.5、多多維數(shù)組維數(shù)組 (續(xù))(續(xù))n 三維數(shù)組三維數(shù)組,可,可對應(yīng)對應(yīng)至一至一個個 X - Y - Z 三三維立體坐標維立體坐標,如下,如下圖所示圖所示: Z(Z(頁頁) )Y(Y(列列) )X(X(行行) ) 2022-5-1
48、1Application of Matlab Language55 2.2.52.2.5、多多維數(shù)組維數(shù)組 (續(xù))(續(xù))n三維數(shù)組元素的尋址:三維數(shù)組元素的尋址:可以可以(行、列、頁行、列、頁)來來確定確定。n以以維數(shù)為維數(shù)為 342 的的三維數(shù)組為例三維數(shù)組為例,其,其尋址尋址方式如下方式如下圖所示圖所示: n數(shù)組數(shù)組 A 是是三維數(shù)組三維數(shù)組,其中,其中 A(:,:,1)代表第一代表第一頁頁的的二維數(shù)組二維數(shù)組,A(:,:,2)代表第代表第二頁二頁的的二維二維數(shù)組數(shù)組。 2022-5-11Application of Matlab Language56 2.2.5、多多維數(shù)組維數(shù)組 (續(xù))
49、(續(xù))n多維數(shù)組多維數(shù)組的建立的建立n建立一建立一個簡單個簡單的的多維數(shù)組多維數(shù)組,可,可直直接由接由 MATLAB 命令視窗內(nèi)輸入(使用命令視窗內(nèi)輸入(使用“ ”操作操作符)符)n例例:由兩個相同大小二維數(shù)組創(chuàng)建三維數(shù)組由兩個相同大小二維數(shù)組創(chuàng)建三維數(shù)組A(:, :, 1) = 1 0 2 5; 4 1 8 7; 3 2 6 3;A(:, :, 2) = 3 5 4 1; 2 6 2 1; 4 2 3 0 A(:,:,1) = 1 0 2 5 4 1 8 7 3 2 6 3A(:,:,2) = 3 5 4 1 2 6 2 1 4 2 3 0 2022-5-11Application of M
50、atlab Language57 2.2.5、多多維數(shù)組維數(shù)組 (續(xù))(續(xù))執(zhí)行命令:執(zhí)行命令:whos A,得到如下結(jié)果:,得到如下結(jié)果: Name Size Bytes Class A 3x4x2 192 double arrayGrand total is 24 elements using 192 bytes 2022-5-11Application of Matlab Language58 2.2.6、數(shù)組的算術(shù)運算、數(shù)組的算術(shù)運算n MATLAB數(shù)組支持線性代數(shù)中所有的矩陣數(shù)組支持線性代數(shù)中所有的矩陣運算。運算。n 建立特有的數(shù)組運算符,如:建立特有的數(shù)組運算符,如:“.*”、“.
51、/”等。等。 MATLAB數(shù)組運算符列表數(shù)組運算符列表運算運算 運算符運算符含義說含義說明明加加 + 相應(yīng)元素相加相應(yīng)元素相加 減減 -相應(yīng)元素相減相應(yīng)元素相減 乘乘 *矩陣乘法矩陣乘法點乘點乘 .* 相應(yīng)元素相乘相應(yīng)元素相乘冪冪 矩陣冪運算矩陣冪運算點冪點冪 .相應(yīng)元素進行相應(yīng)元素進行冪運算冪運算左除或右除左除或右除或或/矩陣左除或右矩陣左除或右除除 左點除或右點除左點除或右點除 .或或./A的元素被的元素被B的的對應(yīng)元素除對應(yīng)元素除 2022-5-11Application of Matlab Language59 2.2.6、算術(shù)運算、算術(shù)運算 (續(xù))(續(xù)) 【例例2-18】數(shù)組加減法數(shù)
52、組加減法a=zeros(2, 3);a(:)=1:6;b=a+2.5b = 3.5000 5.5000 7.5000 4.5000 6.5000 8.5000c=b-ac = 2.5000 2.5000 2.5000 2.5000 2.5000 2.5000 2022-5-11Application of Matlab Language60 2.2.6、算術(shù)運算、算術(shù)運算 (續(xù))(續(xù))【例例2-19】畫出畫出y=1/(x+1)的函數(shù)曲線,的函數(shù)曲線,x0, 100。x=0:100;y=1./(x+1);plot(x, y);legend(y=1/(x+1); 2022-5-11Applicat
53、ion of Matlab Language61 2.2.6、算術(shù)運算、算術(shù)運算 (續(xù))(續(xù))【例例2-20】生成一個信號:生成一個信號:x=sin(2*pi*t)+sin(4*pi*t)t = 0:199./100; %采樣時間點采樣時間點% 生成信號生成信號x = sin(2*pi*t) + sin(4*pi*t);plot(t,x);legend(x = sin(2*pi*t) + sin(4*pi*t); 2022-5-11Application of Matlab Language62 2.2.6、算術(shù)運算、算術(shù)運算 (續(xù))(續(xù)) 2022-5-11Application of Ma
54、tlab Language63 2.2.6、算術(shù)運算、算術(shù)運算 (續(xù))(續(xù))【例例2-21】點冪點冪“.”舉例舉例a=1:6a = 1 2 3 4 5 6b=reshape(a,2,3)b = 1 3 5 2 4 6a=a.2a = 1 4 9 16 25 36b=b.2b = 1 9 25 4 16 36 2022-5-11Application of Matlab Language64 2.2.7、關(guān)系運算、關(guān)系運算 Matlab提供了提供了6種關(guān)系運算符:種關(guān)系運算符:、=、=、=(不等于)(不等于)關(guān)系運算符的運算法則:關(guān)系運算符的運算法則:1、當兩個標量進行比較時,直接比較兩數(shù)大小。
55、若關(guān)系成立,、當兩個標量進行比較時,直接比較兩數(shù)大小。若關(guān)系成立, 結(jié)果為結(jié)果為1,否則為,否則為0。2、當兩個維數(shù)相等的矩陣進行比較時,其相應(yīng)位置的元素按、當兩個維數(shù)相等的矩陣進行比較時,其相應(yīng)位置的元素按 標量關(guān)系進行比較,并給出結(jié)果,形成一個維數(shù)與原來相同標量關(guān)系進行比較,并給出結(jié)果,形成一個維數(shù)與原來相同 的的0、1矩陣。矩陣。3、當一個標量與一個矩陣比較時,該標量與矩陣的各元素進行、當一個標量與一個矩陣比較時,該標量與矩陣的各元素進行 比較,結(jié)果形成一個與矩陣維數(shù)相等的比較,結(jié)果形成一個與矩陣維數(shù)相等的0、1矩陣。矩陣。 2022-5-11Application of Matlab
56、Language65 2.2.7、關(guān)系運算、關(guān)系運算 (續(xù))(續(xù))【例例2-22】建立建立5階方陣階方陣A,判斷其元素能否被,判斷其元素能否被3整整除。除。A = 24, 35, 13, 22, 63; 23, 39, 47, 80, 80; . 90, 41, 80, 29, 10; 45, 57, 85, 62, 21; 37, 19, 31, 88, 76A =24 35 13 22 6323 39 47 80 8090 41 80 29 1045 57 85 62 2137 19 31 88 76P = rem(A,3)=0 %被被3除,求余除,求余P = 1 0 0 0 1 0 1
57、0 0 0 1 0 0 0 0 1 1 0 0 1 0 0 0 0 0 2022-5-11Application of Matlab Language66 2.2.8、邏輯運算、邏輯運算 Matlab提供了提供了3種邏輯運算符:種邏輯運算符:&(與)、(與)、|(或)、(或)、(非)(非)邏輯運算符的運算法則:邏輯運算符的運算法則:1、在邏輯運算中,確認非零元素為真(、在邏輯運算中,確認非零元素為真(1),零元素為假(),零元素為假(0)。)。 2、當兩個維數(shù)相等的矩陣進行比較時,其相應(yīng)位置的元素按、當兩個維數(shù)相等的矩陣進行比較時,其相應(yīng)位置的元素按 標量關(guān)系進行比較,并給出結(jié)果,形成一個維數(shù)
58、與原來相同標量關(guān)系進行比較,并給出結(jié)果,形成一個維數(shù)與原來相同 的的0、1矩陣;矩陣;3、當一個標量與一個矩陣比較時,該標量與矩陣的各元素進行、當一個標量與一個矩陣比較時,該標量與矩陣的各元素進行 比較,結(jié)果形成一個與矩陣維數(shù)相等的比較,結(jié)果形成一個與矩陣維數(shù)相等的0、1矩陣;矩陣;4、算術(shù)運算優(yōu)先級最高,邏輯運算優(yōu)先級最低。、算術(shù)運算優(yōu)先級最高,邏輯運算優(yōu)先級最低。 2022-5-11Application of Matlab Language67 【例例2-23】在在0,3 區(qū)間,求區(qū)間,求 的值。要求的值。要求 消去負半波,即消去負半波,即(,2)區(qū)間內(nèi)的函數(shù)值置零。區(qū)間內(nèi)的函數(shù)值置零。
59、sinyx x = 0:pi/100:3*pi;y = sin(x);y1 = (y=0).*y; %消去負半波消去負半波 2022-5-11Application of Matlab Language68 【例例2-24】建立矩陣建立矩陣A,找出在,找出在10,20區(qū)間的元素的位置。區(qū)間的元素的位置。 A = 4,15,-45,10,6;56,0,17,-45,0;find(A=10 & Ax=-43,72,9,16,23,47;y=max(x) %求向量求向量x中的最大值中的最大值y = 72y,l=max(x) %求向量求向量x中的最大值及其該元素的位置中的最大值及其該元素的位置y =
60、72l = 2 2022-5-11Application of Matlab Language71 2.2.9. 數(shù)據(jù)分析與統(tǒng)計數(shù)據(jù)分析與統(tǒng)計2. 求矩陣的最大值和最小值求矩陣的最大值和最小值求矩陣求矩陣A的最大值的函數(shù)有的最大值的函數(shù)有3種調(diào)用格式,分別是:種調(diào)用格式,分別是:(1) max(A):返回一個行向量,向量的第返回一個行向量,向量的第i個元素個元素是矩陣是矩陣A的第的第i列上的最大值;列上的最大值;(2) Y,U=max(A):返回行向量返回行向量Y和和U,Y向量記向量記錄錄A的每列的最大值,的每列的最大值,U向量記錄每列最大值向量記錄每列最大值的行號;的行號;(3) max(A
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度城市更新項目門面房買賣及改造合同4篇
- 2025年度私人二手房購房定金合同及房屋裝修材料品牌及質(zhì)量承諾
- 2025年個人二手車輛買賣稅費代繳服務(wù)合同2篇
- 二零二五年度農(nóng)場農(nóng)業(yè)生態(tài)修復(fù)及保護合同3篇
- 2025年度土地入股文化產(chǎn)業(yè)合作經(jīng)營合同范本
- 2025年度環(huán)保型木工材料采購與勞務(wù)分包合同書4篇
- 2025年度農(nóng)民工住宿及飲食服務(wù)合同
- 2025版木工材料供應(yīng)鏈采購與配送合同4篇
- 二零二五年度辦公樓智能化裝修與系統(tǒng)集成合同2篇
- 二零二五年度土地租賃權(quán)居間服務(wù)合同樣本
- 高中物理斜面模型大全(80個)
- 2025年高考物理復(fù)習(xí)壓軸題:電磁感應(yīng)綜合問題(解析版)
- 012主要研究者(PI)職責(zé)藥物臨床試驗機構(gòu)GCP SOP
- 2024年個人車位租賃合同經(jīng)典版(二篇)
- 農(nóng)耕研學(xué)活動方案種小麥
- 2024年佛山市勞動合同條例
- 污水管網(wǎng)規(guī)劃建設(shè)方案
- 城鎮(zhèn)智慧排水系統(tǒng)技術(shù)標準
- 采購管理制度及流程采購管理制度及流程
- 五年級美術(shù)下冊第9課《寫意蔬果》-優(yōu)秀課件4人教版
- 節(jié)能降耗課件
評論
0/150
提交評論