第2章 MATLAB應用基礎-1_第1頁
第2章 MATLAB應用基礎-1_第2頁
第2章 MATLAB應用基礎-1_第3頁
第2章 MATLAB應用基礎-1_第4頁
第2章 MATLAB應用基礎-1_第5頁
已閱讀5頁,還剩74頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、第第2章章 MATLAB應用基礎應用基礎l 本章要點本章要點1n MATLAB 變量及其操作變量及其操作n MATLAB數(shù)組與矩陣數(shù)組與矩陣nMATLAB M文件文件nMATLAB 程序控制結構程序控制結構l 主要內容主要內容n2.1 MATLAB變量及其操作變量及其操作n2.2 MATLAB數(shù)組與矩陣運算數(shù)組與矩陣運算n2.3 數(shù)學函數(shù)數(shù)學函數(shù)n2.4 M文件文件n2.5 程序控制結構程序控制結構2矩陣是矩陣是MATLAB最基本、最重要的數(shù)據(jù)對最基本、最重要的數(shù)據(jù)對象,象,MATLAB的大部分運算或命令都是在矩的大部分運算或命令都是在矩陣運算的意義下執(zhí)行的,而且這種運算定義陣運算的意義下執(zhí)行

2、的,而且這種運算定義在復數(shù)域上。向量和單個數(shù)據(jù)都可以作為矩在復數(shù)域上。向量和單個數(shù)據(jù)都可以作為矩陣的特例來處理。陣的特例來處理。l數(shù)值數(shù)據(jù):雙精度型、單精度數(shù)、帶符號整數(shù)值數(shù)據(jù):雙精度型、單精度數(shù)、帶符號整數(shù)和無符號整數(shù)、復數(shù)數(shù)和無符號整數(shù)、復數(shù)l字符數(shù)據(jù)。字符數(shù)據(jù)。l結構體結構體(Structure)和單元和單元(Cell)數(shù)據(jù)類型。數(shù)據(jù)類型。l稀疏矩陣稀疏矩陣(Sparse)。l邏輯型數(shù)據(jù)。在邏輯型數(shù)據(jù)。在MATLAB中,以數(shù)值中,以數(shù)值1(非零非零)表示表示“真真”,以數(shù)值,以數(shù)值0表示表示“假假”。用。用logical()函數(shù)將任何非零的數(shù)值轉換為函數(shù)將任何非零的數(shù)值轉換為true,將

3、數(shù)值將數(shù)值0轉換為轉換為false3整數(shù)類型:整數(shù)類型:名名 稱稱表示表示范圍范圍轉換函轉換函數(shù)數(shù) 名名 稱稱表示范表示范圍圍轉換函轉換函數(shù)數(shù)有符號有符號1字節(jié)整數(shù)字節(jié)整數(shù)27271int8()無 符 號 1字節(jié)整數(shù)0281uint8()有符號有符號2字節(jié)整數(shù)字節(jié)整數(shù) 2152151int16()無 符 號 2字節(jié)整數(shù)02161uint16()有符號有符號4字節(jié)整數(shù)字節(jié)整數(shù) 2312311int32()無 符 號 4字節(jié)整數(shù)02321uint32()有符號有符號8字節(jié)整數(shù)字節(jié)整數(shù) 2632631int64()無 符 號無 符 號 8字節(jié)整數(shù)字節(jié)整數(shù)02641uint64()4浮點數(shù):浮點數(shù):名

4、名 稱稱存存 儲儲 空空 間間表表 示示 范范 圍圍轉轉 換換 函函 數(shù)數(shù)單精度浮點單精度浮點數(shù)數(shù)4字節(jié)3.4028210383.402821038single()雙精度浮點雙精度浮點數(shù)數(shù)8字節(jié)字節(jié)1.79769 103081.79769 10308double()5復數(shù):復數(shù): 用用i或或j產(chǎn)生復數(shù)產(chǎn)生復數(shù) 用用complex()函數(shù)產(chǎn)生復數(shù)函數(shù)產(chǎn)生復數(shù) 例:例:a = 5+10i x = 5; y = 10; c = x+y*i,b = complex(x,y)61變量命名變量命名在在MATLAB 7.11中,變量名是以字母開頭,后接中,變量名是以字母開頭,后接字母、數(shù)字或下劃線的字符序列

5、,最多字母、數(shù)字或下劃線的字符序列,最多63個字符個字符。在。在MATLAB中,變量名區(qū)分字母的大小寫。中,變量名區(qū)分字母的大小寫。 2x : 錯誤錯誤: 不應為不應為 MATLAB 表達式表達式 _x: 輸入字符不是輸入字符不是 MATLAB 語句或表達式中的有語句或表達式中的有效字符。效字符。 x:未定義函數(shù)或變量未定義函數(shù)或變量 x。 x=6 : x = 62.1 變量及其操作7注意:注意:1.變量名區(qū)分字母的大小寫變量名區(qū)分字母的大小寫 例如:例如:abc ABC aBc 代表三個不同的變量代表三個不同的變量 2. MATLAB提供的標準函數(shù)名以及命令名必提供的標準函數(shù)名以及命令名必須

6、用小寫字母。須用小寫字母。 例如:例如: sin(A)不能寫成不能寫成Sin(A)或或SIN(A)8 2賦值語句賦值語句(1) 變量變量=表達式表達式 : (2) 表達式:表達式: 表達式是用運算符將有關運算量連接起來的式子表達式是用運算符將有關運算量連接起來的式子,其結果是一個矩陣。,其結果是一個矩陣。 (1)將表達式的值賦給左邊的變量(2)將表達式的值賦給MATLAB預定義變量ans例:rho = (1+sqrt(5)/2 (1+sqrt(5)/2 rho = ans = 1.6180 1.6180注意:在注意:在MATLAB語句后面可以加上注釋,注釋以語句后面可以加上注釋,注釋以%開頭,

7、后面是注釋的內容。開頭,后面是注釋的內容。9 3.一些特殊變量和常量一些特殊變量和常量 在在MATLAB工作空間中,還駐留幾個由系統(tǒng)本工作空間中,還駐留幾個由系統(tǒng)本身定義的變量。例如,用身定義的變量。例如,用pi表示圓周率表示圓周率的近似值的近似值,用,用i,j表示虛數(shù)單位。表示虛數(shù)單位。預定義變量有特定的含義,在使用時,應盡量避預定義變量有特定的含義,在使用時,應盡量避免對這些變量重新賦值。免對這些變量重新賦值。1011 4.字符串字符串 字符串是用單撇號括起來的字符序列。字符串是用單撇號括起來的字符序列。 例: x = Liaocheng UniversityMATLAB將字符串當作一個行

8、向量,每個元素對將字符串當作一個行向量,每個元素對應一個字符,其標識方法和數(shù)值向量相同。應一個字符,其標識方法和數(shù)值向量相同。 例: x(1) ans = L可以用可以用建立多行字符串矩陣。建立多行字符串矩陣。要求各行字符數(shù)要相等。如果字符數(shù)不相等,可以用空格來調整。例:ch=Li Qiang; Wangfang; Sun junch =Li QiangWangfangSun jun12 也可以用函數(shù)也可以用函數(shù)char()建立建立多行字符串矩陣多行字符串矩陣。輸入的輸入的時候不時候不要求各行字符數(shù)要相等,自動添加空格進行調整例:ch=char(first; second)ch =firsts

9、econd13 字符串是以字符串是以ASCII碼形式存儲的。碼形式存儲的。 abs和和double函數(shù)都可以用來獲取字符串矩陣所對函數(shù)都可以用來獲取字符串矩陣所對應的應的ASCII碼數(shù)值矩陣。碼數(shù)值矩陣。例:abs(A), double(Liaocheng University)ans = 65ans = 76 105 97 111 99 104 101 110 103 32 85 110 105 118 101 114 115 105 116 12114 相反,相反,char函數(shù)可以把函數(shù)可以把ASCII碼矩陣轉換為字符碼矩陣轉換為字符串矩陣。串矩陣。 例如 顯示一個3行32列的ASCII

10、字符變量串:ascii = char(reshape(32:127,32,3)輸出結果為ascii = ! # $ % & ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; ? A B C D E F G H I J K L M N O P Q R S T U V W X Y Z _ a b c d e f g h i j k l m n o p q r s t u v w x y z | 15重新調整矩陣的行數(shù)、重新調整矩陣的行數(shù)、列數(shù)、維數(shù)列數(shù)、維數(shù)表示轉置表示轉置常用函數(shù)常用函數(shù)eval和和disp調用格式:調用格式:eval(t),disp(t)其

11、中其中t為字符串為字符串。功能:功能: eval(t)把字符串把字符串的內容作為對應的的內容作為對應的MATLAB語句來執(zhí)行語句來執(zhí)行。例:a = eval(sqrt(3) %計算3的平方根,賦給a輸出:輸出:a = 1.7321注意:注意:若字符串中的字符含有單撇號,則該單撇號若字符串中的字符含有單撇號,則該單撇號字符字符應用應用兩個單撇號來表示。兩個單撇號來表示。例: Im a sdudent ans=Im a sdudentdisp(t):輸出字符串disp(Im a student ) 輸出 Im a student16對較長的字符串可以用字符串向量表示,用對較長的字符串可以用字符串向

12、量表示,用括起來括起來例:f=70;c = (f-32)/1.8; room temperature is num2str(c) degree ans = room temperature is 21.1111 degree注意:字符串向量中的每一項之間可以用空格或者逗號,隔開 17常用的字符串處理函數(shù):常用的字符串處理函數(shù):18函數(shù)名函數(shù)名含義含義abs字符串到ASCII碼轉換charASCII碼到字符的轉換mat2str將矩陣轉換成字符串num2str將數(shù)值轉換成字符串int2str將整數(shù)轉換成字符串常用的字符串處理函數(shù):常用的字符串處理函數(shù):19函數(shù)名函數(shù)名含義含義lower字符串變小寫

13、str2num將字符串轉換成數(shù)值strcat字符串連接,同strcmp字符串比較upper字符串變大寫講在結構和單元矩陣之前:矩陣的建立講在結構和單元矩陣之前:矩陣的建立1直接輸入法直接輸入法 最簡單的建立矩陣的方法是采用矩陣構造符“”從鍵盤直接輸入矩陣的元素。 構造1n矩陣(行向量)時,可以將各元素依次放入矩陣構造符內,并且以空格或者逗號分隔;構造mn矩陣時,每行如上處理,并且行與行之間用分號分隔。例:a=1;b=2;c=3; x=5 b c;a*b,a+c,c/b2利用利用M文件建立矩陣文件建立矩陣 對于比較大且比較復雜的矩陣,可以為它專門建立一個M文件。 3建立大矩陣建立大矩陣大矩陣可由

14、方括號中的小矩陣或向量建立起來。 例:A=1 2 3;4 5 6;7 8 9;C=A,eye(size(A); ones(size(A),AC = 1 2 3 1 0 0 4 5 6 0 1 0 7 8 9 0 0 1 1 1 1 1 2 3 1 1 1 4 5 6 1 1 1 7 8 94 矩陣元素矩陣元素(1)通過下標引用矩陣的元素,例如)通過下標引用矩陣的元素,例如A(3,2)=200(2)采用矩陣元素的序號來引用矩陣元素。)采用矩陣元素的序號來引用矩陣元素。 矩陣元素的序號就是相應元素在內存中的排列順序。在MATLAB中,矩陣元素按列存儲,先第一列,再第二列,依次類推。例如A=1,2,

15、3;4,5,6;A(3)ans = 2序號序號(Index)與下標與下標(Subscript )是一一對應的,以是一一對應的,以mn矩陣矩陣A為例,矩陣元素為例,矩陣元素A(i,j)的序號為的序號為(j-1)*m+i。其相互轉換關系也可利用。其相互轉換關系也可利用sub2ind和和ind2sub函數(shù)求函數(shù)求得。得。5. 結構矩陣和單元矩陣結構矩陣和單元矩陣一、結構矩陣一、結構矩陣 通過使用結構(通過使用結構(Structure)數(shù)據(jù)類型把一組不同)數(shù)據(jù)類型把一組不同類型的數(shù)據(jù)同時又是在邏輯上相關的數(shù)據(jù)組成一個類型的數(shù)據(jù)同時又是在邏輯上相關的數(shù)據(jù)組成一個有機的整體,以便于管理和引用。有機的整體,

16、以便于管理和引用。231 結構結構矩陣的建立與引用矩陣的建立與引用(1)建立)建立格式格式: 結構矩陣名結構矩陣名 . 成員名成員名表達式表達式 結構矩陣名結構矩陣名=struct(field1,field2,)例:例:ssssss = struct(type,big,little,color,red,x,3,4)s2 = struct(name,x1,x2,x3,age,21,23,19,id,1,2,3)數(shù)值不需要加單撇號24s(1).type = big;s(1).color = red;s(1).x = 3;s(2).type = little;s(2).color = red;s(2

17、).x = 4;結構包含2個元素s(1),s(2),每個元素包含3個成員type,color,x(2)引用格式)引用格式: 結構矩陣元素的成員:顯示這個成員的具體內容。 s(1).type 結構元素:顯示成員名和它的值,但成員如果是矩陣,則不顯示矩陣具體內容,而只顯示矩陣的大小參數(shù)。 s(1) 結構矩陣:顯示結構矩陣的大小參數(shù)和成員名。 s252 結構結構矩陣成員的增加和刪除矩陣成員的增加和刪除 增加成員增加成員可給s中任意一個元素增加成員x4:例: s(1).x4 = 410075 其他結構元素的成員均為空矩陣,可以用賦值語句給其賦確定的值刪除成員刪除成員使用rmfield函數(shù)刪除結構的成員

18、例:刪除成員例:刪除成員x4:s=rmfield(s,x4);二、單元二、單元數(shù)據(jù)數(shù)據(jù) 定義:定義:單元(Cell)數(shù)據(jù)的概念與結構有些類似,也是把不同屬性的數(shù)據(jù)放在一個變量中。 區(qū)別:區(qū)別:結構變量是一種嵌套形式數(shù)據(jù),即一個結構矩陣包含若干個結構元素,元素又包含若干成員。對成員的引用是:結構變量名.成員名。而單而單元矩陣則像數(shù)值矩陣一樣將不同類型的數(shù)據(jù)以矩元矩陣則像數(shù)值矩陣一樣將不同類型的數(shù)據(jù)以矩陣行列的形式存儲數(shù)據(jù),并用帶有大括號下標的陣行列的形式存儲數(shù)據(jù),并用帶有大括號下標的形式引用單元矩陣元素。形式引用單元矩陣元素。1 1 建立與引用建立與引用(1)單元矩陣的建立 使用直接建立b=10

19、,liu,11,21;34,78;12,wang,1,2,3,4 使用函數(shù)cell建立 c= cell(m,n)或c= cell(m,n),創(chuàng)建m行n列空單元矩陣 c = cell(size(A)創(chuàng)建維數(shù)與矩陣A相同的空單元矩陣例:b = cell(2,3); A = ones(2,2),c = cell(size(A)(2)單元矩陣的引用用帶有花括號的下標的形式對單元矩陣元素進行引用輸入b2,2輸出結果是wangA = 1 1 1 1c = 2 2 顯示與刪除顯示與刪除v用celldisp(b)函數(shù)來顯示整個單元矩陣vb(index)= 來刪除矩陣的元素注意:注意:A) 當單元矩陣中的一個元

20、素被刪除后,單元矩 陣自動變成行向量。 B) b(3)= %將第三個元素刪除 b3= 給第三個元素設置為空矩陣。常用的結構及單元的處理函數(shù):常用的結構及單元的處理函數(shù):30函數(shù)名函數(shù)名含義含義struct建立或轉換結構矩陣getfield獲取結構成員的內容rmfield刪除結構成員isstruct判斷,是結構時值為真fieldnames獲取結構成員名setfields設定結構成員的內容isfield成員在結構中時值為真常用的結構及單元的處理函數(shù):常用的結構及單元的處理函數(shù):31函數(shù)名函數(shù)名含義含義celldisp顯示單元矩陣內容num2cell把數(shù)值矩陣轉換為單元矩陣cell2struct單元

21、矩陣轉換為結構矩陣iscell判斷,是單元矩陣時值為真cellplot顯示單元矩陣的圖形描述deal把輸入分配給輸出struct2cell把結構矩陣轉換為單元矩陣6. 幾幾個特殊的函數(shù)個特殊的函數(shù)who,whos,exist,all,any,find,format who:顯示當前工作空間中所有變量的一個簡單列表whos:則列出變量的大小、數(shù)據(jù)格式等詳細信息a = exist(item,.), 查詢當前的工作空間內是否存在某一條款item,返回的a值表示item為不同的類型,如表所示。 返回標號值返回標號值a Item的類型的類型0不存在1為工作空間中存在的變量2為M文件或未知類型文件3為ME

22、X文件存在于MATLAB搜索路徑上4為MDL文件存在于MATLAB搜索路徑上5為MATLAB內構函數(shù)6為一P文件存在于MATLAB搜索路徑上7為目錄8為JAVA類 B = any(A),測試數(shù)組矩陣,測試數(shù)組矩陣A是否有非零元素,如果是否有非零元素,如果有,則返回有,則返回1,否則返回,否則返回0.例: A = 0.53 0.67 0.01 0.38 0.07 0.42 0.69,any(A)產(chǎn)生1. B = all(A),測試數(shù)組矩陣,測試數(shù)組矩陣A是否所有的元素非零,如是否所有的元素非零,如果是,則返回果是,則返回1,否則會返回,否則會返回0.例:A = 0.53 0 0.01 0.38

23、0.07 0.42 0.69, all(A)產(chǎn)生0. k = find(X), 返回數(shù)組返回數(shù)組X含非零元素的指數(shù),如果沒含非零元素的指數(shù),如果沒有返回一個空矩陣。有返回一個空矩陣。 i,j = find(X), 返回數(shù)組X含非零元素的行列指數(shù)。 通常find(X)將X看成是X(:),即一個按X各列連接起來的列向量。例如M = 2,3;0,-6k= find(M)i,j = find(M)M = 2 3 0 -6k = 1 3 4i = 1 1 2j = 1 2 2 formatformat typeformat(type),設置或改變數(shù)據(jù)輸出格式,其中type決定數(shù)據(jù)的輸出格式各種type及

24、其含義如表2.5所示。(教材Pg.15)2.2.1 冒號表達式冒號表達式 冒號表達式可以產(chǎn)生一個行向量,一般格式是:冒號表達式可以產(chǎn)生一個行向量,一般格式是: e1:e2:e3 e1為初始值,為初始值,e2為步長,為步長,e3為終止值,都為正整數(shù)為終止值,都為正整數(shù) j:k j,j+1,j+2,k j:i:k j,j+i,j+2*i,k A(:,j) 矩陣矩陣A的第的第j列列 A(i,:) 矩陣矩陣A的第的第i行行 A(:,j:k) 表示表示A(:,j) ,A(:,j+1) ,A(:,j+2),A(:,k) A(:,:) = A A(:) 將將A看成是列向量,表示看成是列向量,表示A的所有元素

25、的所有元素2.2 MATLAB數(shù)組與矩陣運算用用linspace函數(shù)產(chǎn)生行向量。其調用格式為:函數(shù)產(chǎn)生行向量。其調用格式為:linspace(a,b,n)其中a和b是生成向量的第一個和最后一個元素,n是元素總數(shù)。省略n時自動生成100個數(shù)。顯然,linspace(a,b,n)與a:(b-a)/(n-1):b等價。例:a = linspace(1,10,10); a = 1:2:10 在對數(shù)空間建立向量在對數(shù)空間建立向量logspace(n1,n2,n) 在對數(shù)空間中行矢量的值從10n1到10n2,數(shù)據(jù)個數(shù)為n,省略時默認n為50例:a = logpace(1,3,3);2.2.2 矩陣的建立矩

26、陣的建立1直接輸入法直接輸入法 最簡單的建立矩陣的方法是采用矩陣構造符“”從鍵盤直接輸入矩陣的元素。 構造1n矩陣(行向量)時,可以將各元素依次放入矩陣構造符內,并且以空格或者逗號分隔;構造mn矩陣時,每行如上處理,并且行與行之間用分號分隔。例:a=1;b=2;c=3; x=5 b c;a*b,a+c,c/b2利用利用M文件建立矩陣文件建立矩陣 對于比較大且比較復雜的矩陣,可以為它專門建立一個M文件。 3建立大矩陣建立大矩陣大矩陣可由方括號中的小矩陣或向量建立起來。 例:A=1 2 3;4 5 6;7 8 9;C=A,eye(size(A); ones(size(A),AC = 1 2 3 1

27、 0 0 4 5 6 0 1 0 7 8 9 0 0 1 1 1 1 1 2 3 1 1 1 4 5 6 1 1 1 7 8 92.2.3 矩陣的拆分矩陣的拆分1矩陣元素矩陣元素(1)通過下標引用矩陣的元素,例如)通過下標引用矩陣的元素,例如A(3,2)=200(2)采用矩陣元素的序號來引用矩陣元素。)采用矩陣元素的序號來引用矩陣元素。 矩陣元素的序號就是相應元素在內存中的排列順序。在MATLAB中,矩陣元素按列存儲,先第一列,再第二列,依次類推。例如A=1,2,3;4,5,6;A(3)ans = 2序號序號(Index)與下標與下標(Subscript )是一一對應的,以是一一對應的,以mn

28、矩陣矩陣A為例,矩陣元素為例,矩陣元素A(i,j)的序號為的序號為(j-1)*m+i。其相互轉換關系也可利用。其相互轉換關系也可利用sub2ind和和ind2sub函數(shù)求函數(shù)求得。得。2矩陣拆分矩陣拆分 (1) 利用冒號表達式獲得子矩陣利用冒號表達式獲得子矩陣 A(:,j)表示取表示取A矩陣的第矩陣的第j列全部元素;列全部元素;A(i,:)表示表示A矩陣第矩陣第i行的全部元素;行的全部元素;A(i,j)表示取表示取A矩陣矩陣第第i行、第行、第j列的元素。列的元素。 例:例:A = 17 24 1 8 15 23 5 7 14 16 4 6 13 20 22 10 12 19 21 3 11 1

29、8 25 2 9 A(:,3),A(2,:), A(4,3)ans = 1 7 13 19 25ans = 23 5 7 14 16ans = 19 A(i:i+m,:)表示取表示取A矩陣第矩陣第ii+m行的全部元素行的全部元素;A(:,k:k+m)表示取表示取A矩陣第矩陣第kk+m列的全部元列的全部元素,素,A(i:i+m,k:k+m)表示取表示取A矩陣第矩陣第ii+m行內,行內,并在第并在第kk+m列中的所有元素。列中的所有元素。 例:例:A = 17 24 1 8 15 23 5 7 14 16 4 6 13 20 22 10 12 19 21 3 11 18 25 2 9 A(1:3,

30、:),A(:,2:4),A(1:3,2:4)ans = 17 24 1 8 15 23 5 7 14 16 4 6 13 20 22ans = 24 1 8 5 7 14 6 13 20 12 19 21 18 25 2ans = 24 1 8 5 7 14 6 13 20 A(:)將矩陣將矩陣A每一列元素堆疊起來,成為一個列每一列元素堆疊起來,成為一個列向量,而這也是向量,而這也是MATLAB變量的內部儲存方式。變量的內部儲存方式。此外,還可利用一般向量和此外,還可利用一般向量和end運算符來表示矩陣運算符來表示矩陣下標,從而獲得子矩陣。下標,從而獲得子矩陣。end表示某一維的末尾元表示某一

31、維的末尾元素下標。素下標。 例:例:A = 8 1 6 3 5 7 4 9 2 A(:)ans = 8 3 4 1 5 9 6 7 2A(end-1:end,end-2:end)ans = 3 5 7 4 9 2 (2) 利用空矩陣刪除矩陣的元素利用空矩陣刪除矩陣的元素 在在MATLAB中,定義中,定義為空矩陣。給變量為空矩陣。給變量X賦空矩賦空矩陣的語句為陣的語句為X=。這樣。這樣X矩陣中原來的元素全部被刪矩陣中原來的元素全部被刪除了。除了。 可以將矩陣的某一行或者某一列賦值為空矩陣,可以將矩陣的某一行或者某一列賦值為空矩陣,將該行或該列刪除。將該行或該列刪除。 例:例:A = magic(

32、2), A(1,:) = A = 1 3 4 2 注意:注意:X=與與clear X不同,不同,clear是將是將X從工作空間中從工作空間中刪除,而空矩陣則存在于工作空間中,只是維數(shù)為刪除,而空矩陣則存在于工作空間中,只是維數(shù)為0。A = 4 2 2.2.4 MATLAB數(shù)據(jù)的運算數(shù)據(jù)的運算 1基本算術運算基本算術運算 MATLAB的基本算術運算有:的基本算術運算有:(加加)、(減減)、*(乘乘)、/(右除右除)、(左除左除)、(乘方乘方)、(共軛轉置(共軛轉置)、()括號)、()括號 ()括號,高優(yōu)先級別()括號,高優(yōu)先級別注意:運算是在矩陣意義下進行的,單個數(shù)據(jù)的注意:運算是在矩陣意義下進

33、行的,單個數(shù)據(jù)的算術運算只是一種特例。算術運算只是一種特例。 (1) 矩陣加減運算矩陣加減運算 假定有兩個矩陣假定有兩個矩陣A和和B,則可以由,則可以由A+B和和A-B實現(xiàn)實現(xiàn)矩陣的加減運算。矩陣的加減運算。 運算規(guī)則:運算規(guī)則:維數(shù)必須相同,將矩陣維數(shù)必須相同,將矩陣A和和B的相應元素的相應元素相加減相加減 例:例:A = magic(2); B = ones(2); A-B (2) 矩陣乘法矩陣乘法 假定有兩個矩陣假定有兩個矩陣A和和B,若,若A為為mn矩陣,矩陣,B為為np矩陣,則矩陣,則C=A*B為為mp矩陣矩陣。例:例:A = magic(2); B = ones(2,3); A*B

34、 (3) 矩陣除法矩陣除法左除左除 右除右除/ AB等效于等效于A的逆左乘的逆左乘B矩陣,也就是矩陣,也就是inv(A)*B B/A等效于等效于A的逆右乘的逆右乘B矩陣,也就是矩陣,也就是B*inv(A)對于含有標量的運算,如對于含有標量的運算,如3/4和和43有相同的值,都有相同的值,都等于等于0.75。 又如,設又如,設a=10.5,25,則,則a/5=5a=2.1000 5.0000。 對于矩陣來說,左除和右除表示兩種不同的除數(shù)矩對于矩陣來說,左除和右除表示兩種不同的除數(shù)矩陣和被除數(shù)矩陣的關系。對于矩陣運算,一般陣和被除數(shù)矩陣的關系。對于矩陣運算,一般ABB/A。 (4) 矩陣的乘方矩陣

35、的乘方 一個矩陣的乘方運算可以表示成一個矩陣的乘方運算可以表示成Ax,要,要求求A為方陣,為方陣,x為標量。為標量。 例:例:A3表示A*A*A (5) 矩陣矩陣的轉置的轉置 表示共軛轉置表示共軛轉置 .表示轉置,但是不取共軛表示轉置,但是不取共軛 例:例:y = 1+i,2+i;3+i,4+4i, y,y.ans = 1.0000 - 1.0000i 3.0000 - 1.0000i 2.0000 - 1.0000i 4.0000 - 4.0000ians = 1.0000 + 1.0000i 3.0000 + 1.0000i 2.0000 + 1.0000i 4.0000 + 4.0000

36、i2點運算點運算 在在MATLAB中,有一種特殊的運算,因中,有一種特殊的運算,因為其運算符是在有關算術運算符前面加點為其運算符是在有關算術運算符前面加點,所以叫點運算。點運算符有,所以叫點運算。點運算符有.*、./、.和和.。兩矩陣進行點運算是指它們的對應元素兩矩陣進行點運算是指它們的對應元素進行相關運算,要求兩矩陣的維數(shù)相同。進行相關運算,要求兩矩陣的維數(shù)相同。例:例:A = magic(2);B = 2,3;4,1A.*B,A./B,A.B,A.23關系關系運算運算MATLAB提供了提供了6種關系運算符:種關系運算符:(小于小于)、(大于大于)、=(大于或等于大于或等于)、=(等于等于)

37、、=(不等于不等于)。運算法則:運算法則: (1) 當兩個比較量是標量時,直接比較兩數(shù)的大小。當兩個比較量是標量時,直接比較兩數(shù)的大小。若關系成立,關系表達式結果為若關系成立,關系表達式結果為1,否則為,否則為0。 例:例:x=1,y=2 x=y,xy,x=y,x=y 1 0 1 0 0 1運算法則:運算法則:(2) 當參與比較的一個是標量,而另一個是矩陣時,當參與比較的一個是標量,而另一個是矩陣時,則把標量與矩陣的每一個元素按標量關系運算規(guī)則則把標量與矩陣的每一個元素按標量關系運算規(guī)則逐個比較,并給出元素比較結果。最終的關系運算逐個比較,并給出元素比較結果。最終的關系運算的結果是一個維數(shù)與原

38、矩陣相同的矩陣,它的元素的結果是一個維數(shù)與原矩陣相同的矩陣,它的元素由由0或或1組成。組成。 例:例:x=1, y =magic(2) x=y, xy, x=y,x=yy = 1 3 4 2ans = 1 1 1 0 0 1 0 0 1 0 0 1 1 1 0 0 1 1 0 0 0 0 1 1ans = 1 1 1 0 0 1 0 0 1 0 0 1 1 0 0 1 1 0 0 1 0 0 1 1運算法則:運算法則: (3)當參與比較的量是兩個維數(shù)相同的矩陣時,比較當參與比較的量是兩個維數(shù)相同的矩陣時,比較是對兩矩陣相同位置的元素按標量關系運算規(guī)則逐是對兩矩陣相同位置的元素按標量關系運算規(guī)則

39、逐個進行,并給出元素比較結果。最終的關系運算的個進行,并給出元素比較結果。最終的關系運算的結果是一個維數(shù)與原矩陣相同的矩陣,它的元素由結果是一個維數(shù)與原矩陣相同的矩陣,它的元素由0或或1組成。組成。 例:例:x=1 2;3 4, y =magic(2) x=y, xy, x=y,x=yx = 1 2 3 4y = 1 3 4 24邏輯運算邏輯運算MATLAB提供了提供了3種邏輯運算符:種邏輯運算符:&(與與)、|(或或)和和(非非)。運算法則:運算法則: (1) 在邏輯運算中,非零元素為真,用在邏輯運算中,非零元素為真,用1表示,零表示,零元素為假,用元素為假,用0表示。表示。 (2)

40、 設參與邏輯運算的是兩個標量設參與邏輯運算的是兩個標量a和和b,那么,那么, a&b : a,b全為非零時,運算結果為全為非零時,運算結果為1,否則為,否則為0 a|b : a,b中只要有一個非零,運算結果為中只要有一個非零,運算結果為1。 a 當當a是零時,運算結果為是零時,運算結果為1;當;當a非零時,運非零時,運算結果為算結果為0。 例:例: a=0,b=3,a&b,a|b,a,b ans = 0 1 1 0運算法則:運算法則: (3) 若參與邏輯運算的是兩個同維矩陣,那么運若參與邏輯運算的是兩個同維矩陣,那么運算將對矩陣相同位置上的元素按標量規(guī)則逐個進行算將對矩陣相同位置上的元素按標量規(guī)則逐個進行。最終運算結果是一個與原矩陣同維的矩陣

溫馨提示

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

評論

0/150

提交評論