Matlab7.x教學(xué)課件第2章(2)_第1頁
Matlab7.x教學(xué)課件第2章(2)_第2頁
Matlab7.x教學(xué)課件第2章(2)_第3頁
Matlab7.x教學(xué)課件第2章(2)_第4頁
Matlab7.x教學(xué)課件第2章(2)_第5頁
已閱讀5頁,還剩67頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、MALAB 7.X程序設(shè)計(jì)程序設(shè)計(jì)2/742.4.1 數(shù)組元素的存儲(chǔ)數(shù)組元素的存儲(chǔ)數(shù)組元素有完全存儲(chǔ)方式和稀疏存儲(chǔ)方式兩數(shù)組元素有完全存儲(chǔ)方式和稀疏存儲(chǔ)方式兩種存儲(chǔ)方式。種存儲(chǔ)方式。20000030 ,0100Al稀疏存儲(chǔ)稀疏存儲(chǔ)(1,1),2;(2,3),3;(3,2),1(1,1),2;(2,3),3;(3,2),1MALAB 7.X程序設(shè)計(jì)程序設(shè)計(jì)3/741 轉(zhuǎn)換函數(shù)轉(zhuǎn)換函數(shù)轉(zhuǎn)換函數(shù)轉(zhuǎn)換函數(shù)sparsesparse的格式為的格式為: A=sparse(S)A=sparse(S)功能:功能:將矩陣將矩陣S S轉(zhuǎn)化為稀疏存儲(chǔ)方式的矩陣轉(zhuǎn)化為稀疏存儲(chǔ)方式的矩陣A A。當(dāng)矩陣當(dāng)矩陣S S是稀疏存

2、儲(chǔ)方式時(shí),則函數(shù)調(diào)用相是稀疏存儲(chǔ)方式時(shí),則函數(shù)調(diào)用相當(dāng)于當(dāng)于A=SA=S。MALAB 7.X程序設(shè)計(jì)程序設(shè)計(jì)4/74 sparse(m,n)sparse(m,n)功能:功能:生成一個(gè)生成一個(gè)m mn n的所有元素都是的所有元素都是0 0的稀疏的稀疏矩陣。矩陣。 sparse(u,v,S) sparse(u,v,S)功能:功能:建立一個(gè)建立一個(gè)max(u)max(u)行、行、max(v)max(v)列并以列并以S S為稀疏元素的稀疏矩陣,其中為稀疏元素的稀疏矩陣,其中u,v,Su,v,S是是3 3個(gè)個(gè)等長的向量等長的向量,S,S是要建立的稀疏矩陣的非是要建立的稀疏矩陣的非0 0元元素,素,u(i

3、)u(i)、v(i)v(i)分別是分別是S(i)S(i)的行和列下標(biāo)。的行和列下標(biāo)。 MALAB 7.X程序設(shè)計(jì)程序設(shè)計(jì)5/74轉(zhuǎn)換函數(shù)轉(zhuǎn)換函數(shù)fullfull的格式為:的格式為: full(A)full(A)功能:功能:返回和稀疏存儲(chǔ)矩陣返回和稀疏存儲(chǔ)矩陣A A對應(yīng)的完全存對應(yīng)的完全存儲(chǔ)方式矩陣。儲(chǔ)方式矩陣。MALAB 7.X程序設(shè)計(jì)程序設(shè)計(jì)6/74u=1:4;v=3:6;S=0.1 0.2 0.3 0.4;spa=sparse(u,v,S)a=full(spa)MALAB 7.X程序設(shè)計(jì)程序設(shè)計(jì)7/74稀疏矩陣的生成函數(shù)稀疏矩陣的生成函數(shù): : spconvert spconvert,sp

4、diagsspdiags,speyespeye spconvert spconvert函數(shù)的函數(shù)的格式為格式為: B=spconvertB=spconvert(A)(A)功能功能:將矩陣:將矩陣A A所描述的一個(gè)稀疏矩陣轉(zhuǎn)化為所描述的一個(gè)稀疏矩陣轉(zhuǎn)化為一個(gè)稀疏存儲(chǔ)矩陣一個(gè)稀疏存儲(chǔ)矩陣B B 。MALAB 7.X程序設(shè)計(jì)程序設(shè)計(jì)8/74A=1 2 3 ;3 4 5;6 7 8;B=spconvert(A) %生成實(shí)數(shù)數(shù)組生成實(shí)數(shù)數(shù)組A=1 2 3 4;3 4 5 6 ;6 7 8 9;B=spconvert(A) %生成復(fù)數(shù)數(shù)組生成復(fù)數(shù)數(shù)組MALAB 7.X程序設(shè)計(jì)程序設(shè)計(jì)9/74 函數(shù)函數(shù)ey

5、eeye,randrand和和 randnrandn產(chǎn)生完全存產(chǎn)生完全存儲(chǔ)方式的矩陣,對應(yīng)的稀疏矩陣函數(shù)儲(chǔ)方式的矩陣,對應(yīng)的稀疏矩陣函數(shù)是是speyespeye,sprandsprand和和sprandnsprandn。MALAB 7.X程序設(shè)計(jì)程序設(shè)計(jì)10/74spa=speyespa=speye(4,4) (4,4) % %建立建立4 44 4的稀疏存儲(chǔ)單位矩陣的稀疏存儲(chǔ)單位矩陣spa(2,1)=-2 spa(2,1)=-2 % %增加元素增加元素spa(2,1)spa(2,1)spa(2,2)=0 spa(2,2)=0 % %刪除元素刪除元素spa(2,2)spa(2,2)MALAB 7

6、.X程序設(shè)計(jì)程序設(shè)計(jì)11/74矩陣運(yùn)算規(guī)則是按照矩陣作為運(yùn)算要素定矩陣運(yùn)算規(guī)則是按照矩陣作為運(yùn)算要素定義的,義的,數(shù)組運(yùn)算是按照矩陣元素作為運(yùn)算要素定數(shù)組運(yùn)算是按照矩陣元素作為運(yùn)算要素定義的。義的。標(biāo)量運(yùn)算是矩陣和數(shù)組的運(yùn)算的特例。標(biāo)量運(yùn)算是矩陣和數(shù)組的運(yùn)算的特例。 MALAB 7.X程序設(shè)計(jì)程序設(shè)計(jì)12/74 1 矩陣和數(shù)組的加減運(yùn)算矩陣和數(shù)組的加減運(yùn)算l兩個(gè)矩陣必須同型時(shí)才可以進(jìn)行加減運(yùn)算。如兩個(gè)矩陣必須同型時(shí)才可以進(jìn)行加減運(yùn)算。如有一個(gè)是標(biāo)量,則該標(biāo)量與矩陣的每個(gè)元素進(jìn)有一個(gè)是標(biāo)量,則該標(biāo)量與矩陣的每個(gè)元素進(jìn)行加減運(yùn)算。行加減運(yùn)算。l數(shù)組的加減運(yùn)算法則與矩陣的加減運(yùn)算法則相數(shù)組的加減運(yùn)算

7、法則與矩陣的加減運(yùn)算法則相同。同。MALAB 7.X程序設(shè)計(jì)程序設(shè)計(jì)13/74方法方法1 1:A=4 -3 1;2 0 5;B=1 2 0;-1 0 3;A-2*B方法方法2 2:A=4 -3 1;2 0 5;B=1 2 0;-1 0 3;b=uminus(2*B) %,返回,返回2*B的相反數(shù)的相反數(shù)A+b431,205A120103BMALAB 7.X程序設(shè)計(jì)程序設(shè)計(jì)14/74矩陣的乘法運(yùn)算符為矩陣的乘法運(yùn)算符為* *,定義為定義為:設(shè)設(shè)A=(aij)mA=(aij)ms,B=(bijs,B=(bij)s)sn,n,則則A A與與B B的乘積的乘積C CAB=(cijAB=(cij)m)m

8、n n是是 m mn n矩陣,其中矩陣,其中cijcij( i= ( i= 1,2, 1,2, , m ;j =1,2, , m ;j =1,2, ,n) ,n) 等于等于A A的第的第i i行與行與B B的的第第j j列對應(yīng)元素的乘積之和。列對應(yīng)元素的乘積之和。 數(shù)組的乘法運(yùn)算符為數(shù)組的乘法運(yùn)算符為. .* *,兩個(gè)矩陣必須同型時(shí)才可,兩個(gè)矩陣必須同型時(shí)才可以進(jìn)行數(shù)組乘法運(yùn)算。以進(jìn)行數(shù)組乘法運(yùn)算。運(yùn)算規(guī)則為:運(yùn)算規(guī)則為:矩陣矩陣A A和和B B中的對應(yīng)元素相乘。中的對應(yīng)元素相乘。 如果參加運(yùn)算的矩陣其中有一個(gè)是標(biāo)量時(shí),矩陣和如果參加運(yùn)算的矩陣其中有一個(gè)是標(biāo)量時(shí),矩陣和數(shù)組的乘法運(yùn)算均為標(biāo)量與

9、矩陣的每個(gè)元素進(jìn)行數(shù)組的乘法運(yùn)算均為標(biāo)量與矩陣的每個(gè)元素進(jìn)行乘法運(yùn)算。乘法運(yùn)算。 MALAB 7.X程序設(shè)計(jì)程序設(shè)計(jì)15/74A=1 0 3;2 1 0;(2*3)B=4 1;-1 1;2 0;(3*2)A*B,(2*2)B*A(3*3)MALAB 7.X程序設(shè)計(jì)程序設(shè)計(jì)16/74A=1 -1 2;2 0 1;(2*3)B=2 -1 0;1 1 3;4 2 1;(3*3)(A*B)(3*2)B*A(3*2)MALAB 7.X程序設(shè)計(jì)程序設(shè)計(jì)17/74矩陣除法矩陣除法運(yùn)算的運(yùn)算符為運(yùn)算的運(yùn)算符為 和和/ /,分別表示,分別表示左除左除和和右除右除。矩陣除法的矩陣除法的定義為定義為:AB=AAB=

10、A-1-1B B A/B=AA/B=AB B-1-1其中其中A A-1-1和和B B-1-1是矩陣是矩陣A A和和B B的逆,矩陣的逆,矩陣B B的逆也可用的逆也可用函數(shù)函數(shù)invinv求得。求得。MALAB 7.X程序設(shè)計(jì)程序設(shè)計(jì)18/74定義為:定義為:設(shè)設(shè)A=(aA=(aijij) )m mn n,B=(b,B=(bijij) )m mn n, ,則數(shù)組的右除為則數(shù)組的右除為C=(cC=(cijij) )m mn n= (a= (aijij/ b/ bijij ) )m mn n,數(shù)組的左除為數(shù)組的左除為C=(cC=(cijij) )m mn n= (b= (bijij/ a/ aiji

11、j ) )m mn n。MALAB 7.X程序設(shè)計(jì)程序設(shè)計(jì)19/74A=2 2 -1 1;4 3 -1 2;8 3 -3 4;3 3 -2 -2;b=4 6 12 6;X=Ab %等價(jià)語句為等價(jià)語句為 X=inv(A)*b1234123412341224224432683341233226xxxxxxxxxxxxxxxxMALAB 7.X程序設(shè)計(jì)程序設(shè)計(jì)20/74l矩陣乘方矩陣乘方運(yùn)算的運(yùn)算符為運(yùn)算的運(yùn)算符為,運(yùn)算表達(dá)式為,運(yùn)算表達(dá)式為ABAB,矩陣乘方運(yùn)算的含義是:,矩陣乘方運(yùn)算的含義是:ABAB表示方陣表示方陣A A自乘自乘B B次。次。l數(shù)組乘方數(shù)組乘方運(yùn)算的運(yùn)算符為運(yùn)算的運(yùn)算符為.,運(yùn)

12、算表達(dá)式為,運(yùn)算表達(dá)式為A.BA.B,其中,其中A A和和B B都可以是矩陣或標(biāo)量。都可以是矩陣或標(biāo)量。MALAB 7.X程序設(shè)計(jì)程序設(shè)計(jì)21/74l當(dāng)當(dāng)A A為矩陣為矩陣,B,B為正整數(shù)時(shí),則將為正整數(shù)時(shí),則將a aijij自乘自乘B B次;次;l當(dāng)當(dāng)A A為矩陣為矩陣,B,B也為矩陣時(shí),也為矩陣時(shí),A A和和B B矩陣矩陣必須必須同型同型,則將,則將a aijij自乘自乘b bijij次。次。l當(dāng)當(dāng)A A為正整數(shù)為正整數(shù),B,B為矩陣時(shí),將為矩陣時(shí),將AbAbijij構(gòu)成新構(gòu)成新矩陣的第矩陣的第i i行第行第j j列元素。列元素。 其中其中a aijij和和b bijij分別表示矩陣分別表

13、示矩陣A A和和B B的第的第i i行行第第j j列元素。列元素。 MALAB 7.X程序設(shè)計(jì)程序設(shè)計(jì)22/74 常用的數(shù)學(xué)函數(shù)有三角函數(shù)、指數(shù)函數(shù)和整常用的數(shù)學(xué)函數(shù)有三角函數(shù)、指數(shù)函數(shù)和整值函數(shù)等。值函數(shù)等。 需要注意的是需要注意的是: :l MATLAB 6.5MATLAB 6.5以前的版本三角函數(shù)的自變量和反以前的版本三角函數(shù)的自變量和反三角函數(shù)的返回值為弧度;三角函數(shù)的返回值為弧度;l MATLAB 7.0MATLAB 7.0版本中提供了三角函數(shù)的自變量和版本中提供了三角函數(shù)的自變量和反三角函數(shù)的返回值分別為角度和弧度的兩類函反三角函數(shù)的返回值分別為角度和弧度的兩類函數(shù)。數(shù)。 MALA

14、B 7.X程序設(shè)計(jì)程序設(shè)計(jì)23/74x=30:30:90;sind(x),cosd(x),tand(x),cotd(x) %三角函數(shù)的自變量為角度值三角函數(shù)的自變量為角度值MALAB 7.X程序設(shè)計(jì)程序設(shè)計(jì)24/74x=0.1:0.1:0.6;asin(x),acos(x),atan(x) %返回值為弧度返回值為弧度asind(x),acosd(x),atand(x) %返回值為角度返回值為角度MALAB 7.X程序設(shè)計(jì)程序設(shè)計(jì)25/74x=1:10;x=1:10;log(x) log(x) % %返回值為返回值為自然對數(shù)自然對數(shù)log10(x) log10(x) % %返回值為返回值為常用對

15、數(shù)常用對數(shù)如果求如果求2 2為底的對數(shù)呢?為底的對數(shù)呢?log10(x)/log10(2)log10(x)/log10(2)MALAB 7.X程序設(shè)計(jì)程序設(shè)計(jì)26/742.6.1字符串的定義字符串的定義MATLABMATLAB將字符串當(dāng)作一個(gè)行向量,每個(gè)元素將字符串當(dāng)作一個(gè)行向量,每個(gè)元素對應(yīng)一個(gè)字符,一個(gè)字符占兩個(gè)字節(jié),并對應(yīng)一個(gè)字符,一個(gè)字符占兩個(gè)字節(jié),并且每一字符且每一字符( (包括空格包括空格) )以其以其ASCIIASCII碼的形碼的形式存放,其標(biāo)識方法和數(shù)值向量相同。式存放,其標(biāo)識方法和數(shù)值向量相同。MALAB 7.X程序設(shè)計(jì)程序設(shè)計(jì)27/74s1=Northeast Forest

16、 Uiversity %賦值方式建立字符串賦值方式建立字符串s1s2=Haerbin Heilongjiang % %賦值方式建立字符串賦值方式建立字符串s2s2whos % %查看字符串占用的字節(jié)信息查看字符串占用的字節(jié)信息MALAB 7.X程序設(shè)計(jì)程序設(shè)計(jì)28/74llengthlength 計(jì)算字符串的長度計(jì)算字符串的長度( (即組成字符的個(gè)數(shù)即組成字符的個(gè)數(shù)) )lclassclass 判斷某一個(gè)變量是否為字符串,返回判斷某一個(gè)變量是否為字符串,返回charchar則表示為字符串則表示為字符串lfindstrfindstr 尋找在某個(gè)長字符串中的子字符串,返回尋找在某個(gè)長字符串中的子字

17、符串,返回其起始位置其起始位置ldeblankdeblank 刪除字符串尾部的空格刪除字符串尾部的空格levaleval 以表達(dá)式方式執(zhí)行字符串以表達(dá)式方式執(zhí)行字符串ldispdisp 顯示字符串的內(nèi)容顯示字符串的內(nèi)容MALAB 7.X程序設(shè)計(jì)程序設(shè)計(jì)29/74l strcatstrcat(S1,S2,S3,.)(S1,S2,S3,.) 功能:功能:返回返回S1,S2,S3的連接字符串的連接字符串 常用的字符串的連接和替換函數(shù):常用的字符串的連接和替換函數(shù):lstrvcatstrvcat(T1,T2,T3,.)(T1,T2,T3,.) 功能:功能:返回返回T1,T2,T3,.的垂直連接字符串的

18、垂直連接字符串lstrmatchstrmatch(S1,S2) (S1,S2) 功能:功能:在逐行搜索字符串在逐行搜索字符串s2,給出以給出以s1開頭的那些行開頭的那些行的行號的行號lstrrepstrrep(S1,S2,S3)(S1,S2,S3) 功能:功能:把字符串把字符串s1的所有出現(xiàn)的所有出現(xiàn)s2的地方替換為的地方替換為s3lstrtokstrtok (S) (S) 功能:功能:查找字符串查找字符串S的第一個(gè)間隔符(空格符、指的第一個(gè)間隔符(空格符、指表符、回車符)前的內(nèi)容表符、回車符)前的內(nèi)容MALAB 7.X程序設(shè)計(jì)程序設(shè)計(jì)30/74test=This is a test!;pos

19、ition=findstr(test,is)a r r a y = s t r v c a t ( m a x a r r a y , m i n value,max value);result_1=strmatch(max,array)result_2=strrep(test,test,pest)token,remainder=strtok(This is a test!)MALAB 7.X程序設(shè)計(jì)程序設(shè)計(jì)31/74lstrcmpstrcmp(S1,S2)(S1,S2) 功能:功能:比較字符串是否相等。如果相同則返回比較字符串是否相等。如果相同則返回1 1,否則為否則為0 0。常用的字符串比

20、較函數(shù):常用的字符串比較函數(shù):lstrcmpistrcmpi(S1,S2)(S1,S2) 功能:功能:在忽略大小寫的情況下,比較字符串是否相在忽略大小寫的情況下,比較字符串是否相等。如果相同則返回等。如果相同則返回1 1,否則為,否則為0 0。lstrncmpstrncmp(S1,S2,N)(S1,S2,N) 功能功能:比較兩個(gè)字符串的前:比較兩個(gè)字符串的前n n個(gè)字符是否相等。如個(gè)字符是否相等。如果相同則返回果相同則返回1 1,否則為,否則為0 0。lstrncmpistrncmpi(S1,S2,N)(S1,S2,N) 功能功能:在忽略大小寫的情況下,比較字符串在忽略大小寫的情況下,比較字符

21、串的前的前n n個(gè)字符個(gè)字符是否相等。是否相等。如果相同則返回如果相同則返回1 1,否則為,否則為0 0。MALAB 7.X程序設(shè)計(jì)程序設(shè)計(jì)32/74str1=hello;str2=Hello;str3=help;c1=strcmp(str1,str2)c2=strcmpi(str1,str2)c3=strncmp(str1,str3,2)c4=strncmpi(str1,str3,2)MALAB 7.X程序設(shè)計(jì)程序設(shè)計(jì)33/74lupper(A)upper(A) 功能:功能:把字符串把字符串A A中的任一小寫字母轉(zhuǎn)換為相應(yīng)中的任一小寫字母轉(zhuǎn)換為相應(yīng)的大寫字母的大寫字母常用的字符串轉(zhuǎn)換函數(shù):常

22、用的字符串轉(zhuǎn)換函數(shù):llower(A)lower(A) 功能功能:把字符串把字符串A A中的任一大寫字母轉(zhuǎn)換為相應(yīng)中的任一大寫字母轉(zhuǎn)換為相應(yīng)的小寫字母的小寫字母ldouble(X)double(X) 功能功能:轉(zhuǎn)換字符串轉(zhuǎn)換字符串X X為為ASCIIASCII碼碼lchar(X)char(X) 功能功能:將將ASCIIASCII碼碼X X轉(zhuǎn)換為字符串轉(zhuǎn)換為字符串MALAB 7.X程序設(shè)計(jì)程序設(shè)計(jì)34/74lint2str(X) int2str(X) 功能功能:將整數(shù):將整數(shù)X X轉(zhuǎn)換為字符串轉(zhuǎn)換為字符串lnum2str(X)num2str(X) 功能:功能:將數(shù)值將數(shù)值X X轉(zhuǎn)換成字符串轉(zhuǎn)換成

23、字符串lmat2str(MAT)mat2str(MAT) 功能:功能:將數(shù)值矩陣將數(shù)值矩陣MATMAT轉(zhuǎn)換為可執(zhí)行的形式轉(zhuǎn)換為可執(zhí)行的形式MALAB 7.X程序設(shè)計(jì)程序設(shè)計(jì)35/74x=5317;y=int2str(x)p=num2str(pi,7)p=num2str(pi,%10.5e)a=1 2 3;4 5 6 ;b=mat2str(a)s t r = s p r i n t f ( T h e v a l u e o f pi=%8.6f.,pi)MALAB 7.X程序設(shè)計(jì)程序設(shè)計(jì)36/74 2.7.1 元胞數(shù)組的建立元胞數(shù)組的建立l元胞數(shù)組元胞數(shù)組:一個(gè)數(shù)組里存放各種不同類型:一個(gè)數(shù)組

24、里存放各種不同類型的數(shù)據(jù)。元胞數(shù)組中的基本組成是元胞,的數(shù)據(jù)。元胞數(shù)組中的基本組成是元胞,每一個(gè)元胞是用來存放各種不同類型的數(shù)每一個(gè)元胞是用來存放各種不同類型的數(shù)據(jù)的單元。據(jù)的單元。l如果元胞中存放的數(shù)據(jù)為元胞數(shù)組,則為如果元胞中存放的數(shù)據(jù)為元胞數(shù)組,則為元胞數(shù)組的嵌套使用。元胞數(shù)組的嵌套使用。MALAB 7.X程序設(shè)計(jì)程序設(shè)計(jì)37/74 賦值語句的右邊為用符號賦值語句的右邊為用符號標(biāo)記的不同類型的標(biāo)記的不同類型的數(shù)據(jù)。數(shù)據(jù)。例例2-43 建立元胞數(shù)組,并查看元素的信息建立元胞數(shù)組,并查看元素的信息。a=This is the first example.,hadamard(2);ones(3

25、),North;EastMALAB 7.X程序設(shè)計(jì)程序設(shè)計(jì)38/74查看查看a a的各個(gè)元素的信息:的各個(gè)元素的信息:a1,1a1,1a1,2a1,2a2,1a2,1a2,2a2,2MALAB 7.X程序設(shè)計(jì)程序設(shè)計(jì)39/74b(1,1)=This is the second example.;b(1,1)=This is the second example.;b(1,2)=hilbb(1,2)=hilb(3);(3);b(2,1)=zeros(2);b(2,1)=zeros(2);b(2,2)=South;West;b(2,2)=South;West;b b % % 查看查看b b的內(nèi)容的

26、內(nèi)容MALAB 7.X程序設(shè)計(jì)程序設(shè)計(jì)40/74創(chuàng)建元胞數(shù)組的函數(shù)為:創(chuàng)建元胞數(shù)組的函數(shù)為:lcell(N)cell(N) 創(chuàng)建空的創(chuàng)建空的N NN N的元胞數(shù)組的元胞數(shù)組lcell(M,N)cell(M,N) 或或 cell (M,N)cell (M,N) 創(chuàng)建空的創(chuàng)建空的M M N N的元胞數(shù)組的元胞數(shù)組MALAB 7.X程序設(shè)計(jì)程序設(shè)計(jì)41/74c=cell(2);c=cell(2);c1,1=(This is the third example.);c1,1=(This is the third example.);c1,2=companc1,2=compan(1 0 3);(1 0

27、3);c2,1=3+4c2,1=3+4* *i -5;-10i -5;-10* *i 3-4i 3-4* *i;i;c2,2=; c2,2=; % %元胞數(shù)組的第四個(gè)元素為空矩陣元胞數(shù)組的第四個(gè)元素為空矩陣 C C % % 查看查看c c 的內(nèi)容的內(nèi)容MALAB 7.X程序設(shè)計(jì)程序設(shè)計(jì)42/74lcelldispcelldisp(C)(C) 功能:功能:顯示元胞數(shù)組顯示元胞數(shù)組C C的所有元素的內(nèi)容的所有元素的內(nèi)容celldispcelldisp,cellplotcellplot和和cellfuncellfun:lcellplotcellplot(C)(C) 功能:功能:以嵌套的格子的形式顯示

28、元胞數(shù)組以嵌套的格子的形式顯示元胞數(shù)組C C的所有的所有元素的結(jié)構(gòu)元素的結(jié)構(gòu)ld=cellfund=cellfun(fun, c)(fun, c) 功能:功能:返回判斷元胞數(shù)組返回判斷元胞數(shù)組c c 的元素?cái)?shù)據(jù)類型和基本的元素?cái)?shù)據(jù)類型和基本信息的數(shù)組信息的數(shù)組d d,其中,其中funfun為為isrealisreal,isemptyisempty, islogicalislogical,lengthlength,ndimsndims和和prodofsizeprodofsize。MALAB 7.X程序設(shè)計(jì)程序設(shè)計(jì)43/74lM=cell2mat(C)M=cell2mat(C) 功能:功能:元胞數(shù)

29、組轉(zhuǎn)換為單精度矩陣,其中元胞數(shù)組轉(zhuǎn)換為單精度矩陣,其中C C為多為多維元胞數(shù)組,維元胞數(shù)組,M M為轉(zhuǎn)換后得到的單精度矩陣。要為轉(zhuǎn)換后得到的單精度矩陣。要求輸入的元胞數(shù)組元素必須是同類型的數(shù)據(jù)。求輸入的元胞數(shù)組元素必須是同類型的數(shù)據(jù)。元胞數(shù)組與其他數(shù)組的轉(zhuǎn)換函數(shù):元胞數(shù)組與其他數(shù)組的轉(zhuǎn)換函數(shù): cell2matcell2mat,mat2cellmat2cell和和num2cellnum2cell。lC=mat2cell(X,M,N)C=mat2cell(X,M,N) 功能:功能:矩陣分解為元胞數(shù)組。其中矩陣分解為元胞數(shù)組。其中X X為多維元胞為多維元胞數(shù)組,數(shù)組,C C為轉(zhuǎn)換后得到的矩陣。為轉(zhuǎn)

30、換后得到的矩陣。lC=num2cell(A)C=num2cell(A) 功能:功能:轉(zhuǎn)換數(shù)值數(shù)組為元胞數(shù)組。其中轉(zhuǎn)換數(shù)值數(shù)組為元胞數(shù)組。其中A A為數(shù)值為數(shù)值數(shù)組,數(shù)組,C C為轉(zhuǎn)換得到的元胞數(shù)組。為轉(zhuǎn)換得到的元胞數(shù)組。 MALAB 7.X程序設(shè)計(jì)程序設(shè)計(jì)44/74x=1 2 3 4;5; 9 6 7 8; 10 11 2;cell2mat(x) %轉(zhuǎn)換數(shù)值數(shù)組為單精度矩陣轉(zhuǎn)換數(shù)值數(shù)組為單精度矩陣MALAB 7.X程序設(shè)計(jì)程序設(shè)計(jì)45/74X = zeros(3,4)+5;C = mat2cell(X,1 2,1 3) %矩陣分解為元胞數(shù)組矩陣分解為元胞數(shù)組A=1 2 3 4; 5 6 7 8

31、; 9 10 11 12;C=num2cell(A) %轉(zhuǎn)換數(shù)值數(shù)組為元胞數(shù)組轉(zhuǎn)換數(shù)值數(shù)組為元胞數(shù)組MALAB 7.X程序設(shè)計(jì)程序設(shè)計(jì)46/74 1 1 直接引用直接引用l元胞數(shù)組的元素的引用可通過指出數(shù)組名稱直元胞數(shù)組的元素的引用可通過指出數(shù)組名稱直接引用。接引用。l元胞數(shù)組中可以引用的元素為元胞數(shù)組的結(jié)構(gòu)、元胞數(shù)組中可以引用的元素為元胞數(shù)組的結(jié)構(gòu)、元胞數(shù)組的內(nèi)容、元胞數(shù)組的部分元素。元胞數(shù)組的內(nèi)容、元胞數(shù)組的部分元素。 MALAB 7.X程序設(shè)計(jì)程序設(shè)計(jì)47/74a=This is the forth example.,magic(3);ones(3),North;Easta(1,2) %

32、 查看查看a(1,2)的結(jié)構(gòu)的結(jié)構(gòu)a1,2 %查看查看a1,2元胞的內(nèi)容元胞的內(nèi)容a1,2(1) %引用引用a1,2元胞的第元胞的第1個(gè)元素個(gè)元素a1,2(1 2) %引用引用a1,2元胞的第元胞的第1、2個(gè)元素個(gè)元素MALAB 7.X程序設(shè)計(jì)程序設(shè)計(jì)48/74例例 2-482-48 演示元胞數(shù)組的擴(kuò)展方法。演示元胞數(shù)組的擴(kuò)展方法。a3,3=5 %擴(kuò)展擴(kuò)展a為為33的數(shù)組,的數(shù)組,a(3,3)為元胞,內(nèi)為元胞,內(nèi)容為容為5MALAB 7.X程序設(shè)計(jì)程序設(shè)計(jì)49/74例例2-492-49 演示元胞數(shù)組的刪除方法。演示元胞數(shù)組的刪除方法。a3,3= %刪除刪除a的第三行、第三列元素的第三行、第三列

33、元素a(3,:)= %刪除刪除a的第三列元素的第三列元素MALAB 7.X程序設(shè)計(jì)程序設(shè)計(jì)50/742.8.1 構(gòu)架數(shù)組的建立構(gòu)架數(shù)組的建立l構(gòu)架數(shù)組的基本組成是域,每一個(gè)域是用構(gòu)架數(shù)組的基本組成是域,每一個(gè)域是用來存放各種不同類型的數(shù)據(jù)的單元。來存放各種不同類型的數(shù)據(jù)的單元。l構(gòu)架數(shù)組的建立也有三種方法:構(gòu)架數(shù)組的建立也有三種方法:賦值語句、創(chuàng)建函數(shù)和轉(zhuǎn)換函數(shù)。賦值語句、創(chuàng)建函數(shù)和轉(zhuǎn)換函數(shù)。 MALAB 7.X程序設(shè)計(jì)程序設(shè)計(jì)51/74l例例2-502-50 使用賦值語句依次為各個(gè)域賦值的使用賦值語句依次為各個(gè)域賦值的方法建立構(gòu)架數(shù)組,存儲(chǔ)兩名學(xué)生的名字、方法建立構(gòu)架數(shù)組,存儲(chǔ)兩名學(xué)生的名字

34、、學(xué)號、性別、班級信息。學(xué)號、性別、班級信息。=Wang Ming;s.number=19990101;s.sex=man;s.class=199901; MALAB 7.X程序設(shè)計(jì)程序設(shè)計(jì)52/74l如查看構(gòu)架數(shù)組的內(nèi)容,語句為:如查看構(gòu)架數(shù)組的內(nèi)容,語句為: s sl如查看構(gòu)架數(shù)組的某一個(gè)域內(nèi)容,語句為:如查看構(gòu)架數(shù)組的某一個(gè)域內(nèi)容,語句為: MALAB 7.X程序設(shè)計(jì)程序設(shè)計(jì)53/74 s(2).name=Zhang Le; s(2).name=Zhang Le; s(2).number=19990201; s(2).number=19990201; s(2).s

35、ex=man; s(2).sex=man; l構(gòu)架數(shù)組的第二個(gè)元素可以被通過增加下標(biāo)構(gòu)架數(shù)組的第二個(gè)元素可以被通過增加下標(biāo)實(shí)現(xiàn)。實(shí)現(xiàn)。l如查看構(gòu)架數(shù)組的各個(gè)域名,語句為:如查看構(gòu)架數(shù)組的各個(gè)域名,語句為: s sMALAB 7.X程序設(shè)計(jì)程序設(shè)計(jì)54/74l可通過下面的語句查看可通過下面的語句查看s s的內(nèi)容:的內(nèi)容: s(1),s(1), s(2) s(2)MALAB 7.X程序設(shè)計(jì)程序設(shè)計(jì)55/74使用使用structstruct函數(shù)可以建立構(gòu)架數(shù)組,格式為:函數(shù)可以建立構(gòu)架數(shù)組,格式為:S = structS = struct (field1,VALUES1,field2,VALUES2

36、,.) (field1,VALUES1,field2,VALUES2,.) 功能:功能:創(chuàng)建構(gòu)架數(shù)組創(chuàng)建構(gòu)架數(shù)組S S,其中,其中 field1field1的值的值賦為賦為VALUES1, field2VALUES1, field2的值賦為的值賦為VALUES2,VALUES2,MALAB 7.X程序設(shè)計(jì)程序設(shè)計(jì)56/74 s=struct(name,Wang Ming,number,19990101, class, 199901,sex,man)MALAB 7.X程序設(shè)計(jì)程序設(shè)計(jì)57/74元胞數(shù)組轉(zhuǎn)換為構(gòu)架數(shù)組的函數(shù)為元胞數(shù)組轉(zhuǎn)換為構(gòu)架數(shù)組的函數(shù)為cell2struct,格式為:格式為:S

37、= cell2struct(C,FIELDS,DIM)功能:功能:元胞數(shù)組元胞數(shù)組C轉(zhuǎn)換為構(gòu)架數(shù)組轉(zhuǎn)換為構(gòu)架數(shù)組S。其中。其中FIELDS為字符串?dāng)?shù)組或元胞數(shù)組,為字符串?dāng)?shù)組或元胞數(shù)組,DIM為為元胞數(shù)組的維數(shù)。元胞數(shù)組的維數(shù)。MALAB 7.X程序設(shè)計(jì)程序設(shè)計(jì)58/74c=Zhang Ming,19990102,femal,199901;f=name,number,sex,class;s=cell2struct(c,f,2)MALAB 7.X程序設(shè)計(jì)程序設(shè)計(jì)59/741 獲取獲取域名域名 構(gòu)架數(shù)組創(chuàng)建后可通過函數(shù)構(gòu)架數(shù)組創(chuàng)建后可通過函數(shù)fieldnames獲取獲取構(gòu)架數(shù)組的域構(gòu)架數(shù)組的域,

38、, 格式為:格式為:NAMES = fieldnames(S) 功能:功能:返回返回構(gòu)架數(shù)組構(gòu)架數(shù)組S的域名構(gòu)成的元胞數(shù)組的域名構(gòu)成的元胞數(shù)組NAMES。MALAB 7.X程序設(shè)計(jì)程序設(shè)計(jì)60/74NAMES = fieldnames(s)MALAB 7.X程序設(shè)計(jì)程序設(shè)計(jì)61/74構(gòu)架數(shù)組建立后,允許增加和刪除域。構(gòu)架數(shù)組建立后,允許增加和刪除域。構(gòu)架數(shù)組的域的刪除可通過函數(shù)構(gòu)架數(shù)組的域的刪除可通過函數(shù)rmfieldrmfield實(shí)現(xiàn),實(shí)現(xiàn),格式為:格式為:S = rmfieldS = rmfield (S,field) (S,field) 功能:功能:從構(gòu)架數(shù)組從構(gòu)架數(shù)組S S中刪除域中刪

39、除域 fieldfield。MALAB 7.X程序設(shè)計(jì)程序設(shè)計(jì)62/74s(2).exams=90 82 88 ; % 增加增加s的域的域exams,并通過賦值語句,并通過賦值語句為為s(2) 賦值賦值s(1) % 查看查看s(1,1)的詳細(xì)信息的詳細(xì)信息s(2) % 查看查看s(1,2)的詳細(xì)信息的詳細(xì)信息s2=rmfield(s,sex) %刪除刪除s的域的域sexMALAB 7.X程序設(shè)計(jì)程序設(shè)計(jì)63/74l構(gòu)架數(shù)組的元素的引用可通過指出數(shù)組名稱、構(gòu)架數(shù)組的元素的引用可通過指出數(shù)組名稱、下標(biāo)、域名直接引用。下標(biāo)、域名直接引用。l例例 2-552-55 演示構(gòu)架數(shù)組元素的引用方法。演示構(gòu)架

40、數(shù)組元素的引用方法。s(1).numbers(2).number %引用引用number元素元素s(2).exams%s(2).exams%引用引用examsexams元素,并求其平均值元素,并求其平均值MALAB 7.X程序設(shè)計(jì)程序設(shè)計(jì)64/74averge=(s(2).exams(1)+s(2).exams(2)+s(2).exams(3)/3 %求平均值求平均值s(2).aver=averge % %增加增加averaver域,并賦域,并賦值為平均值值為平均值這時(shí)這時(shí)s s成為成為1x2 1x2 構(gòu)架數(shù)組,并有域構(gòu)架數(shù)組,并有域namename、numbernumber、classcla

41、ss、examsexams和和averaver。MALAB 7.X程序設(shè)計(jì)程序設(shè)計(jì)65/74函數(shù)函數(shù)getfieldgetfield 的的格式為格式為:F = getfieldF = getfield (S,i,j,field,k) (S,i,j,field,k)功能:功能:獲取構(gòu)架數(shù)組的指定的域的域值。其獲取構(gòu)架數(shù)組的指定的域的域值。其中中S S是構(gòu)架數(shù)組名,是構(gòu)架數(shù)組名,i,ji,j用來指定元素構(gòu)架用來指定元素構(gòu)架的下標(biāo),的下標(biāo),fieldfield是指定的域名,必須是字是指定的域名,必須是字符串,符串,kk用來指定域中數(shù)組的下標(biāo)。用來指定域中數(shù)組的下標(biāo)。MALAB 7.X程序設(shè)計(jì)程序設(shè)計(jì)66/74函數(shù)函數(shù)setfieldsetfield的的格式為:格式為:S=setfieldS=setfield(S,field,V) (S,field,V) S=SETFIELD(S,i,j,field,k,V)S=SETFIELD(S,i,j,field,k,V)功能:功能:設(shè)置構(gòu)架數(shù)組的指定的域的域值,設(shè)置構(gòu)架數(shù)組的指定的域的域值,其中其中S S是構(gòu)架數(shù)組名,

溫馨提示

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

最新文檔

評論

0/150

提交評論