第二章MATLAB數(shù)值計算_第1頁
第二章MATLAB數(shù)值計算_第2頁
第二章MATLAB數(shù)值計算_第3頁
第二章MATLAB數(shù)值計算_第4頁
第二章MATLAB數(shù)值計算_第5頁
已閱讀5頁,還剩132頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)

文檔簡介

1、1,第2章 MATLAB數(shù)值計算,2.1 變量與數(shù)據(jù),2.2 矩陣與數(shù)組,2.3 矩陣與數(shù)組運算,2.4 多項式運算,2.5 字符運算,2,第2章 MATLAB數(shù)值計算,2.1 變量與數(shù)據(jù),2.1.1 數(shù)據(jù),數(shù)據(jù)的表達方式:采用十進制表示,矩陣和數(shù)組的概念 : 標(biāo)量:是指11的矩陣,即為只含1個數(shù)的矩陣。 向量:是指1n或n1的矩陣,即為只含1行或1列的矩陣 矩陣:是1個矩形的數(shù)組,即二維數(shù)組,其中向量和標(biāo)量都是矩陣的特例數(shù)組:是指n維數(shù)組,為矩陣的延伸,其中矩陣和向量都是數(shù)組的特例。,復(fù)數(shù):由實部和虛部組成,用特殊變量“i”和“j”表示虛數(shù)的單位,3,第2章 MATLAB的數(shù)值計算功能,2.

2、1 變量與數(shù)據(jù),2.1.1 變量,變量的命名應(yīng)遵循如下規(guī)則:,變量名必須以字母打頭,之后可以是字母、數(shù)字或下劃線,如x51483,a_b_c_d_e。,變量名區(qū)分字母大小寫,如Items,items,itEms及ITEMS都是不同的變量。,4,變量名不允許使用空格、標(biāo)點符號。,變量名最多可包含63個字符(對于7.x版本)。從前向后取,超出部分忽略。,變量的命名應(yīng)遵循如下規(guī)則:,關(guān)鍵字(如if,while等)不能作為變量名。,虛數(shù)單位,i=j=,6,7,2.1.3 MATLAB的常用數(shù)學(xué)函數(shù),MATLAB所支持的常用函數(shù)見表2-2,函數(shù)的調(diào)用格式為:函數(shù)名(變量) 函數(shù)的變量即是 MATLAB

3、的矩陣變量,函數(shù)的運算就是將函數(shù)運算分別作用于函數(shù)變量(矩陣)的每一個元素。,注意: 1.MATLAB只對弧度操作,若為角度,則換成弧度。 2.MATLAB系統(tǒng)提供的所有函數(shù)名都是小寫字母。,8,9,10,11,對零方向取整數(shù),12,常用對數(shù)(以10為底),自然對數(shù)(以e為底),13,2.2 矩陣和數(shù)組,2.2.1 矩陣的賦值 2.2.2 向量的生成 2.2.3 矩陣元素 2.2.4 復(fù)數(shù)表示,14,2.2.1 矩陣的賦值,(1). 直接輸入法創(chuàng)建矩陣,矩陣的所有元素必須放在方括號“”內(nèi); 矩陣元素之間必須用逗號“,”或空格隔開; 矩陣行與行之間用分號“;”或回車符隔開; 矩陣元素可以是任何不

4、含未定義變量的表達式; 標(biāo)點符號一定要在英文狀態(tài)下輸入。,15,矩陣元素用空格或逗號分隔,整個矩陣放在方括號內(nèi)。,16,矩陣的行用分號或回車符隔開。,17,矩陣?yán)锏脑匾部梢杂帽磉_式代替,表達式由變量名、常數(shù)、函數(shù)和運算符構(gòu)成。 4*sin(2*t) s*a+b/c sqrt(2)*exp(-i*4),18,方括號外的分號表示不顯示定義的數(shù)據(jù)。,19,20,注意數(shù)據(jù)的顯示格式,21,(2). 利用MATLAB函數(shù)創(chuàng)建矩陣,表2-3 特殊矩陣函數(shù),22,23,2.2.2 向量的生成,(1). 利用冒號“:”運算生成向量,a=m:n %生成步長值為1的均勻等分行向量,m和n分別代表向量的起始值和終

5、止值。 a=m:p:n%生成步長值為p的均勻等分行向量,m和n分別代表向量的起始值和終止值,p 代表向量元素之間步長值。,24,25,(2). 利用函數(shù)linspace()和logspace()生成向量,linspace(m,n)%生成從m到n之間的100個線性等分點的行向量。 linspace(m,n,s)%生成從m到n之間的s個線性等分點的行向量。 logspace(m,n)%生成從10m到10n之間50個按對數(shù)等分點的行向量。 logspace(m,n,s)%生成從10m到10n之間s個按對數(shù)等分點的行向量。,26,27,28,2.2.3 矩陣的元素,在 MATLAB 系統(tǒng)中,矩陣的元素

6、是通過其行、列的標(biāo)號來標(biāo)識的,矩陣元素所處的行號和列號稱為該元素的下標(biāo)。矩陣元素可以通過其下標(biāo)來引用,A(i,j)即表示矩陣A的第i行第 j列的元素。,注意:在 MATLAB 中,矩陣下標(biāo)的行、列號都 是從 1 開始的,(1)矩陣的下標(biāo),29,30,在MATLAB的內(nèi)部數(shù)據(jù)儲存結(jié)構(gòu)中,每一個矩陣都是一個以列為主的向量,因此對于矩陣內(nèi)各元素的存取是按列來進行總排。,冒號“:”表示“全部”。,31,(2).矩陣的賦值,全下標(biāo)方式:A(i,j)=B給A矩陣的部分元素賦值則B矩陣的行列數(shù)必須等于A矩陣的行列數(shù)。 A(1:2,1:3)=1 1 1;1 1 1 A = 1 1 1 6 2 1 1 1 4

7、7 7 5 7 1 5 0 3 4 5 4 23 13 6 0 3,32,單下標(biāo)方式:A(s)=b,b為向量,元素個數(shù)必須等于A矩陣的元素個數(shù)。 A(5:6)=2 3 A = 1 3 1 6 2 1 1 1 4 7 7 5 7 1 5 0 3 4 5 4 2 13 6 0 3,33,全元素方式:A(:)=B,給矩陣的所有元素賦值則矩陣的元素總數(shù)必須等于矩陣的元素總數(shù),但行列數(shù)不一定相等。 A=1 2;3 4;5 6 A = 1 2 3 4 5 6,34,(3)矩陣元素的刪除,在MATLAB中可以對矩陣的單個元素、子矩陣塊和所有元素進行刪除操作,就是簡單地將其復(fù)制為空矩陣(用表示)。 A=1 2

8、 3;4 5 6;7 8 9 A = 1 2 3 4 5 6 7 8 9 A(:,3)= % 刪除一列元素 A = 1 2 4 5 7 8 A(1)= %刪除1個元素 A= %刪除所有元素為空矩陣 A = ,35,(4)生成大矩陣,在MATLAB中,可以通過方括號“ ”實現(xiàn)將小矩陣聯(lián)接起來生成個較大的矩陣。 a;a %連結(jié)成6*3的矩陣 ans = 1.6000 1.6000 a a %連結(jié)成3*6的矩陣 ans = 1.6000 1.6000,36,(5). 矩陣維數(shù)的擴大與縮小,MATLAB 已定義的矩陣的維數(shù)可以擴大,也可以縮小。如果輸入的同名矩陣的維數(shù)小于或大于原矩陣維數(shù),MATLAB

9、 認(rèn)為是原矩陣修改了部分元素或子塊。增加矩陣的維數(shù)時,可以只給出非零元素,MATLAB 自動將未定義元素設(shè)為 0。減小矩陣維數(shù)時,必須使用“”命令來對行或列進行操作,則相應(yīng)的行或列即被刪除。,37,增加矩陣的維數(shù)時,可以只給出非零元素,MATLAB 自動將未定義元素設(shè)為 0。,38,39,“空矩陣”是指沒有元素的矩陣,對任何一個矩陣賦值,就是使它的元素都必須消失掉。,空矩陣是使矩陣縮小時不可缺少的概念。,40,刪除矩陣A的第二列,41,刪除第一行和第四行,42,43,44,在原矩陣A中再加入一行。,45,(6). 矩陣的翻轉(zhuǎn),矩陣的翻轉(zhuǎn)及對角化操作函數(shù),46,47,列向量,V為列向量,48,(

10、7) 矩陣的大小,矩陣大小查詢命令,49,2.2.4 復(fù)數(shù)表示,MATLAB的每一個元素都可以是復(fù)數(shù),實數(shù)是復(fù)數(shù)的特例。復(fù)數(shù)的虛數(shù)部分用i或j表示,這是在MATLAB啟動時就在內(nèi)部設(shè)定的。,50,只有數(shù)字和 i的乘積可省略乘號“*”,51,52,復(fù)數(shù)矩陣的生成方法,(1).將其元素逐個賦予復(fù)數(shù),53,復(fù)數(shù)矩陣的生成方法,(2).將其實部和虛部矩陣分別賦值,這里的星號“*”不能省略,54,55,2.3 矩陣與數(shù)組運算,2.3.1 矩陣的算術(shù)運算,2.3.2 矩陣的關(guān)系運算,2.3.3 矩陣的邏輯運算,2.3.4 矩陣函數(shù),56,2.3 矩陣與數(shù)組運算,2.3.1 矩陣的算術(shù)運算,矩陣A和B的維數(shù)

11、完全相同時,可以進行矩陣加減法運算,MATLAB會自動地使得A和B的相應(yīng)元素相加減。兩矩陣維數(shù)不等時,不能進行該運算。,表2-6列出了MATLAB的算術(shù)運算符及其對應(yīng)功能與示例,57,兩矩陣A和B的維數(shù)相容時(A的列數(shù)等于B的行數(shù)),可以進行乘法運算。,注意:矩陣的乘法分為左乘和右乘。,矩陣的除法運算包括左除和右除兩種:,矩陣的除法運算實際上是求AX=B的解的過程,58,矩陣的轉(zhuǎn)置用A表示,若矩陣為復(fù)數(shù)矩陣,求轉(zhuǎn)置時首先對矩陣元素進行轉(zhuǎn)置,然后再逐項求取其共軛數(shù)值。,對于實矩陣用(A)或(A.)求轉(zhuǎn)置結(jié)果是一樣的;然而對于含復(fù)數(shù)的矩陣,則(A)將同時對復(fù)數(shù)進行共軛處理,而 (A.)則只是將其排

12、列形式進行轉(zhuǎn)置。,矩陣的轉(zhuǎn)置還可用A.表示,59,兩個矩陣之間的點運算是兩矩陣對應(yīng)元素的直接運算,因此要求參與運算的兩個矩陣的維數(shù)一致。,矩陣求冪的運算包括矩陣與常數(shù)和矩陣與矩陣的冪運算,用點運算的形式表示。,在使用MATLAB的算術(shù)運算符時,一定要注意普通運算與點運算之間的區(qū)別。,60,2.3.2 矩陣的關(guān)系運算,MATLAB的基本關(guān)系運算符及其功能,61,參與關(guān)系運算的矩陣必須是同維矩陣或其中之一為標(biāo)量。 當(dāng)參與運算的矩陣之一為標(biāo)量時,關(guān)系運算的結(jié)果是將矩陣的每一個元素與該標(biāo)量逐一進行關(guān)系比較,若關(guān)系成立則比較結(jié)果值為“1”,若關(guān)系不成立則比較結(jié)果值為“0”。,關(guān)系運算的規(guī)則,62,當(dāng)參與

13、運算的矩陣是兩同維矩陣A和B時,關(guān)系運算的結(jié)果是將矩陣A 和B 下標(biāo)相同的對應(yīng)元素逐一進行關(guān)系比較,若關(guān)系成立則比較結(jié)果值為“1”,若關(guān)系不成立則比較結(jié)果值為“0”。也即關(guān)系運算的結(jié)果是生成一個與A 和B 維數(shù)相同的矩陣,其元素值為“0”或“1”。 算術(shù)運算比關(guān)系運算具有更高的優(yōu)先權(quán)。,關(guān)系運算的規(guī)則,63,通常,為了改善程序的可讀性,可用括號將關(guān)系運算表達式括起來。,64,2.3.3 矩陣的邏輯運算,MATLAB的基本邏輯運算符及其對應(yīng)功能,在邏輯運算中,所有非零元素的邏輯值為“真”,用代碼“1”表示,值為零的元素的邏輯值為“假”,用代碼“0”表示。,65,三種邏輯運算的真值表,66,邏輯運

14、算的規(guī)則,參與邏輯運算的矩陣必須是同維矩陣或其中之一為標(biāo)量。 邏輯運算的結(jié)果按照邏輯運算真值表生成。 當(dāng)參與運算的矩陣之一為標(biāo)量時,邏輯運算的結(jié)果是將矩陣的每一個元素與該標(biāo)量逐一進行邏輯運算。,67,當(dāng)參與運算的矩陣是兩同維矩陣 A 和 B 時,邏輯運算的結(jié)果是將矩陣 A 和 B 下標(biāo)相同的對應(yīng)元素逐一進行邏輯運算。邏輯運算的結(jié)果是生成一個與 A 和 B 維數(shù)相同的矩陣,其元素值為“0”或“1”。,邏輯運算的規(guī)則,68,69,70,邏輯字符檢查命令及其說明,71,72,2.3.4 矩陣函數(shù),表2-10給出了常用的矩陣函數(shù)的簡短描述,73,矩陣A的特征值,矩陣對角元素之和,矩陣特征多項式,求A的

15、行列式的值,74,求矩陣A的逆陣,75,Sqrtm命令與sqrt不同,矩陣平方根,76,矩陣的對數(shù),77,使用時應(yīng)注意這些對命令之間的區(qū)別,矩陣求冪,78,一些數(shù)據(jù)處理命令,79,學(xué)生的身高和三門課程分?jǐn)?shù),80,學(xué)生的身高和三門課程分?jǐn)?shù),81,2.4 多項式運算,2.4.1 多項式的表達與創(chuàng)建,2.4.2 多項式求根及其逆運算,2.4.3 多項式的四則運算,2.4.5 有理多項式,2.4.4 多項式的微分與賦值運算,82,2.4 多項式運算,2.4.1 多項式的表達與創(chuàng)建,MATLAB 采用將多項式的系數(shù)按降冪次序排列而形成的行向量來表征一多項式。,多項式:,多項式的行向量:,83,表示多項式

16、的行向量元素的個數(shù)應(yīng)該為多項式的最高冪次加一。,84,2.4.2 多項式求根及其逆運算,函數(shù)roots()用于對多項式求根,求出的根按列向量存儲;函數(shù)poly()用于由給定的根的列向量求多項式的系數(shù),求出的系數(shù)按行向量存儲。,85,多項式的根按列向量存儲,多項式的系數(shù)按行向量存儲,86,2.4.3 多項式的四則運算,(1). 加法與減法,多項式的加減法為多項式對應(yīng)元素的加減法。多項式的階數(shù)可以不同,但在多項式定義時,應(yīng)當(dāng)補充0元素使其行向量元素數(shù)目相等,否則不能相加減。,87,88,89,(2). 乘法,兩個多項式相乘由函數(shù)conv()來完成,其調(diào)用格式為:R=conv(A,B),(3). 除

17、法,d,r=deconv(c,a)命令完成多項式除運算,d:商的系數(shù)向量;r:余子式的系數(shù)向量。,90,91,92,2.4.4 多項式的微分與賦值運算,(1). 微分運算,多項式的微分由命令polyder完成,(2). 賦值運算,給出x的范圍,命令polyval可計算多項式的值。,93,94,2.4.5 有理多項式,MATLAB中的有理多項式是由分子多項式和分母多項式表示的,可以用residue命令進行部分分式展開。該命令的形式為: r,p,k=residue(num,den),根據(jù)給出的r,p,k的值,同樣可以用residue命令求出有理多項式形式,命令格式為:num,den=residue

18、(r,p,k),95,2.5 字符運算,在MATLAB中,字符串就是一個字符數(shù)組。在MATLAB系統(tǒng)內(nèi)部,每一個字符都由相應(yīng)的ASCII碼數(shù)值進行存儲,但在屏幕上顯示的是字符串,除了特殊的用途,一般情況下我們不訪問這些數(shù)值。,2.5.1 字符串?dāng)?shù)組的創(chuàng)建,在MATLAB中所有字符串都用單引號界定后輸入或賦值,單引號必須在英文狀態(tài)下輸入。字符串的每個字符(空格也是字符)都是相應(yīng)矩陣的一個元素,每個字符占用2個字節(jié)存儲。,96,字符串是以行向量的形式存儲的,97,字符串也可以用方括號合并成更大的“串”,98,建立二維字符數(shù)組與建立數(shù)據(jù)數(shù)組一樣可以直接輸入,需要加方括號,并且每行之間用分號隔開,但每行的字符數(shù)目必須一致。,99,建立二維字符數(shù)組的另一個方法是用 str2mat 函數(shù)把字符串轉(zhuǎn)換為字符數(shù)組,這種方法允許用不一樣長度的字符串。,100,2.5.2 字符串?dāng)?shù)組的運算,P42表2-14字符串轉(zhuǎn)換函數(shù),101,102,把字符串轉(zhuǎn)換成大寫,把字符串轉(zhuǎn)換成小寫,把數(shù)字轉(zhuǎn)換成字符串,103,將字符串轉(zhuǎn)換成ASCII碼,將ASCII碼轉(zhuǎn)換成字符串,為字符串賦值,104,105,本節(jié)結(jié)束,謝謝!,106,多項式乘法不要求階數(shù)相同,107,108,r,p,k=residue(num,den),109,沒有常數(shù)項,110,消除展開式中的復(fù)數(shù)

溫馨提示

  • 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)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論