




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、第二章 MATLAB的基本語(yǔ)法2.1 數(shù)據(jù)類(lèi)型數(shù)據(jù)類(lèi)型 MATLAB中的數(shù)據(jù)類(lèi)型主要包含數(shù)值類(lèi)型、字符串、中的數(shù)據(jù)類(lèi)型主要包含數(shù)值類(lèi)型、字符串、邏輯類(lèi)型、元胞數(shù)組、構(gòu)架數(shù)組和函數(shù)句柄等。這六種基邏輯類(lèi)型、元胞數(shù)組、構(gòu)架數(shù)組和函數(shù)句柄等。這六種基本的數(shù)據(jù)類(lèi)型都是按照數(shù)組形式存儲(chǔ)和操作的。本的數(shù)據(jù)類(lèi)型都是按照數(shù)組形式存儲(chǔ)和操作的。 2.1.1 數(shù)值類(lèi)型數(shù)值類(lèi)型 基本的數(shù)值類(lèi)型主要有整數(shù)、單精度浮點(diǎn)數(shù)和雙精度浮基本的數(shù)值類(lèi)型主要有整數(shù)、單精度浮點(diǎn)數(shù)和雙精度浮點(diǎn)數(shù)點(diǎn)數(shù)3類(lèi),如書(shū)中表類(lèi),如書(shū)中表2-1所示。所示。 MATLAB中數(shù)值類(lèi)型的數(shù)據(jù)包括有符號(hào)和無(wú)符號(hào)整數(shù)、中數(shù)值類(lèi)型的數(shù)據(jù)包括有符號(hào)和無(wú)符號(hào)整數(shù)
2、、單精度浮點(diǎn)數(shù)和雙精度浮點(diǎn)數(shù)。在未加說(shuō)明與特殊定義時(shí),單精度浮點(diǎn)數(shù)和雙精度浮點(diǎn)數(shù)。在未加說(shuō)明與特殊定義時(shí),MATLAB對(duì)所有數(shù)值按照雙精度浮點(diǎn)數(shù)類(lèi)型進(jìn)行存儲(chǔ)和對(duì)所有數(shù)值按照雙精度浮點(diǎn)數(shù)類(lèi)型進(jìn)行存儲(chǔ)和操作。操作。 2.1.2 字符串字符串 字符是字符是MATLAB中符號(hào)運(yùn)算的基本元素,也是文字等中符號(hào)運(yùn)算的基本元素,也是文字等表達(dá)方式的基本元素。在表達(dá)方式的基本元素。在MATLAB中,字符串作為字符中,字符串作為字符數(shù)組用單引號(hào)(數(shù)組用單引號(hào)()引用到程序中,還可以通過(guò)字符串運(yùn))引用到程序中,還可以通過(guò)字符串運(yùn)算組成復(fù)雜的字符串。字符串?dāng)?shù)值和數(shù)字?jǐn)?shù)值之間可以進(jìn)算組成復(fù)雜的字符串。字符串?dāng)?shù)值和數(shù)字
3、數(shù)值之間可以進(jìn)行轉(zhuǎn)換,也可以執(zhí)行字符串的有關(guān)操作。字符串的定義有行轉(zhuǎn)換,也可以執(zhí)行字符串的有關(guān)操作。字符串的定義有直接輸入法、冒號(hào)表達(dá)式法、組合法和函數(shù)法。字符串操直接輸入法、冒號(hào)表達(dá)式法、組合法和函數(shù)法。字符串操作函數(shù)和字符型轉(zhuǎn)換函數(shù)如書(shū)中表作函數(shù)和字符型轉(zhuǎn)換函數(shù)如書(shū)中表2-2和表和表2-3。【例2-1-1】生成字符串實(shí)例。str1= Chongqing University,str2= of, , posts , ,and, ,Telecommu,nication %直接輸入法str1 = Chongqing Universitystr2 =of posts and Telecommuni
4、cation str=str1, ,str2 %組合法str = Chongqing University of posts and Telecommunicationstr3= Dont worry about his %字符串中有單引號(hào). %也可以 Dont worry about his str3 =Dont worry about hisstr4=a:2:n %冒號(hào)表達(dá)式法str4 =acegikmstr5=char(MATLAB,及其工程應(yīng)用) %函數(shù)法 str5 =MATLAB及其工程應(yīng)用 2.1.3 邏輯類(lèi)型邏輯類(lèi)型 除了傳統(tǒng)的數(shù)學(xué)運(yùn)算外,除了傳統(tǒng)的數(shù)學(xué)運(yùn)算外,MATLAB還支持
5、關(guān)系運(yùn)算和還支持關(guān)系運(yùn)算和邏輯運(yùn)算。關(guān)系運(yùn)算和邏輯運(yùn)算主要用于控制基于真邏輯運(yùn)算。關(guān)系運(yùn)算和邏輯運(yùn)算主要用于控制基于真/假假命題的各類(lèi)命題的各類(lèi)MATLAB命令(通常在命令(通常在M文件中)的流程或執(zhí)文件中)的流程或執(zhí)行次序。行次序。 作為所有關(guān)系表達(dá)式和邏輯表達(dá)式的輸入,作為所有關(guān)系表達(dá)式和邏輯表達(dá)式的輸入,MATLAB把任何非把任何非0數(shù)值當(dāng)做真,把數(shù)值當(dāng)做真,把0當(dāng)做假。所有關(guān)系表達(dá)式和邏當(dāng)做假。所有關(guān)系表達(dá)式和邏輯表達(dá)式,為真則輸出為輯表達(dá)式,為真則輸出為1,為假則輸出為,為假則輸出為0。 MATLAB為關(guān)系運(yùn)算和邏輯運(yùn)算提供了關(guān)系操作符和為關(guān)系運(yùn)算和邏輯運(yùn)算提供了關(guān)系操作符和邏輯操作
6、符,如書(shū)中表邏輯操作符,如書(shū)中表2-4和表和表2-5所示。所示?!纠?-1-2】關(guān)系運(yùn)算和邏輯運(yùn)算實(shí)例。關(guān)系運(yùn)算和邏輯運(yùn)算實(shí)例。MATLAB語(yǔ)句:語(yǔ)句:A=1 3;2 4;B=0 4;3 2;C=(A student.number=02110875; =王玲; student.sex=女; student.age=21; student.class=03; student.department=02; student 運(yùn)行語(yǔ)句,輸出結(jié)果:student = number: 02110875 name: 王玲 sex: 女 age: 21 class: 03 depar
7、tment: 02【例例2-1-5】函數(shù)法創(chuàng)建構(gòu)架數(shù)組實(shí)例。函數(shù)法創(chuàng)建構(gòu)架數(shù)組實(shí)例。MATLAB語(yǔ)句:語(yǔ)句:student=struct(number,02110875,name,王玲王玲,sex,女女,age,21,.class,03,department,02)運(yùn)行語(yǔ)句,輸出結(jié)果:運(yùn)行語(yǔ)句,輸出結(jié)果:student = number: 02110875 name: 王玲王玲 sex: 女女 age: 21 class: 03 department: 02 2.1.6 函數(shù)句柄(函數(shù)句柄(function) MATLAB中函數(shù)句柄的使用使得函數(shù)也可以成為輸入中函數(shù)句柄的使用使得函數(shù)也可以成為
8、輸入變量,并且能很方便的調(diào)用,提高函數(shù)的可用性和獨(dú)立性。變量,并且能很方便的調(diào)用,提高函數(shù)的可用性和獨(dú)立性。函數(shù)句柄保留著函數(shù)句柄保留著“為該函數(shù)創(chuàng)建句柄時(shí)的路徑、視野、函為該函數(shù)創(chuàng)建句柄時(shí)的路徑、視野、函數(shù)名,以及可能存在的重載方法數(shù)名,以及可能存在的重載方法”。創(chuàng)建函數(shù)句柄的方法:。創(chuàng)建函數(shù)句柄的方法: (1)用)用:handlef=fname (2)用轉(zhuǎn)換函數(shù))用轉(zhuǎn)換函數(shù)str2func:handlef=str2func(fname) 【例【例2-1-6】 函數(shù)句柄實(shí)例函數(shù)句柄實(shí)例 MATLAB語(yǔ)句:語(yǔ)句: fhandle=sin y=sin(pi/4);%計(jì)算計(jì)算sin(/4)的值)的
9、值 yflod=feval(fhandle,pi/4) 運(yùn)行語(yǔ)句,輸出結(jié)果:運(yùn)行語(yǔ)句,輸出結(jié)果: fhandle = sin yflod = 0.7071 2.2 變量變量 MATLAB語(yǔ)言中的變量無(wú)須事先定義,一個(gè)變量以其名語(yǔ)言中的變量無(wú)須事先定義,一個(gè)變量以其名稱(chēng)在語(yǔ)句命令中第一次合法出現(xiàn)而定義,運(yùn)算表達(dá)式的變稱(chēng)在語(yǔ)句命令中第一次合法出現(xiàn)而定義,運(yùn)算表達(dá)式的變量中不允許有未定義的變量,也不需要預(yù)先定義變量的類(lèi)量中不允許有未定義的變量,也不需要預(yù)先定義變量的類(lèi)型,型,MATLAB會(huì)自動(dòng)生成變量,并根據(jù)變量的操作確定會(huì)自動(dòng)生成變量,并根據(jù)變量的操作確定其類(lèi)型。其類(lèi)型。 2.2.1 變量命名的規(guī)
10、則變量命名的規(guī)則 (1)變量名區(qū)分字母的大小寫(xiě),因此)變量名區(qū)分字母的大小寫(xiě),因此B與與b表示的是不同表示的是不同的變量。的變量。 (2)變量名只能由字母、數(shù)字和下劃線組成,且必須以)變量名只能由字母、數(shù)字和下劃線組成,且必須以英文字母開(kāi)頭。例如:英文字母開(kāi)頭。例如:b,b1,b_1a都是合法的,而都是合法的,而1b,_b,b.2,b都是不合法的。都是不合法的。 (3)變量名長(zhǎng)度不得超過(guò)最大長(zhǎng)度限制,超過(guò)的部分將)變量名長(zhǎng)度不得超過(guò)最大長(zhǎng)度限制,超過(guò)的部分將被忽略。不同版本被忽略。不同版本MATLAB變量的最大長(zhǎng)度限制時(shí)不同變量的最大長(zhǎng)度限制時(shí)不同的,用戶可以使用的,用戶可以使用namelen
11、gthmax函數(shù)得到該用戶使用函數(shù)得到該用戶使用的的MATLAB版本所規(guī)定的變量名長(zhǎng)度。版本所規(guī)定的變量名長(zhǎng)度。 (4)關(guān)鍵字(如)關(guān)鍵字(如for、end和和if等)不能作為變量名。等)不能作為變量名。 常量是指那些在常量是指那些在MATLAB中已預(yù)先定義其數(shù)值的變量,中已預(yù)先定義其數(shù)值的變量,也稱(chēng)預(yù)定義變量。變量命名時(shí)應(yīng)盡量避開(kāi)這些預(yù)定義變量,也稱(chēng)預(yù)定義變量。變量命名時(shí)應(yīng)盡量避開(kāi)這些預(yù)定義變量,默認(rèn)的常量如書(shū)中表默認(rèn)的常量如書(shū)中表2-7所示。所示。 2.2.2 變量的賦值變量的賦值 變量賦值語(yǔ)句的一般形式為:變量變量賦值語(yǔ)句的一般形式為:變量=數(shù)據(jù)(或表達(dá)式)數(shù)據(jù)(或表達(dá)式) 例如在命令行
12、窗口中輸入指令:例如在命令行窗口中輸入指令: a=3,b=a2+1 %命令間用逗號(hào)間隔命令間用逗號(hào)間隔 回車(chē)后運(yùn)行指令,在命令行窗口中顯示為:回車(chē)后運(yùn)行指令,在命令行窗口中顯示為: a= 3 b= 10 說(shuō)明當(dāng)在命令間用逗號(hào)間隔時(shí),要顯示運(yùn)行指令的結(jié)果。說(shuō)明當(dāng)在命令間用逗號(hào)間隔時(shí),要顯示運(yùn)行指令的結(jié)果。當(dāng)在語(yǔ)句后加上分號(hào)時(shí),將不顯示運(yùn)行結(jié)果。當(dāng)在語(yǔ)句后加上分號(hào)時(shí),將不顯示運(yùn)行結(jié)果。 標(biāo)點(diǎn)符號(hào)及其作用見(jiàn)書(shū)中表標(biāo)點(diǎn)符號(hào)及其作用見(jiàn)書(shū)中表2-8。注意:標(biāo)點(diǎn)符號(hào)必須在。注意:標(biāo)點(diǎn)符號(hào)必須在英文英文狀態(tài)下輸入。狀態(tài)下輸入。2.2.3 MATLAB變量的顯示變量的顯示 MATLAB語(yǔ)句的執(zhí)行結(jié)果數(shù)據(jù)的顯示格
13、式由語(yǔ)句的執(zhí)行結(jié)果數(shù)據(jù)的顯示格式由format命令控制。命令控制。format只影響結(jié)果的顯示,不影響其計(jì)算與存儲(chǔ)。只影響結(jié)果的顯示,不影響其計(jì)算與存儲(chǔ)。MATLAB是以雙是以雙精度來(lái)執(zhí)行所有的運(yùn)算。如果結(jié)果為整數(shù),則顯示沒(méi)有小數(shù),如果結(jié)精度來(lái)執(zhí)行所有的運(yùn)算。如果結(jié)果為整數(shù),則顯示沒(méi)有小數(shù),如果結(jié)果不是整數(shù),則輸出形式為書(shū)中表果不是整數(shù),則輸出形式為書(shū)中表2-9所示的幾種形式之一。所示的幾種形式之一。2.2.4 MATLAB變量的存取變量的存取 工作空間中的變量可以用工作空間中的變量可以用save命令存儲(chǔ)到磁盤(pán)文件中。輸入命令命令存儲(chǔ)到磁盤(pán)文件中。輸入命令命令命令“save”將將“變量名集變量
14、名集”指出的變量存入指出的變量存入文件文件“文件名文件名.mat”中。中。 用用load命令可將變量從磁盤(pán)文件讀入命令可將變量從磁盤(pán)文件讀入MATLAB的工作空間,其用法的工作空間,其用法為為“l(fā)oad”,它將,它將“文件名文件名”指出的磁盤(pán)文件中的數(shù)據(jù)依指出的磁盤(pán)文件中的數(shù)據(jù)依次讀入名稱(chēng)與次讀入名稱(chēng)與“文件名文件名”相同的工作空間的變量中。若省略相同的工作空間的變量中。若省略“”則則“matlab.mat”從中讀入所有數(shù)據(jù)。從中讀入所有數(shù)據(jù)。2.3 數(shù)組及向量運(yùn)算數(shù)組及向量運(yùn)算 MATLAB中的數(shù)組可以分為:中的數(shù)組可以分為:(1)沒(méi)有元素的空格數(shù)()沒(méi)有元素的空格數(shù)(empty arry)
15、。)。(2)只有一個(gè)元素的標(biāo)量()只有一個(gè)元素的標(biāo)量(scalar),它實(shí)際上是一行一列的數(shù)),它實(shí)際上是一行一列的數(shù)組。組。(3)只有一行或者一列元素的向量()只有一行或者一列元素的向量(scalar),它實(shí)際上是一行),它實(shí)際上是一行或一列的數(shù)組?;蛞涣械臄?shù)組。(4)普通的具有多行多列元素的二維數(shù)組。)普通的具有多行多列元素的二維數(shù)組。(5)超過(guò)二維的多維數(shù)組(具有行、列、頁(yè)等多個(gè)維度)。)超過(guò)二維的多維數(shù)組(具有行、列、頁(yè)等多個(gè)維度)。 2.3.1 數(shù)組和向量的創(chuàng)建數(shù)組和向量的創(chuàng)建 1 直接賦值法直接賦值法 在在MATLAB中一般使用方括號(hào)中一般使用方括號(hào)“”、逗號(hào)、逗號(hào)“,”或或空格,
16、以及分號(hào)空格,以及分號(hào)“;”來(lái)創(chuàng)建數(shù)組,方括號(hào)中給出數(shù)組的來(lái)創(chuàng)建數(shù)組,方括號(hào)中給出數(shù)組的所有元素,同一行中的元素間用逗號(hào)或空格分隔,不同行所有元素,同一行中的元素間用逗號(hào)或空格分隔,不同行之間用分號(hào)分隔。之間用分號(hào)分隔。 【例【例2-3-1】直接賦值法實(shí)例?!恐苯淤x值法實(shí)例。 x= 1 2 3;4,5,6 運(yùn)行語(yǔ)句,輸出結(jié)果:運(yùn)行語(yǔ)句,輸出結(jié)果: x = 1 2 3 4 5 6 2冒號(hào)表達(dá)式法冒號(hào)表達(dá)式法 一般表達(dá)式為:變量名一般表達(dá)式為:變量名=first:increment:last,表示創(chuàng),表示創(chuàng)建一個(gè)從建一個(gè)從first開(kāi)始,到開(kāi)始,到last結(jié)束,數(shù)據(jù)元素的增量為結(jié)束,數(shù)據(jù)元素的增量
17、為increment的數(shù)組。冒號(hào)表示直接定義數(shù)據(jù)元素之間的增量,的數(shù)組。冒號(hào)表示直接定義數(shù)據(jù)元素之間的增量,而不是數(shù)據(jù)元素個(gè)數(shù)。若增量為而不是數(shù)據(jù)元素個(gè)數(shù)。若增量為1,上面創(chuàng)建數(shù)組的方式可,上面創(chuàng)建數(shù)組的方式可簡(jiǎn)寫(xiě)為:簡(jiǎn)寫(xiě)為:first:last。 【例【例2-3-2】創(chuàng)建一個(gè)從】創(chuàng)建一個(gè)從0開(kāi)始,增量為開(kāi)始,增量為1,到,到5結(jié)束的數(shù)組結(jié)束的數(shù)組x。 MATLAB語(yǔ)句:語(yǔ)句: x=0:1:5 %和和x=0:5作用一樣作用一樣 運(yùn)行語(yǔ)句,輸出結(jié)果:運(yùn)行語(yǔ)句,輸出結(jié)果: x = 0 1 2 3 4 5 3利用利用MATLAB函數(shù)函數(shù)linspace來(lái)創(chuàng)建數(shù)組來(lái)創(chuàng)建數(shù)組 linspace通過(guò)直接定
18、義數(shù)據(jù)元素個(gè)數(shù),而不是數(shù)據(jù)之間的通過(guò)直接定義數(shù)據(jù)元素個(gè)數(shù),而不是數(shù)據(jù)之間的增量來(lái)創(chuàng)建數(shù)組。此函數(shù)的調(diào)用格式如下:增量來(lái)創(chuàng)建數(shù)組。此函數(shù)的調(diào)用格式如下: linspace(first_value,last_value,number) 該調(diào)用格式表示創(chuàng)建一個(gè)從該調(diào)用格式表示創(chuàng)建一個(gè)從first_value開(kāi)始,到開(kāi)始,到last_value 結(jié)束,包含有結(jié)束,包含有number個(gè)數(shù)據(jù)元素的數(shù)組。個(gè)數(shù)據(jù)元素的數(shù)組。 【例例2-3-3】示創(chuàng)建一個(gè)從示創(chuàng)建一個(gè)從0開(kāi)始,到開(kāi)始,到5結(jié)束,包含有結(jié)束,包含有6個(gè)數(shù)個(gè)數(shù)據(jù)元素的數(shù)組據(jù)元素的數(shù)組x。 MATLAB語(yǔ)句:語(yǔ)句: x= linspace(0,5,6
19、) 運(yùn)行語(yǔ)句,輸出結(jié)果:運(yùn)行語(yǔ)句,輸出結(jié)果: x = 0 1 2 3 4 5 4 利用利用logspace函數(shù)來(lái)創(chuàng)建一個(gè)對(duì)數(shù)分隔的數(shù)組函數(shù)來(lái)創(chuàng)建一個(gè)對(duì)數(shù)分隔的數(shù)組 與與linspace一樣,一樣,logspace也通過(guò)直接定義數(shù)據(jù)元素個(gè)也通過(guò)直接定義數(shù)據(jù)元素個(gè)數(shù),而不是數(shù)據(jù)元素之間的增量來(lái)創(chuàng)建數(shù)組。數(shù),而不是數(shù)據(jù)元素之間的增量來(lái)創(chuàng)建數(shù)組。 logspace函數(shù)的調(diào)用格式如下:函數(shù)的調(diào)用格式如下: logspace(first_value,last_value,number) 此函數(shù)表示創(chuàng)建一個(gè)從此函數(shù)表示創(chuàng)建一個(gè)從10first_value開(kāi)始,到開(kāi)始,到10last_value結(jié)束,包含有結(jié)
20、束,包含有number個(gè)元素的數(shù)組。個(gè)元素的數(shù)組。 【例例2-3-4】創(chuàng)建一個(gè)從創(chuàng)建一個(gè)從100開(kāi)始,到開(kāi)始,到102結(jié)束,包含有結(jié)束,包含有5個(gè)數(shù)據(jù)元素的數(shù)組。個(gè)數(shù)據(jù)元素的數(shù)組。 MATLAB語(yǔ)句:語(yǔ)句: logspace(0,2,5) 運(yùn)行語(yǔ)句,輸出結(jié)果:運(yùn)行語(yǔ)句,輸出結(jié)果: = 1.0000 3.1623 10.0000 31.6228 100.0000 5 組合法組合法 一個(gè)向量和數(shù)組或另一向量(同為行或列向量)組合在一一個(gè)向量和數(shù)組或另一向量(同為行或列向量)組合在一起,構(gòu)成一個(gè)新的向量。起,構(gòu)成一個(gè)新的向量。 【例【例2-3-5】組合法生成向量實(shí)例。】組合法生成向量實(shí)例。 a=1
21、2 3;b=4 5;c=a 6 7 b 運(yùn)行語(yǔ)句,輸出結(jié)果:運(yùn)行語(yǔ)句,輸出結(jié)果: c= 1 2 3 6 7 4 5 6函數(shù)法函數(shù)法 MATLAB提供了許多生成特殊數(shù)組的函數(shù),主要的特殊提供了許多生成特殊數(shù)組的函數(shù),主要的特殊函數(shù)如書(shū)中表函數(shù)如書(shū)中表2-10所示。所示。 【例【例2-3-6】函數(shù)法生成數(shù)組實(shí)例?!亢瘮?shù)法生成數(shù)組實(shí)例。 a=eye(1,2),b=ones(2) 運(yùn)行語(yǔ)句,輸出結(jié)果:運(yùn)行語(yǔ)句,輸出結(jié)果: a = 1 0 b = 1 1 1 1 2.3.2 數(shù)組的尋址數(shù)組的尋址 對(duì)數(shù)組對(duì)數(shù)組A尋址的指令:尋址的指令: A(r,c):表示數(shù)組:表示數(shù)組A的第的第r行第行第c列的元素。列的
22、元素。 A(r,:):表示數(shù)組:表示數(shù)組A的第的第r行元素。行元素。 A(:,c):表示數(shù)組:表示數(shù)組A的第的第c列的元素。列的元素。 A(s):把數(shù)組:把數(shù)組A 的所有列按先左后右的次序,首尾連接成的所有列按先左后右的次序,首尾連接成一個(gè)序列后,由上到下的第一個(gè)序列后,由上到下的第s個(gè)元素。個(gè)元素。 【例例2-3-7】數(shù)組的尋址實(shí)例。數(shù)組的尋址實(shí)例。 a=1 2 3;4 5 6;b=a(1,3),c=a(2,:),d=a(3) 運(yùn)行語(yǔ)句,輸出結(jié)果:運(yùn)行語(yǔ)句,輸出結(jié)果: b = 3 c = 4 5 6 d = 2 2.3.3 數(shù)組的運(yùn)算數(shù)組的運(yùn)算 1. 數(shù)組與標(biāo)量的四則運(yùn)算數(shù)組與標(biāo)量的四則運(yùn)算
23、 數(shù)組與標(biāo)量之間的四則運(yùn)算是指數(shù)組中的每個(gè)元素與標(biāo)量數(shù)組與標(biāo)量之間的四則運(yùn)算是指數(shù)組中的每個(gè)元素與標(biāo)量進(jìn)行加、減、乘、除運(yùn)算。進(jìn)行加、減、乘、除運(yùn)算。 【例例2-3-8】數(shù)組與標(biāo)量的四則運(yùn)算實(shí)例。數(shù)組與標(biāo)量的四則運(yùn)算實(shí)例。x=1 2 3;4,5,6;a=2*x+5b=2*x-5c=x*2d=x/2運(yùn)行語(yǔ)句,輸出結(jié)果:運(yùn)行語(yǔ)句,輸出結(jié)果:a = 7 9 11 13 15 17b = -3 -1 1 3 5 7c = 2 4 6 8 10 12d = 0.5000 1.0000 1.5000 2.0000 2.5000 3.0000 2. 數(shù)組間的四則運(yùn)算數(shù)組間的四則運(yùn)算 在在MATLAB中,數(shù)組
24、間進(jìn)行四則運(yùn)算時(shí),參與運(yùn)算的中,數(shù)組間進(jìn)行四則運(yùn)算時(shí),參與運(yùn)算的數(shù)組必須具有相同的維數(shù),加、減、乘、除運(yùn)算是按元素?cái)?shù)組必須具有相同的維數(shù),加、減、乘、除運(yùn)算是按元素與元素的方式進(jìn)行的。運(yùn)算符號(hào)為與元素的方式進(jìn)行的。運(yùn)算符號(hào)為“+”、“-”、“.*”、“./”或或“.”。注意,運(yùn)算符中的小點(diǎn)號(hào)不能少,否則將。注意,運(yùn)算符中的小點(diǎn)號(hào)不能少,否則將不會(huì)按數(shù)組運(yùn)算規(guī)則進(jìn)行。不會(huì)按數(shù)組運(yùn)算規(guī)則進(jìn)行。 由于數(shù)組的除法運(yùn)算有點(diǎn)特殊,對(duì)數(shù)組的除法運(yùn)算規(guī)由于數(shù)組的除法運(yùn)算有點(diǎn)特殊,對(duì)數(shù)組的除法運(yùn)算規(guī)則總結(jié)如下:則總結(jié)如下: (1)數(shù)組間的除法運(yùn)算為參與運(yùn)算的數(shù)組對(duì)應(yīng)元素相除,)數(shù)組間的除法運(yùn)算為參與運(yùn)算的數(shù)組對(duì)
25、應(yīng)元素相除,結(jié)果數(shù)組與參與運(yùn)算的數(shù)組大小相同。結(jié)果數(shù)組與參與運(yùn)算的數(shù)組大小相同。 (2)數(shù)組與標(biāo)量的運(yùn)算為數(shù)組中的每個(gè)元素與標(biāo)量相除,)數(shù)組與標(biāo)量的運(yùn)算為數(shù)組中的每個(gè)元素與標(biāo)量相除,結(jié)果數(shù)組與參與運(yùn)算的數(shù)組大小相同。結(jié)果數(shù)組與參與運(yùn)算的數(shù)組大小相同。 (3)數(shù)組的除法運(yùn)算符號(hào)有兩個(gè),即左除號(hào))數(shù)組的除法運(yùn)算符號(hào)有兩個(gè),即左除號(hào)“./”與右除與右除號(hào)號(hào)“.”,它們的關(guān)系如下:,它們的關(guān)系如下:a./b=b.a?!纠纠?-3-9】數(shù)組間的四則運(yùn)算實(shí)例?!繑?shù)組間的四則運(yùn)算實(shí)例。a=1 2 3;4,5,6;7 8 9;b=3 2 1;6 5 4;9 8 7;c=a+b,d=a-be=a.*b,f=a
26、./b運(yùn)行語(yǔ)句,輸出結(jié)果:運(yùn)行語(yǔ)句,輸出結(jié)果:c = 4 4 4 10 10 10 16 16 16d = -2 0 2 -2 0 2 -2 0 2e = 3 4 3 24 25 24 63 64 63f = 0.3333 1.0000 3.0000 0.6667 1.0000 1.5000 0.7778 1.0000 1.2857 3. 數(shù)組的冪運(yùn)算 在MATLAB中,數(shù)組的冪運(yùn)算符號(hào)為“.”,用來(lái)表示元素對(duì)元素的冪運(yùn)算。數(shù)組的冪運(yùn)算為數(shù)組中各對(duì)應(yīng)元素間的運(yùn)算。 【例2-3-10】數(shù)組的冪運(yùn)算實(shí)例。 a=1 2 3;4,5,6;7 8 9; b=3 2 1;1 3 2;2 3 1; c=a.
27、2 d=a.b 運(yùn)行語(yǔ)句,輸出結(jié)果: c = 1 4 9 16 25 36 49 64 81 d = 1 4 3 4 125 36 49 512 9 4. 數(shù)組的指數(shù)運(yùn)算、對(duì)數(shù)運(yùn)算與開(kāi)方運(yùn)算 數(shù)組的指數(shù)運(yùn)算、對(duì)數(shù)運(yùn)算與開(kāi)方運(yùn)算與標(biāo)量的運(yùn)算完全一樣,運(yùn)算函數(shù)分別為“exp”,“l(fā)og”,“sqrt”等。【例2-3-11】數(shù)組的指數(shù)運(yùn)算、對(duì)數(shù)運(yùn)算與開(kāi)方運(yùn)算實(shí)例。a=3 2 1;1 3 2;2 3 1;b=exp(a)c=log(a)d=sqrt(a)運(yùn)行語(yǔ)句,輸出結(jié)果:b = 20.0855 7.3891 2.7183 2.7183 20.0855 7.3891 7.3891 20.0855 2.
28、7183c = 1.0986 0.6931 0 0 1.0986 0.6931 0.6931 1.0986 0d = 1.7321 1.4142 1.0000 1.0000 1.7321 1.4142 1.4142 1.7321 1.0000 2.3.4 向量運(yùn)算向量運(yùn)算 向量的運(yùn)算主要包括:維數(shù)相同的行(列)向量之間的加向量的運(yùn)算主要包括:維數(shù)相同的行(列)向量之間的加減,數(shù)與向量相加減和乘除,向量的點(diǎn)積、叉積、混合積減,數(shù)與向量相加減和乘除,向量的點(diǎn)積、叉積、混合積的運(yùn)算。的運(yùn)算。 1. 同維向量的加減同維向量的加減 向量之間相加減,維數(shù)必須相同。向量之間相加減,維數(shù)必須相同。 2. 數(shù)與
29、向量相加減數(shù)與向量相加減 先將數(shù)擴(kuò)展為參與運(yùn)算向量同維、且每一元素都等于該數(shù)先將數(shù)擴(kuò)展為參與運(yùn)算向量同維、且每一元素都等于該數(shù)的向量,再進(jìn)行加減運(yùn)算。的向量,再進(jìn)行加減運(yùn)算。 3. 數(shù)乘向量數(shù)乘向量 將數(shù)分別與向量的每一元素相乘。將數(shù)分別與向量的每一元素相乘。 4. 向量的點(diǎn)積運(yùn)算向量的點(diǎn)積運(yùn)算 在在MATLAB中,向量的點(diǎn)積由函數(shù)中,向量的點(diǎn)積由函數(shù)“dot”來(lái)實(shí)現(xiàn),來(lái)實(shí)現(xiàn),“dot”函數(shù)的調(diào)用格式如下:函數(shù)的調(diào)用格式如下: (1)C=dot(A,B):表示返回向量:表示返回向量A與與B的點(diǎn)積,結(jié)果放的點(diǎn)積,結(jié)果放在向量在向量C中。需說(shuō)明的是,向量中。需說(shuō)明的是,向量A與與B必須長(zhǎng)度相同。另
30、外,必須長(zhǎng)度相同。另外,當(dāng)當(dāng)A與與B都是列向量時(shí),都是列向量時(shí),dot(A,B)等同于等同于A*B。 (2)C=dot(A,B,DIM):表示返回向量:表示返回向量A與與B在維數(shù)為在維數(shù)為DIM的點(diǎn)積,結(jié)果放在向量的點(diǎn)積,結(jié)果放在向量C中。中。 5. 向量的叉積運(yùn)算 在MATLAB中,向量的叉積由函數(shù)“cross”實(shí)現(xiàn)。調(diào)用格式: C=cross(A,B):表示返回向量A與B在DIM維的叉積。需要說(shuō)明的是,向量A與B必須要有相同的大小,size(A,DIM)和size(B,DIM)的結(jié)果必須為3。 6. 向量的混合積運(yùn)算 向量的混合積運(yùn)算由dot和cross這兩個(gè)函數(shù)共同來(lái)實(shí)現(xiàn)。 【例2-3-
31、12】向量運(yùn)算實(shí)例。 a=1 2 3;b=4:6;c=3 2 1; d=a+b e=a+1 f=2*a g=dot(a,b) h=cross(a,b) i=dot(a,cross(b,c) 運(yùn)行語(yǔ)句,輸出結(jié)果(略): 2.4 矩陣及其運(yùn)算矩陣及其運(yùn)算 在在MATLAB中,二維數(shù)組和矩陣是數(shù)據(jù)結(jié)構(gòu)完全相同的中,二維數(shù)組和矩陣是數(shù)據(jù)結(jié)構(gòu)完全相同的兩種運(yùn)算量,其表示、建立和存儲(chǔ)完全一致,但是運(yùn)算符兩種運(yùn)算量,其表示、建立和存儲(chǔ)完全一致,但是運(yùn)算符和運(yùn)算法則不相同。和運(yùn)算法則不相同。 2.4.1 矩陣的創(chuàng)建矩陣的創(chuàng)建 建立矩陣的方法有直接輸入法、函數(shù)法、采用現(xiàn)用矩陣組建立矩陣的方法有直接輸入法、函數(shù)法
32、、采用現(xiàn)用矩陣組合及直接建立特殊矩陣等。合及直接建立特殊矩陣等。MATLAB提供了很多特殊矩提供了很多特殊矩陣的生成函數(shù),書(shū)中表陣的生成函數(shù),書(shū)中表2-11列出了一些常用的生成函數(shù)。列出了一些常用的生成函數(shù)。 【例【例2-4-1】特殊矩陣生成函數(shù)使用實(shí)例。】特殊矩陣生成函數(shù)使用實(shí)例。 a=1,2,3;4,5,6; 7,8,9; b=tril(a) %生成下三角矩陣生成下三角矩陣 運(yùn)行結(jié)果如下:運(yùn)行結(jié)果如下: b = 1 0 0 4 5 0 7 8 9 2.4.2 矩陣的運(yùn)算矩陣的運(yùn)算 1. 矩陣的加、減矩陣的加、減 矩陣的加減運(yùn)算與數(shù)組的加、減運(yùn)算完全相同,矩陣的加減運(yùn)算與數(shù)組的加、減運(yùn)算完全
33、相同,要求進(jìn)行運(yùn)算的兩個(gè)矩陣的大小完全相同,使用要求進(jìn)行運(yùn)算的兩個(gè)矩陣的大小完全相同,使用的運(yùn)算符號(hào)也是的運(yùn)算符號(hào)也是“+”與與“”。 【例【例2-4-2】矩陣的加運(yùn)算實(shí)例?!烤仃嚨募舆\(yùn)算實(shí)例。 a=1,2,3;4,5,6; b=3,2,1;6,5,4; c=a+b 運(yùn)行語(yǔ)句,輸出結(jié)果:運(yùn)行語(yǔ)句,輸出結(jié)果: c = 4 4 4 10 10 10 2. 矩陣的乘法矩陣的乘法 設(shè)設(shè)A矩陣為一個(gè)矩陣為一個(gè) 大小的矩陣,則要求與之相乘的大小的矩陣,則要求與之相乘的B矩陣矩陣必須是一個(gè)必須是一個(gè) 大小的矩陣,此時(shí)大小的矩陣,此時(shí)A與與B矩陣才能進(jìn)行相矩陣才能進(jìn)行相乘。矩陣的乘法運(yùn)算使用的運(yùn)算符號(hào)是乘。矩
34、陣的乘法運(yùn)算使用的運(yùn)算符號(hào)是“*”。 【例【例2-4-3】矩陣的乘法實(shí)例?!烤仃嚨某朔▽?shí)例。 a=1 2;3 4;5 6; b=2 3 4;5 6 7; c=a*b 運(yùn)行語(yǔ)句,輸出結(jié)果:運(yùn)行語(yǔ)句,輸出結(jié)果: c = 12 15 18 26 33 40 40 51 62ijjk 3. 矩陣的除法矩陣的除法 在在MATLAB中,矩陣的除法運(yùn)算有兩個(gè)運(yùn)算符號(hào),分中,矩陣的除法運(yùn)算有兩個(gè)運(yùn)算符號(hào),分別為左除別為左除“”與右除與右除“/”。矩陣的右除運(yùn)算速度要慢一。矩陣的右除運(yùn)算速度要慢一點(diǎn),在進(jìn)行除法運(yùn)算時(shí),兩個(gè)矩陣的維數(shù)必須相等。點(diǎn),在進(jìn)行除法運(yùn)算時(shí),兩個(gè)矩陣的維數(shù)必須相等。 【例【例2-4-4】矩
35、陣的除法實(shí)例?!烤仃嚨某▽?shí)例。 a=1,2;3,4; b=3,5;2,9; div=a/b 運(yùn)行語(yǔ)句,輸出結(jié)果:運(yùn)行語(yǔ)句,輸出結(jié)果: div = 0.2941 0.0588 1.1176 -0.1765 4. 矩陣與標(biāo)量的四則運(yùn)算矩陣與標(biāo)量的四則運(yùn)算 矩陣與標(biāo)量間的四則運(yùn)算和數(shù)組與標(biāo)量間的四則運(yùn)算完全矩陣與標(biāo)量間的四則運(yùn)算和數(shù)組與標(biāo)量間的四則運(yùn)算完全相同,即矩陣中的每個(gè)元素與標(biāo)量進(jìn)行加、減、乘、除四相同,即矩陣中的每個(gè)元素與標(biāo)量進(jìn)行加、減、乘、除四則運(yùn)算。需要說(shuō)明的是當(dāng)進(jìn)行除法運(yùn)算時(shí),標(biāo)量只能做除則運(yùn)算。需要說(shuō)明的是當(dāng)進(jìn)行除法運(yùn)算時(shí),標(biāo)量只能做除數(shù)。數(shù)。 【例例2-4-5】矩陣與標(biāo)量的四則運(yùn)
36、算實(shí)例。矩陣與標(biāo)量的四則運(yùn)算實(shí)例。 a=1 2 3;4 5 6; b=a+2 c=a/2 運(yùn)行語(yǔ)句,輸出結(jié)果:運(yùn)行語(yǔ)句,輸出結(jié)果: b= 3 4 5 6 7 8 c = 0.5000 1.0000 1.5000 2.0000 2.5000 3.0000 5. 矩陣的冪運(yùn)算矩陣的冪運(yùn)算 矩陣的冪運(yùn)算與數(shù)組的冪運(yùn)算不同,數(shù)組的冪運(yùn)算使用運(yùn)矩陣的冪運(yùn)算與數(shù)組的冪運(yùn)算不同,數(shù)組的冪運(yùn)算使用運(yùn)算符算符“.”,用來(lái)表示對(duì)數(shù)組中的元素進(jìn)行冪運(yùn)算。而矩,用來(lái)表示對(duì)數(shù)組中的元素進(jìn)行冪運(yùn)算。而矩陣的冪運(yùn)算使用運(yùn)算符陣的冪運(yùn)算使用運(yùn)算符“”,它并不是對(duì)矩陣的每個(gè)元,它并不是對(duì)矩陣的每個(gè)元素進(jìn)行冪運(yùn)算。素進(jìn)行冪運(yùn)算。
37、 【例例2-4-6】矩陣的冪運(yùn)算實(shí)例。矩陣的冪運(yùn)算實(shí)例。 a=1 2 3;4 5 6;7 8 9; b=a2 運(yùn)行語(yǔ)句,輸出結(jié)果:運(yùn)行語(yǔ)句,輸出結(jié)果: b = 30 36 42 66 81 96 102 126 150 6. 矩陣的指數(shù)運(yùn)算、對(duì)數(shù)運(yùn)算與開(kāi)方運(yùn)算矩陣的指數(shù)運(yùn)算、對(duì)數(shù)運(yùn)算與開(kāi)方運(yùn)算 矩陣的指數(shù)運(yùn)算、對(duì)數(shù)運(yùn)算與開(kāi)方運(yùn)算不是對(duì)矩陣中矩陣的指數(shù)運(yùn)算、對(duì)數(shù)運(yùn)算與開(kāi)方運(yùn)算不是對(duì)矩陣中單個(gè)元素的運(yùn)算,而是對(duì)整個(gè)矩陣的運(yùn)算。其中,矩陣的單個(gè)元素的運(yùn)算,而是對(duì)整個(gè)矩陣的運(yùn)算。其中,矩陣的指數(shù)運(yùn)算函數(shù)為指數(shù)運(yùn)算函數(shù)為“expm”,矩陣的開(kāi)方運(yùn)算函數(shù)為,矩陣的開(kāi)方運(yùn)算函數(shù)為“sqrtm”。 【例【例2
38、-4-7】矩陣的指數(shù)運(yùn)算實(shí)例。】矩陣的指數(shù)運(yùn)算實(shí)例。 a=1 2 3;4 5 6;7 8 9; c=expm(a) 運(yùn)行語(yǔ)句,輸出結(jié)果:運(yùn)行語(yǔ)句,輸出結(jié)果: c = 1.0e+006 * 1.1189 1.3748 1.6307 2.5339 3.1134 3.6929 3.9489 4.8520 5.7552 2.4.3 矩陣的常用函數(shù)運(yùn)算矩陣的常用函數(shù)運(yùn)算 書(shū)中表書(shū)中表2-12列出了一些常用的矩陣運(yùn)算函數(shù)。列出了一些常用的矩陣運(yùn)算函數(shù)。 【例【例2-4-8】矩陣函數(shù)運(yùn)算實(shí)例。】矩陣函數(shù)運(yùn)算實(shí)例。 a=1, 2, 3; 4, 5, 6; 7, 8, 9; b, c=eig(a) %求取矩陣的
39、特求取矩陣的特征值和特征向量征值和特征向量 通過(guò)函數(shù)通過(guò)函數(shù)eig計(jì)算矩陣計(jì)算矩陣a的特征向量的特征向量b和特征值和特征值c,輸出結(jié)果,輸出結(jié)果如下:如下: b = -0.2320 -0.7858 0.4082 -0.5253 -0.0868 -0.8165 -0.8187 0.6123 0.4082 c = 16.1168 0 0 0 -1.1168 0 0 0 -0.00002.5 多項(xiàng)式及其運(yùn)算多項(xiàng)式及其運(yùn)算 在在MATLAB中,中,多向式多向式用一個(gè)行向量來(lái)表示,用一個(gè)行向量來(lái)表示,即即 ,它的系數(shù)是按降序排列的。,它的系數(shù)是按降序排列的。 2.5.1 多項(xiàng)式的構(gòu)造多項(xiàng)式的構(gòu)造 構(gòu)造多
40、項(xiàng)式最簡(jiǎn)單的方法是直接輸入向量,用函數(shù)構(gòu)造多項(xiàng)式最簡(jiǎn)單的方法是直接輸入向量,用函數(shù)poly2sym來(lái)實(shí)現(xiàn)。來(lái)實(shí)現(xiàn)。 【例【例2-5-1】構(gòu)造多項(xiàng)式實(shí)例?!繕?gòu)造多項(xiàng)式實(shí)例。 T=2 3 1 0 4 5; poly2sym(T) 運(yùn)行語(yǔ)句,輸出結(jié)果:運(yùn)行語(yǔ)句,輸出結(jié)果: ans = 2*x5+3*x4+x3+4*x+5011,.,nnTaaaa 【例【例2-5-2】用多項(xiàng)式的根構(gòu)造多項(xiàng)式實(shí)例?!坑枚囗?xiàng)式的根構(gòu)造多項(xiàng)式實(shí)例。 T=2 3 1 0 4 5; r=roots(T) poly(r) 運(yùn)行語(yǔ)句,輸出結(jié)果:運(yùn)行語(yǔ)句,輸出結(jié)果: r = 0.7635 + 0.8427i 0.7635 - 0.8
41、427i -0.9315 + 0.8905i -0.9315 - 0.8905i -1.1641 ans = 1.0000 1.5000 0.5000 -0.0000 2.0000 2.5000 注意,當(dāng)用根生成多項(xiàng)式時(shí),如果某些根有虛部,由于截注意,當(dāng)用根生成多項(xiàng)式時(shí),如果某些根有虛部,由于截?cái)嗾`差的存在,用函數(shù)斷誤差的存在,用函數(shù)poly生成的多項(xiàng)式可能有一些小的生成的多項(xiàng)式可能有一些小的虛部。如果要消除這些虛部,只需使用函數(shù)虛部。如果要消除這些虛部,只需使用函數(shù)real抽取實(shí)部抽取實(shí)部。 2.5.2 多項(xiàng)式的運(yùn)算多項(xiàng)式的運(yùn)算 1.多項(xiàng)式的加、減運(yùn)算多項(xiàng)式的加、減運(yùn)算 多項(xiàng)式的加、減運(yùn)算要
42、求兩個(gè)相加、減的多項(xiàng)式向量的大多項(xiàng)式的加、減運(yùn)算要求兩個(gè)相加、減的多項(xiàng)式向量的大小必須相等,當(dāng)兩個(gè)相加、減的多頂式階次不同時(shí),低階小必須相等,當(dāng)兩個(gè)相加、減的多頂式階次不同時(shí),低階多項(xiàng)式必須用首零填補(bǔ),使其與高階多頂式有相同的階次。多項(xiàng)式必須用首零填補(bǔ),使其與高階多頂式有相同的階次。 【例【例2-5-3】求多項(xiàng)式和的和、差。】求多項(xiàng)式和的和、差。 MATLAB語(yǔ)句如下:語(yǔ)句如下: p1=3 0 2 -5; p2=0 0 5 2; T1=poly2sym(p1+p2) T2=poly2sym(p1-p2) 運(yùn)行語(yǔ)句,輸出結(jié)果:運(yùn)行語(yǔ)句,輸出結(jié)果: T1 = 3*x3+7*x-3 T2 = 3*x
43、3-3*x-7 2.多項(xiàng)式的乘法運(yùn)算多項(xiàng)式的乘法運(yùn)算 多項(xiàng)式的乘法運(yùn)算用函數(shù)多項(xiàng)式的乘法運(yùn)算用函數(shù)conv(p1,p2)來(lái)實(shí)現(xiàn)。來(lái)實(shí)現(xiàn)。conv函數(shù)函數(shù)相當(dāng)于執(zhí)行兩個(gè)數(shù)組的卷積。當(dāng)對(duì)多個(gè)多項(xiàng)式執(zhí)行乘法時(shí),相當(dāng)于執(zhí)行兩個(gè)數(shù)組的卷積。當(dāng)對(duì)多個(gè)多項(xiàng)式執(zhí)行乘法時(shí),而要重復(fù)使用而要重復(fù)使用conv函數(shù)。函數(shù)。 【例【例2-5-4】求【例】求【例2-5-3】中兩多項(xiàng)式的乘積?!恐袃啥囗?xiàng)式的乘積。 MATLAB語(yǔ)句如下:語(yǔ)句如下: T=conv(p1,p2); poly2sym(t) 運(yùn)行語(yǔ)句,輸出結(jié)果:運(yùn)行語(yǔ)句,輸出結(jié)果: ans = 5*x4+6*x3+10*x2-21*x-10 3.多項(xiàng)式的除法運(yùn)算多
44、項(xiàng)式的除法運(yùn)算 多項(xiàng)式的除法運(yùn)算用函數(shù)多項(xiàng)式的除法運(yùn)算用函數(shù)deconv(Tl,T2)來(lái)實(shí)現(xiàn)。來(lái)實(shí)現(xiàn)。deconv函數(shù)相當(dāng)于執(zhí)行兩個(gè)數(shù)組的解卷積。函數(shù)相當(dāng)于執(zhí)行兩個(gè)數(shù)組的解卷積。 【例【例2-5-5】求【例】求【例2-5-3】中兩多項(xiàng)式的商?!恐袃啥囗?xiàng)式的商。 MATLAB語(yǔ)句如下:語(yǔ)句如下: p1=3 0 2 -5; p2=5 2; T r=deconv(p1,p2) 運(yùn)行語(yǔ)句,輸出結(jié)果:運(yùn)行語(yǔ)句,輸出結(jié)果: T = 0.6000 -0.2400 0.4960 r = 0 0 0 -5.9920 其中,其中,T為多項(xiàng)式相除后的商向量,為多項(xiàng)式相除后的商向量,r為多項(xiàng)式除法的余數(shù)為多項(xiàng)式除法的
45、余數(shù)向量。向量。 4.多項(xiàng)式的導(dǎo)數(shù)運(yùn)算多項(xiàng)式的導(dǎo)數(shù)運(yùn)算 多項(xiàng)式的導(dǎo)數(shù)運(yùn)算即多項(xiàng)式的微分運(yùn)算,用函數(shù)多項(xiàng)式的導(dǎo)數(shù)運(yùn)算即多項(xiàng)式的微分運(yùn)算,用函數(shù)polyder來(lái)實(shí)現(xiàn)。來(lái)實(shí)現(xiàn)。 【例【例2-5-6】對(duì)多項(xiàng)式】對(duì)多項(xiàng)式 求導(dǎo)數(shù)。求導(dǎo)數(shù)。 MATLAB語(yǔ)句如下:語(yǔ)句如下: p1=3 0 2 -5; q=polyder(p1); poly2sym(q) 運(yùn)行語(yǔ)句,輸出結(jié)果:運(yùn)行語(yǔ)句,輸出結(jié)果: ans = 9*x2+2 5.多項(xiàng)式的估值運(yùn)算多項(xiàng)式的估值運(yùn)算 多項(xiàng)式的估值運(yùn)算用函數(shù)多項(xiàng)式的估值運(yùn)算用函數(shù)polyval或或polyvalm來(lái)實(shí)現(xiàn)。其來(lái)實(shí)現(xiàn)。其中,函數(shù)中,函數(shù)polyval的調(diào)用格式為的調(diào)用格式
46、為polyval(p,s),p為多項(xiàng)式,為多項(xiàng)式,s為方陣,它是按矩陣運(yùn)算規(guī)則來(lái)計(jì)算多項(xiàng)式的值。為方陣,它是按矩陣運(yùn)算規(guī)則來(lái)計(jì)算多項(xiàng)式的值。 【例【例2-5-7】求多項(xiàng)式在給定點(diǎn)】求多項(xiàng)式在給定點(diǎn) =3 5和和 =3 5;2 4處的值。處的值。 MATLAB語(yǔ)句如下:語(yǔ)句如下: p1=3 0 2 -5; h1=polyval(p1,3 5) h2=polyvalm(p1,3 5;2 4) 運(yùn)行語(yǔ)句,輸出結(jié)果:運(yùn)行語(yǔ)句,輸出結(jié)果: h1 = 82 380 h2 = 382 715 286 525 6.多項(xiàng)式的求根運(yùn)算多項(xiàng)式的求根運(yùn)算 利用函數(shù)利用函數(shù)roots來(lái)求多項(xiàng)式的根。來(lái)求多項(xiàng)式的根。 【
47、例【例2-5-8】求方程】求方程 的根。的根。 MATLAB語(yǔ)句如下:語(yǔ)句如下: p1=3 0 2 -5; h=roots(p1) 運(yùn)行語(yǔ)句,輸出結(jié)果:運(yùn)行語(yǔ)句,輸出結(jié)果: h = -0.5000 + 1.1902i -0.5000 - 1.1902i 1.0000 2.5.3 多項(xiàng)式擬合多項(xiàng)式擬合 在在MATLAB中,多項(xiàng)式的擬合可用函數(shù)中,多項(xiàng)式的擬合可用函數(shù)polyfit來(lái)實(shí)現(xiàn)。函數(shù)來(lái)實(shí)現(xiàn)。函數(shù)polyfit的調(diào)用格式如下:的調(diào)用格式如下: (1)polyfit(x,y,n):表示用最小二乘法來(lái)對(duì)已知數(shù)據(jù):表示用最小二乘法來(lái)對(duì)已知數(shù)據(jù)x,y進(jìn)進(jìn)行擬合,以求得行擬合,以求得n階多項(xiàng)式的系數(shù)
48、向量,輸入?yún)?shù)中的階多項(xiàng)式的系數(shù)向量,輸入?yún)?shù)中的n即為要即為要擬合的多項(xiàng)式的階次。擬合的多項(xiàng)式的階次。 (2)p,s=polyfit(x,y,n):其中,輸入?yún)?shù)與上面的一樣,它:其中,輸入?yún)?shù)與上面的一樣,它返回要擬合的多項(xiàng)式的系數(shù)向量返回要擬合的多項(xiàng)式的系數(shù)向量p,向量,向量s為使用函數(shù)為使用函數(shù)polyval獲得的錯(cuò)誤預(yù)估計(jì)值。獲得的錯(cuò)誤預(yù)估計(jì)值。 一般來(lái)說(shuō),多項(xiàng)式擬合中階數(shù)一般來(lái)說(shuō),多項(xiàng)式擬合中階數(shù)n越大,擬合的精度就越高。越大,擬合的精度就越高。 【例【例2-5-9】用】用5階多項(xiàng)式對(duì)階多項(xiàng)式對(duì)0,2*pi上的正弦函數(shù)進(jìn)行擬合。上的正弦函數(shù)進(jìn)行擬合。 MATLAB程序如下:程序如下
49、: x=0:pi/100:2*pi; y=sin(x); T=polyfit(x,y,5); y1=polyval(T,x); plot(x,y,ro,x,y1, g-)01234567-1.5-1-0.500.511.5圖圖2-1多項(xiàng)式擬合圖多項(xiàng)式擬合圖2.6 符號(hào)運(yùn)算符號(hào)運(yùn)算 2.6.1 基本符號(hào)對(duì)象基本符號(hào)對(duì)象 (1)sym函數(shù)函數(shù) sym函數(shù)用來(lái)建立單個(gè)符號(hào)量,格式為:函數(shù)用來(lái)建立單個(gè)符號(hào)量,格式為: 符號(hào)量名符號(hào)量名=sym(符號(hào)字符串符號(hào)字符串) 該函數(shù)可以建立一個(gè)符號(hào)量,符號(hào)字符串可以是常量、變量、該函數(shù)可以建立一個(gè)符號(hào)量,符號(hào)字符串可以是常量、變量、函數(shù)或表達(dá)式函數(shù)或表達(dá)式,以
50、及,以及符號(hào)常量。符號(hào)常量。 (2)syms函數(shù)函數(shù) syms函數(shù)一次可以定義多個(gè)符號(hào)變量。格式為:函數(shù)一次可以定義多個(gè)符號(hào)變量。格式為: syms符號(hào)變量名符號(hào)變量名1 符號(hào)變量名符號(hào)變量名2 符號(hào)變量名符號(hào)變量名n 注意:注意:不要在變量名上加字符串分界符(不要在變量名上加字符串分界符(),變量間用空格),變量間用空格而不要用逗號(hào)分隔。而不要用逗號(hào)分隔。 2.6.2 符號(hào)表達(dá)式符號(hào)表達(dá)式 含有符號(hào)對(duì)象的表達(dá)式稱(chēng)為符號(hào)表達(dá)式,符號(hào)矩陣也是一含有符號(hào)對(duì)象的表達(dá)式稱(chēng)為符號(hào)表達(dá)式,符號(hào)矩陣也是一種符號(hào)表達(dá)式,符號(hào)表達(dá)式運(yùn)算都可以在矩陣意義下進(jìn)行。建種符號(hào)表達(dá)式,符號(hào)表達(dá)式運(yùn)算都可以在矩陣意義下進(jìn)行
51、。建立符號(hào)表達(dá)式有以下立符號(hào)表達(dá)式有以下3種方法:種方法: (1)利用單引號(hào)來(lái)生成符號(hào)表達(dá)式;)利用單引號(hào)來(lái)生成符號(hào)表達(dá)式; (2)用)用sym函數(shù)建立符號(hào)表達(dá)式;函數(shù)建立符號(hào)表達(dá)式; (3)使用已經(jīng)定義的符號(hào)變量組成符號(hào)表達(dá)式。)使用已經(jīng)定義的符號(hào)變量組成符號(hào)表達(dá)式。 符號(hào)矩陣的元素可以是任何不帶等號(hào)的符號(hào)表達(dá)式,各符號(hào)符號(hào)矩陣的元素可以是任何不帶等號(hào)的符號(hào)表達(dá)式,各符號(hào)表達(dá)式的長(zhǎng)度可以不同,矩陣元素之間可用空格或逗號(hào)分隔。表達(dá)式的長(zhǎng)度可以不同,矩陣元素之間可用空格或逗號(hào)分隔。 【例【例2-6-1】符號(hào)對(duì)象和符號(hào)表達(dá)式創(chuàng)建?!糠?hào)對(duì)象和符號(hào)表達(dá)式創(chuàng)建。 MATLAB語(yǔ)句:語(yǔ)句: syms x
52、 y; %建立符號(hào)變量建立符號(hào)變量x、y f1=3*x2+2*y+4*x*y+3 %定義符號(hào)表達(dá)式定義符號(hào)表達(dá)式f1 f2=sym(5*x2+3*y+x*y+1) %定義符號(hào)表達(dá)式定義符號(hào)表達(dá)式f2 A=sym(a,2*b;3*a,0) %定義符號(hào)矩陣定義符號(hào)矩陣A B=f1/2+2*f2-5 %求符號(hào)表達(dá)式的值求符號(hào)表達(dá)式的值B 請(qǐng)讀者自己運(yùn)行結(jié)果請(qǐng)讀者自己運(yùn)行結(jié)果 注意:符號(hào)矩陣的每一行的兩端都有方括號(hào),這是與注意:符號(hào)矩陣的每一行的兩端都有方括號(hào),這是與MATLAB數(shù)值矩陣的一個(gè)重要區(qū)別。在數(shù)值矩陣的一個(gè)重要區(qū)別。在MATLAB中數(shù)值中數(shù)值矩陣不能直接參與符號(hào)運(yùn)算,必須先通過(guò)函數(shù)矩陣不能
53、直接參與符號(hào)運(yùn)算,必須先通過(guò)函數(shù)sym轉(zhuǎn)化為轉(zhuǎn)化為符號(hào)矩陣。符號(hào)矩陣。 2.6.3 符號(hào)表達(dá)式的運(yùn)算符號(hào)表達(dá)式的運(yùn)算 常用函數(shù)常用函數(shù): factor(S):對(duì):對(duì)S分解因式,分解因式,S是符號(hào)表達(dá)式或符號(hào)矩陣。是符號(hào)表達(dá)式或符號(hào)矩陣。 expand(S):對(duì):對(duì)S進(jìn)行展開(kāi),進(jìn)行展開(kāi),S是符號(hào)表達(dá)式或符號(hào)矩陣。是符號(hào)表達(dá)式或符號(hào)矩陣。 collect(S):對(duì):對(duì)S合并同類(lèi)項(xiàng),合并同類(lèi)項(xiàng),S是符號(hào)表達(dá)式或符號(hào)矩陣。是符號(hào)表達(dá)式或符號(hào)矩陣。 collect(S,a):對(duì):對(duì)S按變量按變量a合并同類(lèi)項(xiàng),合并同類(lèi)項(xiàng),S是符號(hào)表達(dá)式或符是符號(hào)表達(dá)式或符號(hào)矩陣。號(hào)矩陣。 simplify(S):應(yīng)用函數(shù)
54、規(guī)則對(duì):應(yīng)用函數(shù)規(guī)則對(duì)S進(jìn)行化簡(jiǎn)。進(jìn)行化簡(jiǎn)。 simple(S):調(diào)用:調(diào)用MATLAB的其它函數(shù)對(duì)表達(dá)式的其它函數(shù)對(duì)表達(dá)式S進(jìn)行綜合進(jìn)行綜合化簡(jiǎn),并顯示化簡(jiǎn)過(guò)程。化簡(jiǎn),并顯示化簡(jiǎn)過(guò)程。 2.6.4 常用的符號(hào)運(yùn)算常用的符號(hào)運(yùn)算 1limit limit是求極限的符號(hào)函數(shù),其常用的格式:是求極限的符號(hào)函數(shù),其常用的格式: limit(f,x,a, right)或或limit(f,x,a, left) 表示當(dāng)自變量表示當(dāng)自變量x從右側(cè)或左側(cè)逼近從右側(cè)或左側(cè)逼近a時(shí),函數(shù)時(shí),函數(shù)f的極值。的極值。 2diff diff是求微分最常用的符號(hào)函數(shù),其輸入?yún)?shù)既可以是函數(shù)是求微分最常用的符號(hào)函數(shù),其輸入
55、參數(shù)既可以是函數(shù)表達(dá)式,也可以是符號(hào)矩陣。常用的格式:表達(dá)式,也可以是符號(hào)矩陣。常用的格式:diff(f,x,n),表示,表示f關(guān)于關(guān)于x求求n階導(dǎo)數(shù)。階導(dǎo)數(shù)。 3int int是求積分最常用的符號(hào)函數(shù),其輸入?yún)?shù)可以是函數(shù)表達(dá)是求積分最常用的符號(hào)函數(shù),其輸入?yún)?shù)可以是函數(shù)表達(dá)式。常用的格式式。常用的格式:int(f,r,x0,x1),其中,其中,f為所要積分的表達(dá)式為所要積分的表達(dá)式,r為積分變量,若為定積分,則為積分變量,若為定積分,則x0與與x1為積分的上下限。為積分的上下限。 4symsum symsum是級(jí)數(shù)求和的符號(hào)函數(shù),其常用的格是級(jí)數(shù)求和的符號(hào)函數(shù),其常用的格式:式: S=sy
56、msum(fk,k,k0,kn) 其中其中fk為級(jí)數(shù)的通項(xiàng),為級(jí)數(shù)的通項(xiàng),k為級(jí)數(shù)自變量,為級(jí)數(shù)自變量,k0和和kn為級(jí)數(shù)求和的起始項(xiàng)和終止項(xiàng),可設(shè)為為級(jí)數(shù)求和的起始項(xiàng)和終止項(xiàng),可設(shè)為inf。 5dsolve dsolve是求解常微分方程的符號(hào)函數(shù),常用的格式:是求解常微分方程的符號(hào)函數(shù),常用的格式: dsolve(eqn1, condition, var) 該函數(shù)求解微分方程該函數(shù)求解微分方程eqn1在初值條件在初值條件condition下的特解。參下的特解。參數(shù)數(shù)var描述方程中的自變量符號(hào),省略時(shí)按默認(rèn)原則處理,若描述方程中的自變量符號(hào),省略時(shí)按默認(rèn)原則處理,若沒(méi)有給出初值條件沒(méi)有給出初
57、值條件condition,則求方程的通解。,則求方程的通解。 dsolve在求微分方程組時(shí)的調(diào)用格式為:在求微分方程組時(shí)的調(diào)用格式為: dsolve(eqn1, eqn2,., eqN, condition1,., conditionN, var1,., varN) 函數(shù)求解微分方程組函數(shù)求解微分方程組eqn1,eqn,eqnN在在初值條件初值條件conditoion1,conditoion2,conditoionN下的解,若不給出初值條件,則求方程組的下的解,若不給出初值條件,則求方程組的通解,通解,var1,var2,varN給出求解變量。給出求解變量。 【例【例2-6-2】微積分的符號(hào)運(yùn)
58、算實(shí)例。(】微積分的符號(hào)運(yùn)算實(shí)例。(1)已知表達(dá)式)已知表達(dá)式 ,分別,分別對(duì)對(duì) 和和 求導(dǎo);(求導(dǎo);(2)已知表達(dá)式)已知表達(dá)式 ,求對(duì),求對(duì) 的積分和的積分和 在在(-1,1)上的上的積分值。積分值。 MATLAB程序如下:程序如下: (1) syms a x %定義符號(hào)變量定義符號(hào)變量a和和x f=sin(a*x); %創(chuàng)建函數(shù)創(chuàng)建函數(shù)f dfx=diff(f,x) %對(duì)對(duì)x求導(dǎo)求導(dǎo) dfa=diff(f,a) %對(duì)對(duì)a求導(dǎo)求導(dǎo) 運(yùn)行結(jié)果運(yùn)行結(jié)果略。略。 (2) f=x*log(1+x); %創(chuàng)建函數(shù)創(chuàng)建函數(shù)f int1=int(f,x) %對(duì)對(duì)x積分積分 int2=int(f,x,-1
59、,1) %求求-1,1區(qū)間上的積分區(qū)間上的積分 運(yùn)行結(jié)果運(yùn)行結(jié)果略。略。 【例【例2-6-3】常微分方程符號(hào)運(yùn)算實(shí)例。(】常微分方程符號(hào)運(yùn)算實(shí)例。(1)計(jì)算微分方程)計(jì)算微分方程 的的通解。(通解。(2)求)求 的通解。的通解。 MATLAB程序如下:程序如下: f1=dsolve(Dy+3*x*y=x*exp(-x2), x),simplify(f1) f2=dsolve(D2y+2*Dy+exp(x)=0, x),simplify(f2) 運(yùn)行程序,輸出結(jié)果如下所示:運(yùn)行程序,輸出結(jié)果如下所示: f1 = exp(-x2)+exp(-3/2*x2)*C1 ans = exp(-x2)+ex
60、p(-3/2*x2)*C1 f2 = -1/3*exp(x)+C1+C2*exp(-2*x) ans = 1/3*(-exp(3*x)+3*C1*exp(2*x)+3*C2)*exp(-2*x)2.7 MATLAB繪圖繪圖 2.7.1 MATLAB中繪圖的基本步驟中繪圖的基本步驟 (1)準(zhǔn)備數(shù)據(jù)。輸入相應(yīng)的橫坐標(biāo)變量和縱坐標(biāo)變量數(shù)據(jù))準(zhǔn)備數(shù)據(jù)。輸入相應(yīng)的橫坐標(biāo)變量和縱坐標(biāo)變量數(shù)據(jù) (2)繪制圖形。在指定的位置創(chuàng)建新的繪圖窗口,調(diào)用適當(dāng))繪制圖形。在指定的位置創(chuàng)建新的繪圖窗口,調(diào)用適當(dāng)?shù)睦L圖函數(shù)進(jìn)行繪圖,并對(duì)圖形屬性進(jìn)行設(shè)置,包括坐標(biāo)軸的繪圖函數(shù)進(jìn)行繪圖,并對(duì)圖形屬性進(jìn)行設(shè)置,包括坐標(biāo)軸標(biāo)注、線
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 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ì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 印刷月結(jié)協(xié)議合同范本
- 合同主體變更補(bǔ)充合同范本
- 動(dòng)遷出售合同范例
- 合陽(yáng)房子出租合同范本
- 不規(guī)則車(chē)位轉(zhuǎn)讓合同范本
- 水果存儲(chǔ)合同范本
- 公寓降價(jià)出租合同范例
- 農(nóng)田承包中介合同范本
- 發(fā)廊出兌合同范本
- 商務(wù)外貿(mào)合同范本
- 《隆中對(duì)》教學(xué)講解課件
- 絕緣電阻測(cè)試儀安全操作規(guī)程
- DB6101T 197-2022 藤蔓類(lèi)尾菜堆肥技術(shù)規(guī)程
- 西藏房屋建筑工程竣工材料全套表格
- 量子力學(xué)英文課件格里菲斯Chapter4
- 鍋爐節(jié)能管理制度
- 2023年道路交通安全法實(shí)施條例
- 鹽城市殘疾人康復(fù)機(jī)構(gòu)認(rèn)定暫行辦法
- 護(hù)理不良事件管理、上報(bào)制度及流程
- 房地產(chǎn)公司各崗位職責(zé)及組織結(jié)構(gòu)圖
- 七夕節(jié)傳統(tǒng)文化習(xí)俗主題教育PPT
評(píng)論
0/150
提交評(píng)論