第2章MATLAB數(shù)值運(yùn)算_第1頁
第2章MATLAB數(shù)值運(yùn)算_第2頁
第2章MATLAB數(shù)值運(yùn)算_第3頁
第2章MATLAB數(shù)值運(yùn)算_第4頁
第2章MATLAB數(shù)值運(yùn)算_第5頁
已閱讀5頁,還剩73頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、第1頁2.1 MATLAB運(yùn)算對象運(yùn)算對象2.2 矩陣矩陣2.3 向量向量2.4 數(shù)組數(shù)組2.5 多項(xiàng)式多項(xiàng)式2.6 數(shù)據(jù)統(tǒng)計數(shù)據(jù)統(tǒng)計第2頁2.1.1 MATLAB數(shù)據(jù)類型數(shù)據(jù)類型 MATLAB所涉及的數(shù)據(jù)類型主要包括:數(shù)值、字符串、邏輯、元胞、結(jié)構(gòu)、類等。每一種類型的數(shù)據(jù)都是以矩陣或數(shù)組的形式表現(xiàn)出來。 1. 數(shù)值類型數(shù)值類型分類方法一:分類方法一:雙精度型(系統(tǒng)默認(rèn)類型)、單精度型、帶符號整數(shù)、無符號整數(shù)分類方法二:分類方法二:標(biāo)量(單個數(shù)據(jù))、數(shù)組、矩陣 分類方法三:分類方法三:實(shí)數(shù)、復(fù)數(shù) z1=1+2iz1 = 1.0000 + 2.0000i z2=3+4jz2 = 3.0000 +

2、 4.0000i注意:虛部的數(shù)值與虛數(shù)符號虛部的數(shù)值與虛數(shù)符號i i或或j j之間可以直接相乘,不必使用乘號,之間可以直接相乘,不必使用乘號,但必須將數(shù)值放在但必須將數(shù)值放在i i或或j j之前。如果之前。如果虛部是表達(dá)式則必須使用乘號。虛部是表達(dá)式則必須使用乘號。第3頁 MATLAB用十進(jìn)制數(shù)表示一個常數(shù),具體可采用日常記數(shù)法和科學(xué)記數(shù)法兩種表示方法。 數(shù)據(jù)輸出時用戶可以用format命令設(shè)置或改變數(shù)據(jù)輸出格式。format命令的格式為: format 格式符 MATLAB命令含 義示 例format short短格式短格式3.1416format short e短格式科學(xué)格式短格式科學(xué)格式

3、3.1416e+000format long長格式長格式3.14159265358979format long e長格式科學(xué)格式長格式科學(xué)格式3.141592653589793e+000format rat有理格式有理格式355/113format hex十六進(jìn)制格式十六進(jìn)制格式400921fb54442d18format bank銀行格式銀行格式3.14注意:format命令只影響數(shù)據(jù)輸出格式,而不影響數(shù)據(jù)的計算和存儲。函數(shù)名功能hex2dec1610dec2hex1016bin2dec210dec2bin102數(shù)據(jù)的輸出格式進(jìn)制轉(zhuǎn)換函數(shù)第4頁2. 字符串類型 字符串字符串是指包含在一對單引

4、號中的字符集合,字符串中的每個字符(含空格)都是字符數(shù)組的一個元素。在MATLAB 中字符串和字符數(shù)組基本上是等價的。 s=hello, MATLAB%定義字符串變量ss = hello, MATLAB s(2)ans = es2=hello, MATLABs2= hello, MATLAB MATLAB中有關(guān)字符串操作的函數(shù)見下表,其幫助信息可通過strings關(guān)鍵詞查詢。第5頁函數(shù)名功能函數(shù)名功能strcat字符串連接upper轉(zhuǎn)大寫strvcat字符串垂直連接lower轉(zhuǎn)小寫strcmp比較串blanks生成空串strcnmp比較串的前n個字符deblank移去串內(nèi)空格findstr查子

5、串ischar字符串檢驗(yàn)strjust證明字符數(shù)組iscellstr字符串的單元陣檢驗(yàn)strmatch查找可能匹配的字符串isletter字母檢驗(yàn)strrep以其它串代替此串isspace空格檢驗(yàn)strtok尋找串中記號字符串操作函數(shù)表注:1)字符串是以ASCII碼形式存儲的;2)如果字符串中含有定界符本身,則應(yīng)該用兩個單撇號來表示,如s=Im a student第6頁【例【例】建立一個字符串向量“ABC123hello!”,然后對該向量做如下處理:1 )取13個字符組成子字符串;2)將字符串反序排列;3)將字符串中的小寫字母變成大寫;4)將其中的123用“安徽”替換。 s= ABC123he

6、llo! s1=s(1:3) s2=upper(s) s3=strrep(s,123,安徽) a=123; b=abc; a+b %對應(yīng)元素對應(yīng)元素ASCII相加相加146 148 150 strcat(a,b) %123abc第7頁 與字符串有關(guān)的另一個重要函數(shù)是eval文本宏,其調(diào)用格式為: eval(t) 其中t為字符串。它的作用是把字符串的內(nèi)容作為對應(yīng)的MATLAB語句來執(zhí)行。例如: t=pi; m=t,sin(t),cos(t); y=eval(m)函數(shù)名功能函數(shù)名功能num2str數(shù)字轉(zhuǎn)換為字符串str2num轉(zhuǎn)換字符串為數(shù)字int2str整數(shù)轉(zhuǎn)換為字符串sprints將格式數(shù)據(jù)寫

7、為字符串mat2str矩陣轉(zhuǎn)換為字符串sscanf在格式控制下讀字符串?dāng)?shù)值數(shù)組和字符串轉(zhuǎn)換函數(shù)表第8頁3. 結(jié)構(gòu)和單元1) 結(jié)構(gòu)(架構(gòu))數(shù)據(jù) MATLAB通過使用結(jié)構(gòu)數(shù)據(jù)(Structure)把一組不同類型的數(shù)據(jù)同時又是在邏輯上相關(guān)的數(shù)據(jù)組成一個有機(jī)的整體,以便于管理和引用。 (1)建立)建立 直接賦值法直接賦值法 =陳歡; stud.sex=男; stud.age=24; stud stud是一種結(jié)構(gòu)??梢匀菁{更多的元素,可以自由地向結(jié)構(gòu)中加入元素。也可以用后面的方法創(chuàng)建結(jié)構(gòu)數(shù)組。第9頁 用用struct函數(shù)函數(shù) 使用struct函數(shù),可以根據(jù)指定的字段及其相應(yīng)的值創(chuàng)建結(jié)構(gòu)

8、或結(jié)構(gòu)數(shù)組。此函數(shù)的一般形式為: str_array=struct(field1,val1,field2,val2.);例如:例如:st1=struct(name, 王琦,sex,女,age,24); %創(chuàng)建結(jié)構(gòu)st2=struct(name,張強(qiáng),胡坤,age,23,24, ID,01, 02,score,rand()*10,rand()*10); %創(chuàng)建結(jié)構(gòu)數(shù)組 (2)引用)引用 格式:格式:結(jié)構(gòu)(數(shù)組)名.成員名例如:例如: st2(2).age (3)修改)修改 格式:格式:結(jié)構(gòu)(數(shù)組)名.成員名=值第10頁 (4)操作)操作struct:創(chuàng)建結(jié)構(gòu)或?qū)⑵渌麛?shù)據(jù)類型轉(zhuǎn)變

9、成結(jié)構(gòu)fieldnames:獲取結(jié)構(gòu)的字段名稱getfield:獲取結(jié)構(gòu)的字段數(shù)據(jù)setfield:設(shè)置結(jié)構(gòu)的字段數(shù)據(jù)rmfield:刪除結(jié)構(gòu)的指定字段isfield:判斷給定的字符串是否為結(jié)構(gòu)的字段名稱isstruct:判斷給定的數(shù)據(jù)對象是否為結(jié)構(gòu)類型orderfields:將結(jié)構(gòu)字段排序例如: fieldnames(st) setfield(st,name,黃宏) %=黃宏 getfield(st,name) % st=rmfield(st,age) isfield(st,age)第11頁2) 單元(元胞)數(shù)據(jù) 單元(Cell)數(shù)據(jù)的概念與結(jié)構(gòu)有些類似,也是把不

10、同屬性的數(shù)據(jù)放在一個變量中。所不同的是,結(jié)構(gòu)變量的各個元素下有成員,每個成員都有自己的名字,對成員的引用是:結(jié)構(gòu)變量名結(jié)構(gòu)變量名.成員名成員名。而單元數(shù)據(jù)的各個元素就是不同類型的數(shù)據(jù),用帶有大括號下標(biāo)大括號下標(biāo)的形式引用單元數(shù)據(jù)元素。(1)建立)建立 直接賦值法直接賦值法 a=matlab,20,ones(2,3),1:10 b=10 用用cell函數(shù)函數(shù) cell函數(shù)創(chuàng)建空元胞(數(shù)組),目的是為數(shù)組預(yù)先分配連續(xù)的存儲空間,節(jié)約內(nèi)存占用,提高執(zhí)行效率。 c=cell(1) 第12頁(2)引用)引用 元胞(數(shù)組)中數(shù)據(jù)的訪問,可通過元胞內(nèi)容的下標(biāo)進(jìn)行,用元胞(數(shù)組)名加大括號。大括號中數(shù)值表示元

11、胞的下標(biāo)。 str=a(3)str = matlab str=a3str =matlab注意:注意:( )和有著本質(zhì)的區(qū)別,大括號用于表示元胞的內(nèi)容,小括號表示指定的元胞。第13頁 (3)操作)操作 cell:創(chuàng)建空的元胞數(shù)組 cellfun:為元胞數(shù)組的每個元胞執(zhí)行指定的函數(shù) celldisp:顯示所有元胞的內(nèi)容 cellplot:利用圖形方式顯示元胞數(shù)組 cell2mat:將元胞數(shù)組轉(zhuǎn)變成為普通的矩陣 mat2cell:將數(shù)值矩陣轉(zhuǎn)變成為元胞數(shù)組 num2cell:將數(shù)值數(shù)組轉(zhuǎn)變成為元胞數(shù)組 deal:將輸入?yún)?shù)賦值給輸出 cell2struct:將元胞數(shù)組轉(zhuǎn)變成為結(jié)構(gòu) struct2ce

12、ll:將結(jié)構(gòu)轉(zhuǎn)變?yōu)樵麛?shù)組 iscell:判斷輸入是否為元胞數(shù)組第14頁4.類 類(class) 是一種數(shù)據(jù)類型,與普通的數(shù)據(jù)類型不同的是類不僅包含數(shù)據(jù),還包含對數(shù)據(jù)的操作,類把數(shù)據(jù)和數(shù)據(jù)操作方法封裝在一起,作為一個整體參與程序的運(yùn)行。類具有可繼承性,創(chuàng)建一個新的類的時候,可以在一個基類中添加成員派生出新類。類的變量和類的實(shí)例是不同的,類的實(shí)例是動態(tài)分配的內(nèi)存區(qū)域,通常稱類的實(shí)例為“對象”,同一個類可以有不同的實(shí)例存在,他們各自有自己的數(shù)據(jù),但是數(shù)據(jù)操作方法是相同的。類的變量可以看作是一個指針,指向類的實(shí)例。 在MATLAB中,為了更好地進(jìn)行數(shù)據(jù)的封裝,更加抽象地描述對象,也定義了類。第15頁

13、2.1.2 MATLAB運(yùn)算符 MATLAB的基本運(yùn)算可分為三類:算術(shù)運(yùn)算、關(guān)系運(yùn)算、邏輯運(yùn)算。1. 算術(shù)運(yùn)算算術(shù)運(yùn)算基本算術(shù)運(yùn)算符運(yùn) 算符 號運(yùn) 算符 號加加+減減-乘乘*數(shù)組相乘數(shù)組相乘.*左除左除數(shù)組左除數(shù)組左除.右除右除/數(shù)組右除數(shù)組右除./冪次方冪次方數(shù)組冪次方數(shù)組冪次方.【例2.1】求解算術(shù)表達(dá)式 的值33)47(212 (12+2*(7-4)/33 ans = 0.6667第16頁2. 關(guān)系運(yùn)算關(guān)系運(yùn)算運(yùn) 算符 號運(yùn) 算符 號大于大于小于小于=小于等于小于等于 x=2; x3ans = 0 xpians= 3.141592653589791/0 % 0/0 結(jié)果為InfWarni

14、ng:Divid by zero.ans= Inf第19頁MATLAB系統(tǒng)的特殊變量和常數(shù)特殊變量意 義 ans如果用戶未定義變量名,系統(tǒng)用于存儲計算結(jié)果的默認(rèn)變量名如果用戶未定義變量名,系統(tǒng)用于存儲計算結(jié)果的默認(rèn)變量名 pi圓周率圓周率(= 3.1415926.) inf或或Inf無窮大無窮大值,如值,如1/0 eps浮點(diǎn)運(yùn)算的相對精度浮點(diǎn)運(yùn)算的相對精度2(-52)realmax最大的正浮點(diǎn)數(shù),最大的正浮點(diǎn)數(shù),2(1024)-1realmin最小的正浮點(diǎn)數(shù),最小的正浮點(diǎn)數(shù),2(-1022)NaN或或nan不定量,如不定量,如0/0或或inf/inf i或或j虛數(shù)單位虛數(shù)單位nargin函數(shù)輸

15、入?yún)?shù)個數(shù)函數(shù)輸入?yún)?shù)個數(shù)nargout函數(shù)輸出參數(shù)個數(shù)函數(shù)輸出參數(shù)個數(shù)lasterr存放最新的錯誤信息存放最新的錯誤信息lastwarn存放最新的警告信息存放最新的警告信息第20頁 變量是指在程序執(zhí)行過程中存儲數(shù)值可以變化的量。變量在計算機(jī)內(nèi)存中占據(jù)一定的存儲單元,在該單元中存放變量的值。 表達(dá)式是由運(yùn)算符、常量、變量名、函數(shù)調(diào)用以及特殊字符組成的類似于數(shù)學(xué)表達(dá)式的式子。變量的命名規(guī)則:變量的命名規(guī)則: 變量名由字母、數(shù)字和下劃線組成;變量名中的英文字母大小寫是有區(qū)別大小寫是有區(qū)別的; 變量名的最大長度是有規(guī)定的(不同版本的系統(tǒng)規(guī)定不同:19個字符、31或63個字符等。用戶可調(diào)用namele

16、ngthmax函數(shù)得到系統(tǒng)規(guī)定長度)用戶在命名時不要與上表中定義的一些特殊變量和常數(shù)同名。第21頁2.1.4 賦值語句 變量和表達(dá)式一起構(gòu)成了MATLAB的語句。 MATLAB賦值語句有兩種格式:(1) 變量=表達(dá)式 (2) 表達(dá)式一般地,運(yùn)算結(jié)果在命令窗口中顯示出來。如果在語句的最后加分號,那么,MATLAB僅僅執(zhí)行賦值操作,不再顯示運(yùn)算的結(jié)果。在MATLAB語句后面可以加上注釋,注釋以%開頭,后面是注釋的內(nèi)容。 注意:同一行中可以有幾個用逗號或分號隔開的語句,具體的區(qū)別是:x=2, y=3 %逗號隔開,屏幕有回顯x = 2y = 3m=2; n=3;%分號隔開,無回顯第22頁2.1.5 內(nèi)

17、存變量的管理1. 內(nèi)存變量的顯示與刪除內(nèi)存變量的顯示與刪除 who和whos這兩個命令用于顯示在MATLAB工作空間中已經(jīng)駐留的變量名清單。 clear命令用于刪除MATLAB工作空間中的變量。 注意:預(yù)定義變量不能被刪除。2. 工作空間瀏覽器工作空間瀏覽器 (1) 工作空間瀏覽器的啟動(WorkSpace) (2) 工作空間瀏覽器的操作(雙擊某變量名)3. 內(nèi)存變量文件內(nèi)存變量文件 利用MAT文件(.mat)可以把當(dāng)前MATLAB工作空間中的一些有用變量長久地保留下來。MAT文件的生成和裝入由save和load命令來完成。常用格式為: save 文件名 變量名表 -append-ascii

18、load 文件名 變量名表 -ascii第23頁【例2.3】變量的使用clear %刪除工作區(qū)中所有定義過的變量whos %查看當(dāng)前工作區(qū)內(nèi)變量信息,無顯示表示沒有定義的變量 xy=1; yx=2; %對變量賦值 xy %查看變量xy的當(dāng)前數(shù)值xy = 1 whos Name Size Bytes Class xy 1x1 8 double array yx 1x1 8 double arrayGrand total is 2 elements using 16 bytessave mydate % 保存工作空間中的變量 clear %清除工作空間的變量 whos xy %這時變量xy已經(jīng)不存

19、在了? Undefined function or variable xy.load mydate第24頁2.1.6 數(shù)學(xué)函數(shù)類型函 數(shù)含 義三角函數(shù)三角函數(shù)sin(x)正弦值正弦值asin(x)反正弦值反正弦值cos(x)余弦值余弦值tan(x)正切正切指數(shù)函數(shù)指數(shù)函數(shù)exp(x)指數(shù)運(yùn)算指數(shù)運(yùn)算log(x)/log10(x)以以e、10為底的對數(shù)為底的對數(shù)sqrt(x)求平方根求平方根復(fù)數(shù)函數(shù)復(fù)數(shù)函數(shù)abs(x)求絕對值求絕對值imag(x)取出復(fù)數(shù)的虛部取出復(fù)數(shù)的虛部real(x)取出復(fù)數(shù)的實(shí)部取出復(fù)數(shù)的實(shí)部conj(x)復(fù)數(shù)共軛復(fù)數(shù)共軛數(shù)論函數(shù)數(shù)論函數(shù)round(x)四舍五入四舍五入f

20、ix(x)向向0方向取整方向取整mod(x,y)求余數(shù)求余數(shù)lcm(x,y)整數(shù)整數(shù)x和和y的最小公倍數(shù)的最小公倍數(shù)gcd(x,y)整數(shù)整數(shù)x和和y的最大公約數(shù)的最大公約數(shù)isprime(x)判斷是否為質(zhì)數(shù)判斷是否為質(zhì)數(shù)使用函數(shù)須注意以下幾點(diǎn)使用函數(shù)須注意以下幾點(diǎn): :函數(shù)一定要出現(xiàn)在等式的函數(shù)一定要出現(xiàn)在等式的右邊右邊函數(shù)對其自變量的個數(shù)和函數(shù)對其自變量的個數(shù)和格式都有一定的要求格式都有一定的要求函數(shù)允許嵌套函數(shù)允許嵌套【例2.4】計算下式的結(jié)果,其中a=5.67, b=7.811baeba10)(loga=5.67; b=7.811;exp(a+b)/log10(a+b)ans = 6.3

21、351e+005第25頁 矩陣是指含有M行N列數(shù)據(jù)的矩形結(jié)構(gòu)。定義如下: 由mn個數(shù)aij(i=1,2,m; j=1,2,n;)排成m行n列的數(shù)表稱為矩陣,簡記為A=(aij)m n mnmmnnaaaaaaaaaA212222111211 矩陣中的元素可以是實(shí)數(shù)或者虛數(shù)。從而將矩陣分為實(shí)數(shù)矩陣和復(fù)數(shù)矩陣。第26頁1. 直接輸入法直接輸入法 將矩陣的元素用方括號 把所有矩陣元素括起來;按矩陣行的順序輸入各元素;同一行的各元素之間用空格或逗號分隔;不同行的元素之間用分號分隔(可分成幾行進(jìn)行輸入,用回車符代替分號);數(shù)據(jù)元素可以是表達(dá)式,系統(tǒng)將自動計算結(jié)果?!纠?.5】 A=1 2 3;4 5 6

22、;7 8 9 X=1+2i,3+4i,5-6i;10+20i,30+40i,50+60i 等價:a=1,3,5;10,20,30,b=2,4,-6;20,40,60 X=a+b*I在MATLAB中,給變量X賦空矩陣的語句為X=。2.2.1 矩陣的構(gòu)造第27頁2. 利用利用MATLAB函數(shù)建立矩陣函數(shù)建立矩陣 幾個函數(shù)的調(diào)用格式相似,下面以產(chǎn)生零矩陣的zeros函數(shù)為例進(jìn)行說明。其調(diào)用格式是: zeros(m) 產(chǎn)生mm零矩陣 zeros(m,n) 產(chǎn)生mn零矩陣。 zeros(size(A) 產(chǎn)生與矩陣A同樣大小的零矩陣函 數(shù)功 能eye(m,n,classname)產(chǎn)生單位矩陣產(chǎn)生單位矩陣z

23、eros產(chǎn)生全部元素為產(chǎn)生全部元素為0的矩陣的矩陣ones產(chǎn)生全部元素為產(chǎn)生全部元素為1的矩陣的矩陣rand產(chǎn)生均勻分布隨機(jī)矩陣產(chǎn)生均勻分布隨機(jī)矩陣randperm產(chǎn)生隨機(jī)排列產(chǎn)生隨機(jī)排列l(wèi)inspace(x1,x2,n)產(chǎn)生線性等分的矩陣產(chǎn)生線性等分的矩陣compan產(chǎn)生伴隨矩陣產(chǎn)生伴隨矩陣magicMagic(魔方魔方)矩陣矩陣第28頁【例2.6】 (1)建立一個33零矩陣:zeros(3) (2)建立一個32零矩陣:zeros(3,2) (3)產(chǎn)生一個元素在10,90整數(shù)區(qū)間的4階隨機(jī)方陣A,并判斷其元素能否被3整除: A=fix(90-10+1)*rand(5)+10),p=mod(A

24、,3)=0 (4)建立與矩陣A同樣大小的1矩陣:ones(size(A) 此外,常用的函數(shù)還有reshape(A,m,n),它在矩陣總元素保持不變的前提下,將矩陣A重新排成mn的二維矩陣。x=linspace(1,10) %默認(rèn)100個元素y=linspace(1,10,5) 相關(guān)的函數(shù)有:l e n g t h ( A ) 給 出 行 數(shù) 和 列 數(shù) 中 的 較 大 者 , 即length(A)=max(size(A);ndims(A)給出A的維數(shù)。第29頁3. 利用利用M文件建立矩陣文件建立矩陣 對于比較大且比較復(fù)雜的矩陣,可以為它專門建立一個M文件。 【例2.7】利用M文件建立MYMAT

25、矩陣。 (1)啟動有關(guān)編輯程序或MATLAB文本編輯器,并輸入待建矩陣。例如: exm=1 2 3 4 5 6 3 5 2 1 7 9 2 4 6 8 9 3 -1 7 3 9 4 2 ( 2 ) 把 輸 入 的 內(nèi) 容 以 純 文 本 方 式 存 盤 ( 設(shè) 文 件 名 為 mymatrix.m)。 (3)運(yùn)行該M文件,就會自動建立一個名為exm的矩陣,可供以后使用。 mymatrix第30頁4. 將硬盤的數(shù)據(jù)讀入將硬盤的數(shù)據(jù)讀入【例2.8】從硬盤上讀入各類數(shù)據(jù) 1)利用load命令將已存在的文本數(shù)據(jù)讀入。A=load(c:soil.txt) A = 77.3000 13.0000 9.70

26、00 1.5000 6.400082.5000 10.0000 7.5000 1.5000 6.500066.9000 20.6000 12.5000 2.3000 7.000047.2000 33.3000 19.0000 2.8000 5.800065.3000 20.5000 14.2000 1.9000 6.900083.3000 10.0000 6.7000 2.2000 7.000081.3000 12.7000 5.7000 2.9000 6.700047.8000 36.5000 15.7000 2.3000 7.200048.6000 37.1000 14.3000 2.10

27、00 7.2000第31頁2)利用xlsread命令將已存在的Excel格式的數(shù)據(jù)讀入。clc;clear % 清屏,清內(nèi)存A,B=xlsread(c:well.xls); %其中A為數(shù)據(jù),B為標(biāo)題plot(A(:,86),-R) 3)將流行的關(guān)系數(shù)據(jù)庫文件讀入MATLAB MATLAB提供了專門輸入和輸出各類數(shù)據(jù)庫文件的工具箱Database Toolbox,該工具箱可以將Access等流行的數(shù)據(jù)庫讀入或輸出到自身或其他的數(shù)據(jù)庫中,達(dá)到MATLAB和數(shù)據(jù)庫之間交換信息的目的。這對于用MATLAB進(jìn)行大量數(shù)據(jù)分析非常有用。 有兩種方法可以達(dá)到MATLAB和數(shù)據(jù)庫交換信息的目的,一是利用Data

28、base Toolbox提供的函數(shù)直接讀入,另一種是利用Database Toolbox提供的可視化界面Visual Query Builder(VQB)直接將數(shù)據(jù)庫的文件或文件的部分調(diào)入MATLAB的工作空間。第32頁2.2.2 矩陣的拆分矩陣的拆分5. 建立大矩陣建立大矩陣 大矩陣可由方括號中的小矩陣建立起來。例如:A=1 2 3;4 5 6;7 8 9; C=A,eye(size(A); ones(size(A),A1. 矩陣元素矩陣元素 MATLAB允許用戶對一個矩陣的單個元素進(jìn)行賦值和修改。例如:A(3,2)=200 也可以采用矩陣元素的序號來引用矩陣元素。矩陣元素按列編號按列編號,

29、先第一列,再第二列,依次類推。以mn矩陣A為例,矩陣元素A(i,j)的序號為(j-1)*m+i。其相互轉(zhuǎn)換關(guān)系也可利用sub2ind和ind2sub函數(shù)求得。 將某些元素從矩陣中刪除,可以采用將其置為空矩陣。注意:X=與clear X不同,clear是將X從工作空間中刪除,而空矩陣則存在于工作空間,只是維數(shù)為0。第33頁【例2.9】X=1 2 3;5 6 8;9 11 12X(2,3),X(7)ans = 8ans = 3X(3)=-9X = 1 2 3 5 6 8 -9 11 12第34頁 2. 矩陣拆分矩陣拆分 (1)利用冒號表達(dá)式獲得子矩陣 A(m, n)提取第m行,第n列元素 A(:,

30、 n)提取第n列元素 A(m, :)提取第m行元素 A(m1:m2, n1:n2)提取第m1行到第m2行和第n1列到第n2列的所有元素 A(m:end, n) 提取從第m行到最末行和第n列的子塊 A(:) 得到一個按矩陣的列進(jìn)行排列的長列矢量【例2.10】X=1 2 3 0;5 6 0 8;9 0 11 12;0 14 15 16X(2,:) %提取矩陣第2行元素X(2:3,1:3) %提取矩陣第2行到第3行和第1列到第3列的子塊X(2:end,1) %提取矩陣從第2行到最末行和第1列的子塊X(:) 第35頁2.2.3 稀疏矩陣 在許多工程實(shí)際中,經(jīng)常會出現(xiàn)一些只包含幾個非0元素,而其它大量的

31、元素都為0的矩陣,這種矩陣稱為稀疏矩陣。 如果按普通的方式來處理不僅會占用許多存儲空間,也會影響運(yùn)行速度,為此可以采用只存儲非0元素數(shù)值以及下標(biāo)位置的策略。 采用sparse函數(shù)可以將完全矩陣轉(zhuǎn)化為稀疏矩陣方式,而full函數(shù)可以變稀疏矩陣為完全矩陣。 調(diào)用nnz函數(shù)可以返回稀疏矩陣中非0元素的個數(shù),而nonzeros函數(shù)可以得到稀疏矩陣中非0元素按列順序構(gòu)成的列向量。第36頁【例2.11】稀疏矩陣的使用。X=0 0 3;1 0 0;0 5 0S=sparse(X) %將完全矩陣轉(zhuǎn)化為稀疏矩陣 S= (2,1) 1 (3,2) 5 (1,3) 3nnz(S) %返回稀疏矩陣中非0元素的個數(shù) a

32、ns= 3nonzeros(S) %稀疏矩陣的非0元素按列順序構(gòu)成的列向量 ans= 1 5 3T=full(S) %將稀疏矩陣轉(zhuǎn)為完全矩陣第37頁2.2.5 矩陣的算術(shù)運(yùn)算1矩陣的加減運(yùn)算:矩陣的加減運(yùn)算:(加)、(減) 只有當(dāng)兩個矩陣具有相同的階數(shù)或者其中一個是標(biāo)量的情況下,才能進(jìn)行,而標(biāo)量與矩陣的加減運(yùn)算是標(biāo)量與矩陣中的每一個元素進(jìn)行加減運(yùn)算?!纠?.12】A1=1,3;2,-1,A2=3,0;1,2 計算C=A1+A2,D=A1-A2,E=A1-52矩陣乘法:矩陣乘法:*(乘) 若兩個矩陣A=(aij)ms ,B=(Bij)sn ,則其乘積AB所得的矩陣C是mn矩陣?!纠?.13】計算

33、A1*A2,A2*A1,A1*5第38頁3矩陣除法:矩陣除法:/ (右除)、 (左除) 在MATLAB中,X=AB是方程A*X=B的解, X=A/B是方程X*A=B的解,它們并不相等。 如果A是一個非奇異方陣,則AB和B/A運(yùn)算均可實(shí)現(xiàn)。 AB和B/A分別對應(yīng)A的逆與B左乘和右乘,即等價命令等價命令: inv(A)*B和B*inv(A)【例2.14】X1=30,48,19,-62;70,99,-9,-206;110,128,-37,-350;150,168,-65,-494;X2=1,-5,-9,-13;2,0,-10,-14;3,7,0,-15;4,8,12,6;X1/X2 ans= 1.0

34、000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.000013.0000 14.0000 15.0000 16.0000第39頁【例2.15】求解線形方程組的解要解上述聯(lián)立方程,可以使用,即X=ABA=2 1 -3;3 -2 2;5 -3 -1;B=5;5;16;X=AB第40頁4矩陣的乘方:矩陣的乘方:(乘方) 只有方陣才能進(jìn)行乘方運(yùn)算。如果A是一個方陣,p是一個正整數(shù),則Ap表示A自乘p次;如果p=0,則得到一個與A同維數(shù)的單位陣;當(dāng)pX=1 2 3 0;5 6 0 8;9 0 11

35、 12;0 14 15 16X0 X2 X-15矩陣轉(zhuǎn)置:矩陣轉(zhuǎn)置: (轉(zhuǎn)置運(yùn)算符 等價等價 transpose函數(shù)) 若A為復(fù)數(shù)矩陣,則A轉(zhuǎn)置后的元素由A對應(yīng)的共軛復(fù)數(shù)構(gòu)成。第41頁2.2.5 矩陣的關(guān)系運(yùn)算關(guān)系運(yùn)算符:關(guān)系運(yùn)算符:(小于)、(大于) =(大于或等于)、=(等于)、=(不等于)。關(guān)系運(yùn)算符的運(yùn)算法則:關(guān)系運(yùn)算符的運(yùn)算法則:關(guān)系運(yùn)算將對兩個矩陣的對應(yīng)元素進(jìn)行比較,若比較的結(jié)果為真,則將矩陣中該位置元素置為1,否則置0。 【例2.17】A=1 2 3;4 5 6;7 8 9;B=0 2 1;4 0 7;7 2 1;A=BA=BB3find(Aa=1 1 0 ;b=0 1 1 0;

36、 a&b xor(a,b)第43頁2.2.7 矩陣函數(shù)函數(shù)函數(shù)功功 能能det計算矩陣所對應(yīng)的行列式的值計算矩陣所對應(yīng)的行列式的值eig求特征值和特征向量求特征值和特征向量inv求矩陣的逆陣求矩陣的逆陣lu三角分解三角分解rank求矩陣的秩求矩陣的秩poly求特征多項(xiàng)式求特征多項(xiàng)式svd奇異值分解奇異值分解trace求矩陣的跡求矩陣的跡norm矩陣的范數(shù)矩陣的范數(shù)orth正交化正交化qr正交三角分解正交三角分解fliplr矩陣左右翻轉(zhuǎn)矩陣左右翻轉(zhuǎn)flipud矩陣上下翻轉(zhuǎn)矩陣上下翻轉(zhuǎn)diag抽取矩陣對角線元素抽取矩陣對角線元素transpose 等價等價 轉(zhuǎn)置轉(zhuǎn)置tril抽取下三角陣抽取

37、下三角陣triu抽取上三角陣抽取上三角陣第44頁【例2.18】 求矩陣的行列式的值det X=1 2 3 0; 5 6 0 8; 9 0 11 12; 0 14 15 16;det(X)ans = -5464【例2.19】求矩陣的秩rank X=1, 2, 3; 2, 3 -5; 4 7 1; rank(X)ans = 2第45頁【例2.20】求逆矩陣inv X=1 2 3 0; 5 6 0 8; 9 0 11 12; 0 14 15 16; Y=inv(X)Y = 0.2299 0.0908 0.0351 -0.0717 0.1940 0.0798 -0.0659 0.0095 0.1274

38、 -0.0835 0.0322 0.0176 -0.2892 0.0084 0.0275 0.0377Y*X%矩陣與其逆陣相乘結(jié)果是單位矩陣矩陣與其逆陣相乘結(jié)果是單位矩陣ans = 1.0000 0 0 0 0 1.0000 0 0 0 0 1.0000 0 0 0 0 1.0000 X*Y%矩陣的逆陣是唯一的矩陣的逆陣是唯一的ans = 1.0000 0 0 0 0 1.0000 0 0 0 0 1.0000 0 0 0 0 1.0000第46頁【例2.21】求特征值和特征向量eigE=eig(A), 求矩陣求矩陣A的全部特征值構(gòu)成向量的全部特征值構(gòu)成向量E。 V,D=eig(A),求矩陣,

39、求矩陣A的全部特征值構(gòu)成對角陣的全部特征值構(gòu)成對角陣D,并求,并求A的特征向量構(gòu)成的特征向量構(gòu)成V的列向量。的列向量。 X=-2 1 1;0 2 0;-4 1 3; V D=eig(X)V= -0.7071 -0.2425 0.3015 0 0 0.9045 -0.7071 -0.9701 0.3015D= -1 0 0 0 2 0 0 0 2第47頁【例2.22】矩陣分解lu A=2 -1 3;1 2 1;2 4 3; L, U=lu(A) %三角分解 L = 1.0000 0 0 0.5000 0.5000 1.0000 1.0000 1.0000 0U = 2.0000 -1.0000

40、3.0000 0 5.0000 0 0 0 -0.5000第48頁【例2.23】抽取矩陣對角線及上下三角元素diag/ triu/ tril A=2 -1 3;1 2 1;2 4 3; D=diag(A)D = 2 2 3 U=triu(A)U = 2 -1 3 0 2 1 0 0 3 L=tril(A)第49頁 向量是矢量運(yùn)算的基礎(chǔ),向量分行向量和列向量兩種,它們之間可以通過向量轉(zhuǎn)置轉(zhuǎn)化。可以認(rèn)為矩陣是由一組向量構(gòu)成,即向量是矩陣的組成元素。 2.3.1 向量的構(gòu)造1逐個輸入逐個輸入a=1 3 9 10 15 16 %采用空格和逗號分隔構(gòu)成行向量b=1; 3; 9; 10; 15; 16 %

41、采用分號隔開構(gòu)成列向量2利用冒號表達(dá)式利用冒號表達(dá)式“:”生成向量生成向量x=1:2:9%初值=1,終值=9,步長=2z=1:5%初值=1,終值=5,默認(rèn)步長默認(rèn)步長=13利用利用linspace(a,b,n)函數(shù)生成行向量函數(shù)生成行向量 x=linspace(1, 9, 5) %初值=1,終值=9,元素數(shù)目=5注意:linspace(a,b,n)與a:(b-a)/(n-1):b等價第50頁2.3.2 向量的運(yùn)算1向量的加減與數(shù)乘運(yùn)算向量的加減與數(shù)乘運(yùn)算 在MATLAB中,兩個同維行(列)向量可以相加減。標(biāo)量也可以與向量直接相乘除?!纠?.24】向量的加、減和數(shù)乘運(yùn)算 a = 1 2 3; b

42、 = 4 5 6; c = a+b d = a-bd = -3 -3 -3 e = 3*a+b/3 e = 4.3333 7.6667 11.0000第51頁2向量的點(diǎn)積與叉積運(yùn)算向量的點(diǎn)積與叉積運(yùn)算 1)點(diǎn)積:)點(diǎn)積:向量的點(diǎn)積是兩個同維向量在某一個向量方向上投影的乘積,結(jié)果是標(biāo)量。在MATLAB中,點(diǎn)積由dot函數(shù)求得。 2)叉積:)叉積:兩個向量叉積的結(jié)果還是向量,這個向量通過兩相交向量的交點(diǎn)并垂直于兩向量所在的平面。在MATLAB中,叉積由cross函數(shù)求得?!纠?.25】點(diǎn)積和叉積的運(yùn)算 a = 1 2 3; b = 4 5 6; c = dot(a, b) d = cross(a,

43、 b) c = 32d = -3 6 -3 3由向量構(gòu)建矩陣由向量構(gòu)建矩陣reshape(A,m,n)第52頁 數(shù)組是一般高級語言都有的概念,但它在MATLAB中卻又表現(xiàn)出個性(運(yùn)算法則與方法與眾不同),具有明顯的優(yōu)勢。 二維數(shù)組與矩陣結(jié)構(gòu)相同,存儲方案也是按列優(yōu)先存儲。 數(shù)組的運(yùn)算方式和矩陣運(yùn)算不同,它不是按照線性代數(shù)的規(guī)則進(jìn)行的,而是一種元素對元素的運(yùn)算。除了加、減法的運(yùn)算符與矩陣相同以外,乘、除、冪的數(shù)組運(yùn)算符都是通過在標(biāo)準(zhǔn)的運(yùn)算符前面加一個圓點(diǎn)圓點(diǎn)來特別指明。第53頁【例2.26】數(shù)組的運(yùn)算 x=1 2 3; 4 5 6; 7 8 9; y=9 8 7; 6 5 4; 3 2 1; x

44、+y%數(shù)組和矩陣的加法規(guī)則相同ans = 10 10 10 10 10 10 10 10 10 x.*y%數(shù)組乘法數(shù)組乘法:對應(yīng)元素相乘ans = 9 16 21 24 25 24 21 16 9 x*y%矩陣乘法矩陣乘法:按照線性代數(shù)理論進(jìn)行ans = 30 24 18 84 69 54 138 114 90第54頁 除二維數(shù)組外,還有三維乃至多維的形式,而多維數(shù)組元素的存儲次序?qū)嶋H就是二維數(shù)組元素存儲原則的擴(kuò)展。 有關(guān)多維數(shù)組維間處理的函數(shù)有:reshape、size、ndims、cat、permute 、ipermute 、shiftdim 、squeeze【例2.27】數(shù)組的運(yùn)算 x=

45、1 2 3; 4 5 6; 7 8 9; y=reshape(10:18,3,3).; %創(chuàng)建兩個二維數(shù)組創(chuàng)建兩個二維數(shù)組x,y z(:,:,1)=x z(:,:,2)=y %將將x,y兩個數(shù)組分別賦給三維數(shù)組的頁下標(biāo)兩個數(shù)組分別賦給三維數(shù)組的頁下標(biāo)1、2 zz(:,:,1) = 1 2 3 4 5 6 7 8 9z(:,:,2) = 10 11 12 13 14 15 16 17 18第55頁 多項(xiàng)式是形如P(x) = a0 xn+a1xn-1+an-1x+an的式子。 在MATLAB中,多項(xiàng)式用行向量表示:P= a0 a1 an-1 an例如:x4-34x3-80 x2+1就可以表示為1

46、-34 -80 0 1。 除了這種直接輸入外,多項(xiàng)式行向量的構(gòu)造還可以由命令poly(A)來生成。如果A是方陣方陣,命令poly(A)生成的多項(xiàng)式是矩陣A的特陣多項(xiàng)式。如果A是已知多項(xiàng)式的全部根組成的r0 r1 rn-1 rn 向向量量,命令poly(A)會生成(x-r0)(x-r1) (x-rn-1)(x-rn)多項(xiàng)式所對應(yīng)的某個n階多項(xiàng)式a0 xn+a1xn-1+an-1x+an。2.5.1 多項(xiàng)式的生成與表達(dá)第56頁【例2.28】多項(xiàng)式的構(gòu)造 A=1 2 3;4 5 6;7 8 9 %方陣PA=poly(A)PAX=poly2str(PA, X) %函數(shù)poly2str可將向量顯示為多項(xiàng)

47、式表示形式PAX = X3 - 15 X2 - 18 X - 1.8553e-014B=2 3 7 5 %向量PB=poly(B)PBX=poly2str(PB, X) PBX = X4 - 17 X3 + 101 X2 - 247 X + 210第57頁2.5.2 多項(xiàng)式的運(yùn)算1. 多項(xiàng)式的算術(shù)運(yùn)算參加加減運(yùn)算的多項(xiàng)式應(yīng)該具有相同的階次*。多項(xiàng)式乘法采用conv函數(shù),除法由deconv函數(shù)完成?!纠?.29】求多項(xiàng)式a(x)=5x4+4x3 +3x2 +2x+1和b(x)= 3x2 +1的和、差、積、商。a=5 4 3 2 1;b=3 0 1;c=a+0 0 b %求和d=a-0 0 b %

48、求差e=conv(a,b) %求積div,rest= deconv(e,a) %求商,結(jié)果包括商和余數(shù)poly2str(div,x)第58頁2. 求根求多項(xiàng)式a0 xn+a1xn-1+an-1x+an=0的根采用roots函數(shù)?!纠?.30】求方程5x4+4x3 +3x2 +2x+1=0和x2-4=0的根。p=5 4 3 2 1;roots(p)q=1 0 -4;s=roots(q) 反之,若已知多項(xiàng)式的全部根組成的向量A,則可以用poly(A)函數(shù)建立起該多項(xiàng)式。如:poly(s)第59頁3. 求值函數(shù)polyval可以將某個特定數(shù)值代入多項(xiàng)式函數(shù)polyvalm可以求出當(dāng)多項(xiàng)式中的未知數(shù)為

49、方陣時的值?!纠?.31】求多項(xiàng)式3x2 +2x+1的值。p=3 2 1; polyval(p,1) %當(dāng)x=1時的值 polyval(p,5 7 9) %當(dāng)x=5、7、9時的值 x=1 1;1 1;polyval(p,x) %未知數(shù)為方陣第60頁4. 求導(dǎo)使用polyder函數(shù)對多項(xiàng)式求導(dǎo)?!纠?.32】求多項(xiàng)式5x4+4x3 +3x2 +2x+1的一階和二階導(dǎo)數(shù)。p=5 4 3 2 1;poly2str(p)DP=polyder(p) %求一階導(dǎo)數(shù)poly2str(DP,x)D2P=polyder(DP) %求二階導(dǎo)數(shù)poly2str(D2P,x)第61頁5. 插值和擬合 在大量的應(yīng)用領(lǐng)域

50、,很少能直接用分析方法求得系統(tǒng)變量之間的函數(shù)關(guān)系。大多使用測得的離散點(diǎn)來擬合生成一條連續(xù)的曲線。如果測量值是準(zhǔn)確的,沒有誤差,一般用插值;如果測量值與真實(shí)值有誤差,一般用曲線擬合。 插插值:值:構(gòu)造一個簡單函數(shù)P(x)作為f(x)的近似,然后通過處理P(x)獲得關(guān)于f(x)的結(jié)果,要求近似函數(shù)P(x)取給定的離散數(shù)據(jù)。則P(x)為f(x)的插值函數(shù)。 擬擬合:合:根據(jù)N個給定的點(diǎn)求一條近似曲線,所求的近似曲線并不要求通過所有給定的點(diǎn),只要求函數(shù)能夠放映數(shù)據(jù)的基本變化趨勢。 擬合與插值有許多相似之處,但是這兩者最大的區(qū)別在于擬合要找出一個曲線方程式,而插值僅要求出插值數(shù)值即可。第62頁(1) 多

51、項(xiàng)式插值函數(shù)多項(xiàng)式插值函數(shù)【例2.33】假設(shè)有一個汽車發(fā)動機(jī)在轉(zhuǎn)速為2000r/min時,溫度與時間的5個測量值如下表:時間/s012345溫度/020606877110 其中溫度的數(shù)據(jù)從20 變化到110 ,試分別估計在t=2.5s和t=4.3s時的溫度。 yi = interp1(x,y,xi,method) 其中x和y是原已知數(shù)據(jù)的x、y值,xi是要內(nèi)插的數(shù)據(jù)點(diǎn),method是插值方法 。插值方法有:nearest 尋找最近數(shù)據(jù)節(jié)點(diǎn),linear線性插值 ,spline樣條插值,cubic三次方程式插值第63頁t=0 1 2 3 4 5; %輸入時間y=0 20 60 68 77 110

52、; %輸入溫度y1=interp1(t,y,2.5) %計算要內(nèi)插的數(shù)據(jù)點(diǎn)2.5的函數(shù)值y1=interp1(t,y,2.5,4.3) %計算多個內(nèi)插點(diǎn)y1=interp1(t,y,2.5, cubic) %以3次方程式插值y1=interp1(t,y,2.5, spline) %以樣條插值第64頁(2) 多項(xiàng)式擬合多項(xiàng)式擬合函數(shù)函數(shù)【例2.34】煉鋼廠出鋼時所用的盛鋼水的鋼包,在使用過程中由于鋼液及爐渣對包襯耐火材料的侵蝕,使其容積不斷擴(kuò)大。經(jīng)過實(shí)驗(yàn),鋼包的容積與相應(yīng)的使用次數(shù)的數(shù)據(jù)如下表所示: p=polyfit(x,y,n) p,s=polyfit(x,y,n) 其中x,y為已知的數(shù)據(jù)組

53、,n為要擬合的多項(xiàng)式的階次,向量p為返回的要擬合的多項(xiàng)式的系數(shù),向量s為調(diào)用函數(shù)polyval獲得的錯誤預(yù)估計值 。 一般來說,多項(xiàng)式擬合中階數(shù)n越大,擬合的精度就越高 。第65頁 試用3階、5階多項(xiàng)式進(jìn)行擬合,并畫出擬合曲線及散點(diǎn)圖。使用次數(shù)X容積Y2106.423108.264109.585109.507110.008109.9310110.4911110.5914110.6015110.9016110.7618111.0019111.20 x=2 3 4 5 7 8 10 11 14 15 16 18 19;y=106.42 108.26 109.58 109.50 110.00 109

54、.93 110.49 110.59 110.60 110.90 110.76 111.00 111.20;v=polyfit(x,y,3) %將已知數(shù)據(jù)擬合成3階多項(xiàng)式t=1:0.5:19;u=polyval(v,t); %計算多項(xiàng)式在散點(diǎn)t上的值plot(t,u,x,y, *) %比較擬合曲線與已知數(shù)據(jù)差別s=polyfit(x,y,5) %也可通過下列形式表現(xiàn)差別:y1=polyval(v,x)y2=polyval(s,x)table=x,y,y1,y2,(y-y1), (y-y2)第66頁(3) 最小二乘法擬合最小二乘法擬合 niimmiixrxrym12110,)()(min10bxa

55、ey bxay lnln)()(110immixrxr 使 yi 與 的誤差平方和最小所確定的函數(shù)稱為最小二乘擬合函數(shù) 。 如果定義的擬合模型是關(guān)于參數(shù)k的線性函數(shù),則稱為線性模型;如果擬合模型是關(guān)于參數(shù)k的非線性函數(shù),則稱為非線性模型;在多數(shù)情況下,可以通過變換的方式將非線性模型化為線性模型。如:第67頁【例2.35】假測得某單分子化學(xué)反應(yīng)速度數(shù)據(jù)如下表:I12345678Xi3691215182124Yi57.641.931.022.716.6 其中Xi表示從實(shí)驗(yàn)開始算起的時間,Yi表示時刻反應(yīng)物的量。根據(jù)化學(xué)反應(yīng)速度的理論知道,選擇的擬合模型應(yīng)是指數(shù)函數(shù)y=aebx,

56、其中a,b為待定參數(shù)。求擬合參數(shù)的最小二乘解。解:解:擬合模型y=aebx為非線性模型,兩邊取常用對數(shù)得到: lgy=(blge)x+lga 令Y=lgy,B=0.4343b,lga=m,則模型轉(zhuǎn)化為:Y=Bx+m 首先利用(xi,Yi)進(jìn)行一階多項(xiàng)式擬合,然后根據(jù)B=0.4343b,lga=m分別得到模型中的a,b值。第68頁x=3 6 9 12 15 18 21 24;y=57.6 41.9 31.0 22.7 16.6 12.2 8.9 6.5;Y=log10(y);p1=polyfit(x,Y,1)b=p1(1)/0.4343a=10.p1(2)y1=polyval(p1,x)最后得到

57、擬合模型函數(shù)為:y=78.57e-0.1037x第69頁2.6.1 最大值和最小值最大值和最小值2.6 數(shù)據(jù)統(tǒng)計數(shù)據(jù)統(tǒng)計 MATLAB提供的求數(shù)據(jù)序列的最大值和最小值的函數(shù)分別為max和min,兩個函數(shù)的調(diào)用格式和操作過程類似。1求向量的最大值求向量的最大值max(X)和最小值和最小值min(X) 求一個向量X的最大值的函數(shù)有兩種調(diào)用格式:(1) y=max(X):返回向量X的最大值存入y,如果X中包含復(fù)數(shù)元素,則按模取最大值。(2) y,I=max(X):返回向量X的最大值存入y,最大值的序號存入I,如果X中包含復(fù)數(shù)元素,則按模取最大值?!纠?.36】求向量x的最大值。x=-43,72,9,

58、16,23,47;y=max(x) %求向量x中的最大值y,l=max(x) %求向量x中的最大值及其該元素的位置第70頁2求矩陣的最大值求矩陣的最大值max和最小值和最小值min 求矩陣A的最大值的函數(shù)有3種調(diào)用格式:(1) max(A):返回一個行向量,向量的第i個元素是矩陣A的第i列上的最大值。(2) Y,U=max(A):返回行向量Y和U,Y向量記錄A的每列的最大值,U向量記錄每列最大值的行號。(3) max(A,dim):dim取1或2。dim取1時,等同max(A) ;dim取2時,該函數(shù)返回一個列向量,其第i個元素是A矩陣的第i行上的最大值?!纠?.37】分別求34矩陣x中各列和

59、各行元素中的最大值,并求整個矩陣的最小值。x=1,8,4,2;9,6,2,5;3,6,7,1y=max(x)y = 9 8 7 5第71頁2.6.2 求和與求積求和與求積 數(shù)據(jù)序列求和與求積的函數(shù)是sum和prod,其使用方法類似。設(shè)X是一個向量,A是一個矩陣,調(diào)用格式:sum(X):返回向量X各元素的和。prod(X):返回向量X各元素的乘積。sum(A):返回一個行向量,其第i個元素是A的第i列列的元素和。prod(A):返回一個行向量,其第i個元素是A的第i列列的元素乘積。sum(A,dim):當(dāng)dim為1時,該函數(shù)等同于sum(A);當(dāng)dim為2時,返回一個列向量,其第i個元素是A的第i行的各元素之和。prod(A,dim):當(dāng)dim為1時,該函數(shù)等同于prod(A);當(dāng)dim為2時,返回一個列向量,其第i個元素是A的第i行的各元素乘積。第72頁【例2.38】求矩陣

溫馨提示

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

評論

0/150

提交評論