Matlab應(yīng)用—第二次.ppt_第1頁(yè)
Matlab應(yīng)用—第二次.ppt_第2頁(yè)
Matlab應(yīng)用—第二次.ppt_第3頁(yè)
Matlab應(yīng)用—第二次.ppt_第4頁(yè)
Matlab應(yīng)用—第二次.ppt_第5頁(yè)
已閱讀5頁(yè),還剩46頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1,Matlab應(yīng)用數(shù)據(jù)基礎(chǔ),楊穎 信息與電氣工程學(xué)院 2011-5-8,2,Matlab數(shù)據(jù)基礎(chǔ),數(shù)值向量和數(shù)組 Matlab數(shù)據(jù)類型 矩陣及數(shù)值計(jì)算,3,數(shù)值向量和數(shù)組-生成,在命令窗口中直接輸入向量 生成向量最簡(jiǎn)單的方法就是在命令窗口中按一定格式直接輸入。輸入的格式要求是,向量元素用“ ”括起來(lái),元素之間用空格、逗號(hào)或者分號(hào)相隔。, a2=15,21,27,93,101; a1=15;21;27;93;101; ,4,數(shù)值向量和數(shù)組-生成,等差元素向量的生成 冒號(hào)生成法: Vec=vec0:n:vecn 使用linspace函數(shù):Vec=linspace(vec0,vecn,n) 使用logspace函數(shù): Vec = logspace(d1,dn,n) 產(chǎn)生從10d1到10dn以等差數(shù)為冪分布的n個(gè)數(shù),5,數(shù)值向量和數(shù)組-生成,利用隨機(jī)數(shù)發(fā)生器 rand(1,n): 產(chǎn)生n個(gè)0,1區(qū)間均勻分布的隨機(jī)數(shù) randn(1,n): 產(chǎn)生n個(gè)服從N(0,1)正態(tài)分布的隨機(jī)數(shù),6,數(shù)值向量和數(shù)組-尋址訪問(wèn),通過(guò)對(duì)數(shù)組下標(biāo)的訪問(wèn)來(lái)實(shí)現(xiàn)數(shù)組尋址 ArrayName(下標(biāo)) A=rand(1,5) A = 0.9501 0.2311 0.6068 0.4860 0.8913 A(4) ans = 0.4860 A(2 4 5) ans = 0.2311 0.4860 0.8913 A(5:-2:1) ans = 0.8913 0.6068 0.9501 A(3:end) ans = 0.6068 0.4860 0.8913,7,數(shù)值向量和數(shù)組,向量運(yùn)算 向量與數(shù)的四則運(yùn)算 向量與數(shù)的加法(減法): + - 向量中的每個(gè)元素與數(shù)的加法(減法)運(yùn)算。 向量與數(shù)的乘法(除法):*/ 向量中的每個(gè)元素與數(shù)的乘法(除法)運(yùn)算。 向量與向量之間的加減運(yùn)算: + - 向量與向量的加法(減法)運(yùn)算:向量中的每個(gè)元素與另一個(gè)向量中相對(duì)應(yīng)的元素的加法(減法)運(yùn)算。,8,數(shù)值向量和數(shù)組,向量運(yùn)算 向量范數(shù):norm(V,p) |V|p = |V(i)| p 1/p 向量元素求和: sum(v) 點(diǎn)積: dot(v1,v2) 兩個(gè)向量的點(diǎn)積等于其中一個(gè)向量的模與另一個(gè)向量在這個(gè)向量的方向上的投影的乘積 叉積: cross(v1,v2) 叉積的幾何意義是指過(guò)兩個(gè)相交向量的交點(diǎn),并與此兩向量所在平面垂直的向量,9,數(shù)值向量和數(shù)組,數(shù)組運(yùn)算 數(shù)組的加法(減法) :+ - 數(shù)組的乘法(除法):.* ./ 數(shù)組的乘方: .,10,Matlab數(shù)據(jù)類型,Matlab中建立了多種類型來(lái)滿足不同用戶的需要。Matlab中共有14種基本數(shù)據(jù)類型,如字符型、整數(shù)8位、整數(shù)16位、整數(shù)32位、數(shù)值8位、數(shù)值16位、數(shù)值32位、數(shù)值單精度、數(shù)值雙精度、單元型、結(jié)構(gòu)型等,這些數(shù)據(jù)類型都以數(shù)組方式出現(xiàn)。,11,Matlab數(shù)據(jù)類型-常量和變量,常量 在MATLAB中有一些特定的變量,它們已經(jīng)被預(yù)定義了某個(gè)特定的值,因此這些變量被稱為常量。,12,Matlab數(shù)據(jù)類型-常量和變量,變量 MATLAB 7語(yǔ)言不要求對(duì)所使用的變量進(jìn)行事先說(shuō)明,而且它也不需要指定變量的類型,系統(tǒng)會(huì)根據(jù)該變量被賦予的值或?qū)υ撟兞克M(jìn)行的操作來(lái)自動(dòng)確定變量的類型 變量名長(zhǎng)度不超過(guò)31位,超過(guò)31位的字符系統(tǒng)將忽略不計(jì) 變量名區(qū)分大小寫 變量名必須以字母開(kāi)頭,變量名中可以包含字母、數(shù)字或下劃線,但不允許出現(xiàn)標(biāo)點(diǎn)符號(hào),13,Matlab數(shù)據(jù)類型-數(shù)值型,幾乎在所有的情況下,MATLAB 的數(shù)據(jù)都是以雙精度數(shù)值來(lái)表示的,這些雙精度數(shù)在系統(tǒng)內(nèi)部用二進(jìn)制來(lái)表示。 數(shù)據(jù)輸出時(shí)用戶可以用format命令設(shè)置或改變數(shù)據(jù)輸出格式。,14,Matlab數(shù)據(jù)類型-數(shù)值型,format命令的格式為: format + 格式符 其中格式符決定數(shù)據(jù)的輸出格式。,short 小數(shù)點(diǎn)后4位(系統(tǒng)默認(rèn)值) long 小數(shù)點(diǎn)后14位 short e 5位指數(shù)形式 long e 15位指數(shù)形式,例如:pi, bitmax ,realmax,15,Matlab數(shù)據(jù)類型-復(fù)數(shù),MATLAB 7語(yǔ)言對(duì)復(fù)數(shù)的處理也是十分簡(jiǎn)便的,在處理復(fù)數(shù)問(wèn)題時(shí),不需要進(jìn)行其他任何的附加操作。 a2=pi+3.14j a2 = 3.1416 + 3.1400i b=4*(1+3/sqrt(-1) b = 4.0000 -12.0000i ,16,Matlab數(shù)據(jù)類型-字符型,MATLAB 中的字符串一般是ASCII值的數(shù)值數(shù)組,它作為字符串表達(dá)式進(jìn)行顯示。MATLAB 對(duì)字符串的設(shè)定非常簡(jiǎn)單,只需用單引號(hào)()將需設(shè)定的字符串引注即可。, str=I have many good friends! str = I have many good friends! whos Name Size Bytes Class str 1x25 50 char array,字符串實(shí)際上字符型數(shù)組,17,Matlab數(shù)據(jù)類型-字符串操作,字符串的讀取:與數(shù)組讀取一樣 字符串名(索引), str= 今天是2008年10月10日, 我們班一起去上海旅游。 str = 今天,是2005年10月25日, 我們班一起去上海旅游。 str(6) ans = 0,18,Matlab數(shù)據(jù)類型-字符串操作,字符串的連接: strcat:水平連接 strvcat:垂直連接, A = Today is sunday; B = I want to go home; CH = strcat(A,B) CH= Today is sunday I want to go home CV = strvcat(A,B) CV = Today is sunday I want to go home,19,Matlab數(shù)據(jù)類型-字符串操作,字符串的比較:判斷兩個(gè)輸入的字符串是否相等。 strcmp:比較字符串大小 strncmp:比較字符串的前n個(gè)字符 當(dāng)相等時(shí),系統(tǒng)將返回值1,不相等時(shí),返回值0, words1= Sit down; words2 = Situation; X = strcmp(words1,words2); Y= strncmp(words1,words2,3);,20,Matlab數(shù)據(jù)類型-字符串操作,字符串的查找與替換: findstr:K=findstr(S1,S2) 根據(jù)所給的字符串中的字符來(lái)查找字符串,當(dāng)查找成功后返回第一個(gè)相同字符的具體位置。S1和S2的位置可以互換。 strfind:K=strfind(text,pattern) 只能在字符串text中查找字符串pattern,如果pattern的長(zhǎng)度大于text時(shí)會(huì)返回 。 strrep: S =strrep(S1,S2,S3) 把字符串S1中的子串S2全換成字符串S3,并返回置換后的新字符串。,21,Matlab數(shù)據(jù)類型-字符串變換,字符串的ASCII碼操作:, A = Today is sunday; s=abs(A) s = Columns 1 through 11 84 111 100 97 121 32 105 115 32 115 117 Columns 12 through 15 110 100 97 121 B = char(s),22,Matlab數(shù)據(jù)類型-字符串轉(zhuǎn)換,常見(jiàn)的字符串轉(zhuǎn)換函數(shù),23,Matlab數(shù)據(jù)類型-單 元 數(shù) 組,單元數(shù)組是一種特殊類型數(shù)組,它的每一個(gè)元素是單元,在單元里可以保存各種類型的Matlab數(shù)組,例如實(shí)數(shù)矩陣,文本字符串?dāng)?shù)組,結(jié)構(gòu)數(shù)組等。 直接生成單元數(shù)組 使用cell函數(shù)生成單元數(shù)組 單元數(shù)組的內(nèi)容的顯示或獲取,24,直接生成單元數(shù)組,用類似矩陣的記號(hào),即花括號(hào)將復(fù)雜的數(shù)據(jù)結(jié)構(gòu)納入一個(gè)變量之下。 直接生成:, A =Gone with the wind, Scarlett,2008/10/10, 2+3i, cos(pi) A = 1x36 char 1x2 double,25,直接生成單元數(shù)組,與矩陣中的圓括號(hào)表示下標(biāo)類似,單元數(shù)組由花括號(hào)表示下標(biāo)。, A =Gone with the wind, Scarlett,2008/10/10, 2+3i, cos(pi) A = 1x36 char 1x2 double A1,26,使用cell函數(shù)生成單元數(shù)組,使用cell函數(shù)生成 應(yīng)用舉例, A=cell(1,4) A = A1,1=Monday Time A = MondayTime A2=1 2 3;4 5 6 A = MondayTime 2x3 double ,27,單元數(shù)組的內(nèi)容的顯示或獲取,celldisp(A); A2 ans = 1 2 3 4 5 6 B = A,Sunny;Windy; celldisp(B); B1; celldisp(B1);,28,Matlab數(shù)據(jù)類型-結(jié)構(gòu)型變量,結(jié)構(gòu)類型是對(duì)某個(gè)對(duì)象,不同屬性的數(shù)據(jù),用一系列數(shù)據(jù)來(lái)表示,結(jié)構(gòu)類型中的變量可以是數(shù)值、亦可以是字符串。因此,圖書條目,產(chǎn)品檔案等都可以是結(jié)構(gòu)類型。 直接輸入法生成結(jié)構(gòu)型變量 使用struct函數(shù)生成結(jié)構(gòu)型變量 在結(jié)構(gòu)體變量中添加、調(diào)用成員變量 在結(jié)構(gòu)體變量中刪除成員變量,29,直接輸入法生成結(jié)構(gòu)型變量, student.test=99 56 96 87 67 69 87 76 92; =Zhang San; student.weight=68; student.height=1.72; student.num=2003214091; student.school=China Agriculture University; student.tel=1381042679*;,30,使用struct函數(shù)生成結(jié)構(gòu)型變量,var_name=struct(field1,val1, field2,val2,), train=struct(destination, 北京 ,No,2163,Time,18:43) train = destination: 北京 No: 2163 Time: 18:43 ,31,結(jié)構(gòu)類型與單元數(shù)組轉(zhuǎn)換,c = struct2cell(s) s = cell2struct(c), struct2cell(train) ans = 北京 2163 18:34 ,32,在結(jié)構(gòu)體變量中添加、調(diào)用成員變量, train(2).destination = Shanghai; train(2).No = 4431; train(2).Time = 8:20; train train = 1x2 struct array with fields: destination No Time train(1); train(2); train(1).Time,33,在結(jié)構(gòu)體變量中刪除成員變量,使用函數(shù)rmfield S2= rmfield(S1,fieldname) 從結(jié)構(gòu)體變量S1中刪除成員變量,但會(huì)保持S1原有的結(jié)構(gòu)形式。,train = rmfield(train,Time) train = 1x2 struct array with fields: destination No train(2) ans = destination: Shanghai No: 4431,34,矩陣及其運(yùn)算,矩陣的生成: 直接輸入 1 2 3 ;4 5 6;7 8 9 冒號(hào)、函數(shù) 矩陣元素的讀?。?(,)矩陣的第行,列元素 (:,:) (,:)矩陣的第行元素 (:,)矩陣的第列元素 (:,c1 c2 c3 c4) 矩陣運(yùn)算: 矩陣與常數(shù)的四則運(yùn)算 矩陣之間的四則運(yùn)算 左除 :AB = A-1*B、右除: A/B = A *B-1 矩陣的乘冪運(yùn)算 mpower(A,x) = Ax 思考:如果是是數(shù)組呢?,35,特殊矩陣,零矩陣和全1矩陣的生成 ones(n), ones(m,n) zeros(n) ,zeros(m,n) 單位矩陣 eye(n),eye(m,n) 主對(duì)角線全為1,其他元素全為0,36,特殊矩陣,對(duì)角矩陣的生成 (diag) A=diag(V,K) V為一個(gè)向量, K為向量偏離主對(duì)線的列數(shù),K=0時(shí)表示V為主對(duì)角線,K0時(shí)表示V在主對(duì)角線以上; K0時(shí)表示V在主對(duì)角線以下 diag(V) = diag(V,0) PS:如果是diag(B,K),B為矩陣,37,特殊矩陣,隨機(jī)矩陣的生成 rand(n) ,rand(m,n) 0.0,0.1之間均勻分布 randn(n), randn(m,n) 正態(tài)分布N(0,1) 魔術(shù)矩陣的生成 magic(n): 方陣,每一行,每一列及對(duì)角線的元素之和相同。,38,特殊矩陣,pascal矩陣的生成 A=pascal(n): 對(duì)稱的正定陣, A(i,j) = A(i-1,j) + A(i,j-1) pascal三角形其實(shí)是由二項(xiàng)式系數(shù)組成,39,特殊矩陣,范德蒙德矩陣的生成 A= vander(V) A(i,j) = V(i)n-j Hilbert矩陣 A = hilb(N) A(i,j) = 1/(i + j -1) 反Hilbert矩陣 A = invhilb(N) A(i,j) = 1/(i + j -1),40,矩陣性質(zhì),矩陣轉(zhuǎn)置:A 矩陣秩: rank(A) 矩陣跡: trace(A) 矩陣大?。簃,nsize(A),41,矩陣性質(zhì),滿秩矩陣求逆: inv(A) rref(A,eye(n)): 減少行成梯最簡(jiǎn)形式求逆矩陣 廣義逆矩陣(偽逆矩陣): piv(A) PAP = P, APA = A,42,矩陣的結(jié)構(gòu)操作,矩陣的旋轉(zhuǎn)和翻轉(zhuǎn) fliplr flipud rot90 矩陣結(jié)構(gòu)的改變 reshape(A,M,N) 注意:M*N=A中的元素個(gè)數(shù),43,矩陣的結(jié)構(gòu)操作,矩陣的擴(kuò)充 采用 實(shí)現(xiàn)矩陣的擴(kuò)充,注意保持行列的一致性 矩陣的部分刪除 A(

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論