付費下載
下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領
文檔簡介
1、1,本章學習內(nèi)容,變量和數(shù)據(jù)操作 矩陣的建立、拆分及特殊矩陣 算術運算、關系運算、邏輯運算 矩陣分析 字符串 結(jié)構(gòu)數(shù)據(jù)和單元數(shù)據(jù) 稀疏矩陣,2,本章學習目標,掌握變量的使用和管理方法,了解數(shù)據(jù)類型 掌握矩陣的建立和拆分,了解常用特殊矩陣 掌握算術運算、關系運算、邏輯運算 掌握常用的矩陣分析操作 掌握matlab中字符串的使用方法 了解結(jié)構(gòu)數(shù)據(jù)和單元數(shù)據(jù) 了解稀疏矩陣及用法,3,變量與賦值 預定義變量 內(nèi)存變量的管理 MATLAB常用數(shù)學函數(shù) 數(shù)據(jù)的輸出格式,1. 變量和數(shù)據(jù)操作,next part,go,go,go,go,go,4,變量與賦值,return,(1) 實例 (2) MATLAB中
2、的變量 (3) 賦值的兩種格式,view,view,view,5,(1) 實例,return,例2-1 表達式求值。(P15),x = 1+2i; y = 3-sqrt(17); z = (cos(abs(x+y)-sin(78*pi/180)/(x+abs(y),6,(2) MATLAB中的變量,return, MABLAB中標識符(變量名、函數(shù)名)的命名規(guī)則: 幾點說明:,(a) 字母、數(shù)字、下劃線組成,以字母開頭 (b) 區(qū)分大小寫,(a) 變量包括: 用戶自定義變量和系統(tǒng)預定義變量 (b) MATLAB中變量直接使用。不需要預先說明,也不需要指定類型。系統(tǒng)根據(jù)其值和操作自動確定。 (c
3、) 系統(tǒng)提供的標準函數(shù)名及命令名必須使用小寫字母!,7,(3) 賦值的兩種格式,return, 變量 = 表達式 表達式 (此時,系統(tǒng)使用預定義變量ans保存中間結(jié)果),8,預定義變量,return,表2-1 常用的預定義變量 (P15),(使用注意事項見教材P15),9,內(nèi)存變量的管理,return,(1) 通過workspace窗口查看、修改、導出、導入 (2) 常用命令: clear, who, whos, save, load,(操作演示),10,MATLAB常用數(shù)學函數(shù) (詳見P17-19),return,實例1: 求余,實例2: 取整,11,數(shù)據(jù)的輸出格式,return,(1) 默
4、認情況下,MATLAB用十進制數(shù)表示一個常數(shù)。具體可采用日常記數(shù)法和科學記數(shù)法兩種表示方法。 (2) 在一般情況下,MATLAB內(nèi)部每一個數(shù)據(jù)元素都是用雙精度數(shù)來表示和存儲的。 (3) 可以用format命令設置數(shù)據(jù)輸出格式。 format 格式符 (格式符詳見教材P19),(操作演示),12,矩陣的建立 矩陣的拆分 特殊矩陣,2. MATLAB矩陣,next part,go,go,go,13,return,矩陣的建立,(1) 在命令窗口直接輸入建立 (2) 利用冒號表達式建立向量 (3) 通過矩陣拼接建立更大的矩陣,example,example,example,(1) 在命令窗口直接輸入建
5、立,return, a = 1, 2, 3; 4, 5, 6 a = 1 2 3 4 5 6, a = 1 2 3; 4 5 6 a = 1 2 3 4 5 6, a=1,2,3;. 4,5,6 a = 1 2 3 4 5 6,寫法1:,寫法2:,寫法3:,(2) 利用冒號表達式建立向量,return, a=1:5 a = 1 2 3 4 5, a=1:2:10 a = 1 3 5 7 9, b=1:2:10;2:2:10 b = 1 3 5 7 9 2 4 6 8 10,(3) 通過矩陣拼接建立更大的矩陣,return, a1=1 2;3 4 a1 = 1 2 3 4 a = a1,a1;a
6、1,a1 a = 1 2 1 2 3 4 3 4 1 2 1 2 3 4 3 4,17,return,矩陣的拆分,(1) 矩陣元素的引用 (2) 利用冒號表達式獲得子矩陣 (3) 利用空矩陣刪除矩陣的元素 (4) 改變矩陣形狀,example,example,example,example, a=1:3;4:6 a = 1 2 3 4 5 6,next,(1) 矩陣元素的引用,注: MATLAB中,矩陣元素按列存儲!,return, a = 1:3;4:6 a = 1 2 3 4 5 6 i,j = ind2sub(size(a),3) i = 1 j = 2 x = sub2ind(size
7、(a),1,2) x = 3,說明: 函數(shù)ind2sub()和sub2ind()可實現(xiàn)矩陣元素索引和下標的轉(zhuǎn)換!,return,(2) 利用冒號表達式獲得子矩陣,a = 1 2 1 2 3 4 3 4 1 2 1 2 3 4 3 4, c=a(:,1) c = 1 3 1 3, d = a(1:3,2:3) d = 2 1 4 3 2 1, b=a(1,:) b = 1 2 1 2,return,(3) 利用空矩陣刪除矩陣的元素, a(:,4)= a = 1 2 1 3 4 3 1 2 1 3 4 3,a = 1 2 1 2 3 4 3 4 1 2 1 2 3 4 3 4,return,(4)
8、 改變矩陣形狀, a=1:4 a = 1 2 3 4 reshape(a,2,2) ans = 1 3 2 4,注意: MATLAB中,矩陣元素按列存儲! reshape()只改變邏輯結(jié)構(gòu),不改變存儲結(jié)構(gòu)!,23,return,特殊矩陣,(1) 通用的特殊矩陣 (2) 用于專門學科的特殊矩陣 (3) 特殊矩陣的應用舉例,view,view,view,(1) 通用的特殊矩陣,return, zeros()生成零矩陣 (元素全為0) ones()生成幺矩陣 (元素全為1) eye()生成單位矩陣 (主對角線全為1) rand()生成隨機矩陣 (元素在01間均勻分布) randn()生成隨機矩陣 (
9、元素值呈標準正太分布, 均值為0,方差為1),用法: 實例演示,return, rand() ans = 0.8029 rand(2) ans = 0.9154 0.0738 0.6779 0.8543 rand(2,3) ans = 0.7162 0.1391 0.7726 0.8644 0.6068 0.2315 A = 1 3 5 ; rand(size(A) ans = 0.9450 0.6888 0.7435,(2) 用于專門學科的特殊矩陣,return, magic()生成魔方矩陣 vander()生成范德蒙矩陣 hilb(), invhilb()生成希爾伯特矩陣及其逆矩陣 toe
10、plitz()生成托普利茲矩陣 compan()生成伴隨矩陣 pascal()生成帕斯卡矩陣,用法: 實例演示, pascal(6) ans = 1 1 1 1 1 1 1 2 3 4 5 6 1 3 6 10 15 21 1 4 10 20 35 56 1 5 15 35 70 126 1 6 21 56 126 252,return,return,(3) 特殊矩陣應用舉例 (教材P26-27),(1) 例2-4 建立隨機矩陣: 在區(qū)間20,50內(nèi)均勻分布的5階隨機矩陣。 均值為0.6、方差為0.1的5階正態(tài)分布隨機矩陣。 (2) 例2-5 將101125等25個數(shù)填入一個5行5列的表格中,
11、使其每行每 列及對角線的和均為565。 (3) 補充實例: 用matlab編程實現(xiàn)楊輝三角形,M=100+magic(5),view,1 11 121 1331 14641,1 11 121 1331 14641,return,30,3. MATLAB運算,算術運算 關系運算 邏輯運算 關系運算與邏輯運算函數(shù),next part,go,go,go,應用實例1,go,應用實例2,31,算術運算,return,(1) 基本算術運算: + - * / (2) 點運算: .* ./ . .,example,注意: 對運算分量的要求 (如: 矩陣的維數(shù)、奇異性、方陣與否) 運算規(guī)則 (如: 點運算是矩陣
12、的對應元素進行運算), x=1 2 3;4 5 6 x = 1 2 3 4 5 6 y=1 2;3 4;5 6 y = 1 2 3 4 5 6 z=x*y z = 22 28 49 64,next, a=1 2 3;4 2 6;7 4 9 a = 1 2 3 4 2 6 7 4 9 b=4 3 2;7 5 1;12 7 92 b = 4 3 2 7 5 1 12 7 92 c1 = ab c1 = 0.5000 -0.5000 44.5000 1.0000 0.0000 46.0000 0.5000 1.1667 -44.8333 c2 = b/a c2 = -0.1667 -3.3333 2
13、.5000 -0.8333 -7.6667 5.5000 12.8333 63.6667 -36.5000, 43 ans = 0.7500 3/4 ans = 0.7500,next,對于矩陣,一般AB與B/A 結(jié)果不同!, x=1 4 9;1 4 1;9 4 1 x = 1 4 9 1 4 1 9 4 1 y = x0.5 y = 1.5560 + 1.4142i 0.7950 - 0.0000i 1.5560 - 1.4142i 0.1988 - 0.0000i 1.9194 + 0.0000i 0.1988 + 0.0000i 1.5560 - 1.4142i 0.7950 + 0.0
14、000i 1.5560 + 1.4142i z = x.0.5 z = 1 2 3 1 2 1 3 2 1,return,35,關系運算,return, = = =, x = 1 3 4; x=3 ans= 0 1 1 x=1 ans= 1 0 0, x = 1 3 4; y = 2 1 5; x=y ans= 0 1 0,36,邏輯運算,return, y = 0 2 1; x % 未選修學號 for i=1:5 no(i)=unidrnd(65); while any( no(i) = notselected ) no(i) = unidrnd(65); end end,return,從學
15、號165中任意抽取5個,不能是未選修的學號,40,對角陣與三角陣 矩陣的轉(zhuǎn)置與旋轉(zhuǎn) 矩陣的逆與偽逆 方陣的行列式 矩陣的秩與跡 向量和矩陣的范數(shù) 矩陣的條件數(shù) 矩陣的特征值與特征向量,4. 矩陣分析,next part,go,go,41,對角陣與三角陣,return,(1) 對角陣 (2) 三角陣,view,view,應用實例: 楊輝三角形,42,(1) 對角陣,return,只有對角線上有非0元素的矩陣。 對角線上全為1的對角陣稱為單位矩陣。, 提取矩陣的對角線元素 diag(A,k) 構(gòu)造對角矩陣 diag(V,k),example,example,return, A = magic(3)
16、 A = 8 1 6 3 5 7 4 9 2, k0 = diag(A) k0 = 8 5 2, k1 = diag(A,1) k1 = 1 7, k2 = diag(A,-1) k2 = 3 9,return, A = diag(1 2 1) A = 1 0 0 0 2 0 0 0 1 B = diag(1:3,-1) B = 0 0 0 0 1 0 0 0 0 2 0 0 0 0 3 0,45,(2) 三角陣,return, 上三角矩陣: 矩陣對角線以下的元素全為0 下三角矩陣: 矩陣對角線以上的元素全為0, 提取上三角矩陣 triu(A,k) 提取下三角矩陣 tril(A,k),exam
17、ple,return, A = magic(3) A = 8 1 6 3 5 7 4 9 2, B = triu(A) B = 8 1 6 0 5 7 0 0 2, B = triu(A,1) B = 0 1 6 0 0 7 0 0 0,return,1 11 121 1331 14641,楊輝三角形,48,矩陣的轉(zhuǎn)置與旋轉(zhuǎn),return,(1) 轉(zhuǎn)置 (2) 以90為單位逆時針旋轉(zhuǎn) (3) 左右翻轉(zhuǎn) (4) 上下翻轉(zhuǎn),example,應用實例: 圖片旋轉(zhuǎn),return, Y4 = flipud(X) Y4 = 4 9 2 3 5 7 8 1 6, X = magic(3) X = 8 1 6
18、 3 5 7 4 9 2, Y1 = X Y1 = 8 3 4 1 5 9 6 7 2,Y2 = rot90(X,1) Y2 = 6 7 2 1 5 9 8 3 4,Y3 = fliplr(X) Y3 = 6 1 8 7 5 3 2 9 4,return,A = imread(1.jpg); figure(1); imshow(A); % 在圖形窗口中顯示圖像A pause B = rgb2gray(A); % 把rgb圖像轉(zhuǎn)換成灰度圖像 figure(2); imshow(B); % 在新圖形窗口顯示圖像B pause C = rot90(B); % 把圖像B逆時針旋轉(zhuǎn)90 figure(3
19、); imshow(C); % 在新圖形窗口顯示圖像C,圖片旋轉(zhuǎn),51,matlab中字符串的表示 字符串的操作,5. 字符串,next part,go,go,52,matlab中字符串的表示,return,(1) 一維的情形 (2) 二維的情形 (3) 注意事項,view,view,view, str1=Summer is gone. str1 = Summer is gone. whos str1 Name Size Bytes Class str1 1x15 30 char array Grand total is 15 elements using 30 bytes, str2=Sum
20、mer is gone.,Autumn is coming. str2 = Summer is gone.Autumn is coming. whos str2 Name Size Bytes Class str2 1x32 64 char array Grand total is 32 elements using 64 bytes,return,(1) 一維的情形,next, str=Summer is gone. ;Autumn is coming. str = Summer is gone. Autumn is coming. whos str Name Size Bytes Clas
21、s str 2x17 68 char array Grand total is 34 elements using 68 bytes,注: 采用此種寫法時,要求各行字符數(shù)相等!,(2) 二維的情形, str=char(Summer is gone,Autumn is coming.) str = Summer is gone Autumn is coming. whos str Name Size Bytes Class str 2x17 68 char array Grand total is 34 elements using 68 bytes,通過char()函數(shù)可自動實現(xiàn)添加空格,使串
22、長度相同。,return,(3) 注意事項,return, disp(Oh,my God!) Oh,my God! disp(Whats wrong with you?) Whats wrong with you?,57,字符串的操作,return,(1) 字符串元素的訪問 (2) 字符串的基本變換 (3) 常用的字符串處理函數(shù),go,go,go,next,(1) 字符串元素的訪問, str1=Summer is gone. str1 = Summer is gone. str1(1) ans = S str1(1:6) ans = Summer,return, str=char(Summer
23、 is gone,Autumn is coming.) str = Summer is gone Autumn is coming. str(1,:) ans = Summer is gone str(2,1:6) ans = Autumn,return,(2) 字符串的基本變換, str1=abcd str1 = abcd str2=abs(str1) str2 = 97 98 99 100 str3=char(str2) str3 = abcd, str1=1234 str1 = 1234 str2=abs(str1) str2 = 49 50 51 52 str3=char(str2)
24、str3 = 1234,將字符串轉(zhuǎn)化為對應數(shù)值,將對應數(shù)值轉(zhuǎn)化為字符串,return,(3) 常用的字符串處理函數(shù) (參見教材P45表2-5),example, stuno1 = strcat(201013450,59) stuno1 = 20101345059 stuno2 = strcat(201013450,66) stuno2 = 20101345066 list = strvcat(stuno1,stuno2) list = 20101345059 20101345066,實例: 字符串水平連接和垂直連接,next, no=59 no = 59 nostr = num2str(no)
25、 nostr = 59 stuno1 = strcat(201013450,nostr) stuno1 = 20101345059,next, str1 = i like light music. str1 = i like light music. strfind(str1,i) ans = 1 4 9 17 str2 = strrep(str1,i,I) str2 = I lIke lIght musIc. str3 = strrep(str1,i ,I ) str3 = I like light music.,實例: 字符串查找和替換,next,return, disp(hi) hi m
26、 = disp(hi) m = disp(hi) eval(m) hi,實例: 把字符串當成matlab語句執(zhí)行,66,6. 結(jié)構(gòu)數(shù)據(jù)和單元數(shù)據(jù),結(jié)構(gòu)數(shù)據(jù) 單元數(shù)據(jù)(元胞數(shù)據(jù)),next part,go,go,67,(1) 結(jié)構(gòu)數(shù)據(jù)的創(chuàng)建 結(jié)構(gòu)變量的創(chuàng)建 結(jié)構(gòu)變量構(gòu)成的向量的創(chuàng)建 (2) 結(jié)構(gòu)數(shù)據(jù)的基本操作 訪問結(jié)構(gòu)中的成員 在結(jié)構(gòu)中添加/刪除成員 獲取/設置結(jié)構(gòu)成員的信息,結(jié)構(gòu)數(shù)據(jù),return,go,go,go,go,go,next, 結(jié)構(gòu)變量的創(chuàng)建,方法一: 直接指定結(jié)構(gòu)的成員名稱及值, student.no=20101345090; =張宇軒; student.
27、sex=男; student.grade=92 88 90;, student student = no: 20101345090 name: 張宇軒 sex: 男 grade: 92 88 90,return,方法二: 使用struct()函數(shù), student2=struct(no,20101345090,name,張宇軒,. sex,男,grade,92 88 90) student2 = no: 20101359090 name: 張宇軒 sex: 男 grade: 92 88 90, 結(jié)構(gòu)變量的創(chuàng)建, 結(jié)構(gòu)變量構(gòu)成的向量的創(chuàng)建,next,方法一: 直接指定結(jié)構(gòu)的成員名稱及值, stu
28、dent(1).no=20101345090; student(1).name=張宇軒; student(1).sex=男; student(1).grade=92 88 90; student(2) .no=20101345096; student(2).name=李靜; student(2).sex=女; student(2).grade=90 82 96;, student student = 1x2 struct array with fields: no name sex grade,return,方法二: 使用struct()函數(shù), 結(jié)構(gòu)變量構(gòu)成的向量的創(chuàng)建, STUDENT =
29、struct(no,20101345090,20101345096,. name,張宇軒,李靜,. sex,男,女,. grade,92 88 90,90 82 96);,return, 訪問結(jié)構(gòu)中的成員, student(1).name ans = 張宇軒 student(1).grade(2) ans = 88,return, 在結(jié)構(gòu)中添加/刪除成員, student(1).interests=football student = 1x2 struct array with fields: no name sex grade interests, student = rmfield(stu
30、dent,interests), 獲取/設置結(jié)構(gòu)成員的信息, fields = fieldnames(student) fields = no name sex grade,獲取結(jié)構(gòu)中成員名稱,next, score=getfield(student(1),grade) score = 92 88 90,獲取結(jié)構(gòu)中某成員的值,return, 獲取/設置結(jié)構(gòu)成員的信息, setfield(student(1),no,20101345091) ans = no: 20101345091 name: 張宇軒 sex: 男 grade: 92 88 90,設置結(jié)構(gòu)中某成員的值,76,(1) 基本概念:
31、 單元矩陣 (2) 單元矩陣的建立 (3) 常用的處理函數(shù),單元數(shù)據(jù)(元胞數(shù)據(jù)),return,go,go,go,應用舉例,(1) 基本概念: 單元矩陣,return,一種特殊的矩陣,其元素是特定的單元,這些單元可以包含其它的MATLAB矩陣。,(2) 單元矩陣的建立, 直接建立 使用cell函數(shù),go,go,return, 直接建立,方法1: 使用直接建立單元矩陣, a = 110;119;120,95599;, a = 3x3 char 95599 cellplot(a) a1,2 ans = 95599,next, 直接建立,方法2: 使用 和下標直接指定每個單元內(nèi)容, a1,1 = 110;119;120; a1,2 = 95599; a2,1 = ; a2,2 = ; cellplot(a),next, a(1,1) = 110;119;120; a(1,2) = 95599; a(2,1:2) = ,; cellplot(a), 直接建立,方法3: 使用() 、下標和直接指定每個單元內(nèi)容,return, 使用cell函數(shù), a = cell(2,2) a = a1,1 = 110;119;120; a1,2 = 95599; cellplot(a),為單元矩陣預先分配
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026年中國郵政儲蓄銀行股份有限公司普洱市分行招聘見習人員(10人)參考考試題庫附答案解析
- 塑膠顏料生產(chǎn)管理制度
- 企業(yè)安全生產(chǎn)變更制度
- 食品生產(chǎn)經(jīng)營記錄制度
- 養(yǎng)雞場生產(chǎn)安全管理制度
- 2026浙江臺州市溫嶺市濱海交警中隊面向社會招聘警務輔助人員1人備考考試題庫附答案解析
- 安全生產(chǎn)宣教工作制度
- 豐田CE生產(chǎn)制度
- 安全生產(chǎn)專家檢查制度
- 旅館安全生產(chǎn)管理制度
- 外賬會計外賬協(xié)議書
- 急性呼吸窘迫綜合征ARDS教案
- 實驗室質(zhì)量控制操作規(guī)程計劃
- 骨科手術術前宣教
- 【語文】青島市小學三年級上冊期末試卷(含答案)
- 2025版壓力性損傷預防和治療的新指南解讀
- 2025年新疆第師圖木舒克市公安局招聘警務輔助人員公共基礎知識+寫作綜合練習題及答案
- 2026年春節(jié)放假通知模板范文
- 2025年高考真題分類匯編必修三 《政治與法治》(全國)(解析版)
- 現(xiàn)代服務業(yè)勞動課件
- 云倉基礎知識培訓課件
評論
0/150
提交評論