版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
第二章數(shù)據(jù)結(jié)構(gòu)及其運(yùn)算內(nèi)容簡介2.1數(shù)據(jù)類型2.2一維數(shù)組2.3二維數(shù)組2.4高維數(shù)組2.5數(shù)組操作2.6數(shù)組運(yùn)算與矩陣運(yùn)算2.7多項(xiàng)式2.8關(guān)系運(yùn)算、邏輯運(yùn)算和運(yùn)算符2.9字符串?dāng)?shù)組2.10細(xì)胞數(shù)組2.11結(jié)構(gòu)體數(shù)組★★★★★★★★Matlab里共有六種基本數(shù)據(jù)類型,每一種類型可以構(gòu)成一維、二維和多維的數(shù)組。雙精度型(double):雙精度數(shù)值類型,是最常用的類型;字符型(char):字符數(shù)組,每個(gè)字符占16位;稀疏型(sparse):雙精度稀疏矩陣,只存儲(chǔ)矩陣中的非0元素;細(xì)胞型(cell):可以存放任意類型數(shù)據(jù);結(jié)構(gòu)體(struct):不同類型的數(shù)據(jù)集合;存儲(chǔ)型(storage):用于圖像處理。2.1數(shù)據(jù)類型數(shù)組(Array)可以是一維的行(或列),也可以是二維或多維的。用戶可以操作整個(gè)數(shù)組,也可以操作數(shù)組中的某個(gè)或者某些元素。以下函數(shù)可以查看變量的數(shù)據(jù)類型:isa(a,’type’)變量a的數(shù)據(jù)類型名稱如果是type,則返回1,否則返回0。class(a)返回變量a的數(shù)據(jù)類型名稱。whosa查看變量a的詳細(xì)情況。2.2一維數(shù)組逐個(gè)元素輸入法冒號(hào)運(yùn)算符法線性分隔法對(duì)數(shù)分隔法
一維數(shù)組的創(chuàng)建冒號(hào)運(yùn)算符的格式是:startv:step:endvStartv:數(shù)組的第一個(gè)元素值;Endv:數(shù)組的最后一個(gè)元素值;Step:步長,即數(shù)組元素每次增加的值,可正可負(fù),缺省默認(rèn)步長為1。說明線性分割法linspace函數(shù)的調(diào)用格式為:x=linspace(a,b,n)數(shù)組的第一個(gè)元素值為a,最后一個(gè)元素值為b,數(shù)組中共有n個(gè)元素,這n個(gè)元素線性均勻分布于a和b之間,即數(shù)組元素依次為:說明對(duì)數(shù)分割法logspace函數(shù)的調(diào)用格式為:x=logspace(a,b,n)數(shù)組的第一個(gè)元素值為,最后一個(gè)元素值為,數(shù)組中共有n個(gè)元素,這n個(gè)元素的以10為底的對(duì)數(shù)值均勻分布與a和b之間,即數(shù)組元素依次為1` 說明formatlonglogspace(1,10,10)logspace(1,10,10)linspace(1,1.0001,10)formatlonglinspace(1,1.0001,10)注意比較下列語句執(zhí)行結(jié)果的區(qū)別MATLAB使用雙精度執(zhí)行所有的計(jì)算。使用format函數(shù)可以控制顯示數(shù)據(jù)結(jié)果的格式;但并不影響計(jì)算及存儲(chǔ)的方式。MATLAB輸出格式默認(rèn)值為5位刻度的固定點(diǎn)值,即等同于formatshort。formatlong
輸出格式為15位??梢杂孟聵?biāo)方式訪問數(shù)組元素。下標(biāo)要用一對(duì)圓括號(hào)()引起來;下標(biāo)可以是常量,也可以是變量。一維數(shù)組的訪問可以訪問數(shù)組中的單個(gè)元素,也可以訪問數(shù)組中的某些元素,即數(shù)組的子數(shù)組。例2.2.12.3二維數(shù)組二維數(shù)組的創(chuàng)建逐個(gè)輸入數(shù)組元素值;利用M文件。1.逐個(gè)輸入數(shù)組元素值如果數(shù)組內(nèi)元素?cái)?shù)量少,可以直接從鍵盤逐個(gè)輸入元素的值,需要遵循的規(guī)則是:整個(gè)數(shù)組必須用中括號(hào)“[]”括起來;數(shù)組的行與行之間用分號(hào)“;”分隔,或者用回車符分隔;每行之間的元素必須用逗號(hào)“,”或者空格分隔;分隔符必須在英文狀態(tài)下輸入。即在英文狀態(tài)下輸入分號(hào)、括號(hào)、方括號(hào)、逗號(hào)等。說明用M文件實(shí)現(xiàn)對(duì)數(shù)組x的輸入和保存,方法如下:在當(dāng)前目錄下,用程序(M文件)編輯器建立一個(gè)名為MyData.m的文件;在編輯器中輸入x內(nèi)容;保存MyData.m文件;在命令窗口鍵入MyData,就可以在內(nèi)存中建立數(shù)組x并讀入數(shù)組元素的值。2.利用M文件例2.3.2二維數(shù)組的訪問訪問時(shí)可以用單下標(biāo)也可以用雙下標(biāo);雙下標(biāo)方式訪問:格式為(r,c),其中r為二維數(shù)組的行下標(biāo),c為列下標(biāo),下標(biāo)之間用逗號(hào)分隔;單下標(biāo)方式訪問:按照列優(yōu)先規(guī)則排序的,即二維數(shù)組被看作是從第一列開始從左到右依次將各列首位連接而成的一維數(shù)組,單下標(biāo)表示元素在這個(gè)一維數(shù)組中的位置;單下標(biāo)和雙下標(biāo)具有對(duì)應(yīng)關(guān)系,其值可以通過ind2sub和sub2ind函數(shù)進(jìn)行轉(zhuǎn)換;可以訪問二維數(shù)組的某個(gè)元素及其子數(shù)組,可以對(duì)元素和子數(shù)組賦值。單下標(biāo)和雙下標(biāo)具有對(duì)應(yīng)關(guān)系列優(yōu)先例2.3.3試一試某一維長度為0的數(shù)組稱為空數(shù)組;空數(shù)組用[]表示,表示數(shù)組中沒有元素,但可以表示計(jì)算結(jié)果為“空”;僅僅能用isempty函數(shù)正確判斷數(shù)組是否為空;可以通過給數(shù)組元素賦值空數(shù)組來縮小數(shù)組的大小;盡量不要用空數(shù)組參與邏輯運(yùn)算和關(guān)系運(yùn)算。說明有關(guān)空數(shù)組另外一些數(shù)組的產(chǎn)生方法例2.3.3.1試一試2.5數(shù)組操作標(biāo)準(zhǔn)數(shù)組的生成在Matlab中有相應(yīng)的函數(shù)用來生成全1數(shù)組、全零數(shù)組、對(duì)角陣等標(biāo)準(zhǔn)數(shù)組。1.ones功能:生成全1數(shù)組,即數(shù)組中的元素都為1。格式:
Y=ones(n)生成n×n的全1矩陣
Y=ones(size(A))生成和數(shù)組A同樣尺寸的全1數(shù)組
Y=ones(m1,m2,…,mk)生成m1×m2×…×mk維的全1數(shù)組2.zeros功能:生成全0數(shù)組,即數(shù)組中的元素都為0。格式:同ones函數(shù)3.rand功能:生成均勻分布隨機(jī)數(shù)組。格式:同ones函數(shù)3.5randi功能:生成[imin,imax]內(nèi)各整數(shù)均勻分布的m
n維隨機(jī)數(shù)組。格式:randi([imin,imax],m,n)4.randn功能:生成正態(tài)分布隨機(jī)數(shù)組。格式:同ones函數(shù)Exercise1
Weneedrandomintegersinthisproject.Let'sdosometestsontherandi()function.Generate10000randomintegersbetween1and10.Plotahistogramofthem.Dothesediceseemfair?)bar(m);%Plotahistogramofthem試一試5.magic功能:產(chǎn)生兩維魔方矩陣。格式:M=magic(n) 產(chǎn)生n×n的對(duì)角線元素之和相等的矩陣6.eye功能:產(chǎn)生二維單位矩陣。格式:
Y=eye(n)產(chǎn)生n×n單位陣
Y=eye(n,m)產(chǎn)生n×m單位陣
Y=eye(size(A))產(chǎn)生規(guī)模如A的單位陣Y=eye(m,n,classname)classname是字符串,表示元素的數(shù)據(jù)類型名稱,可取'double','single','int8','uint8','int16','uint16','int32','uint32','int64','uint64'。16位無符號(hào)數(shù)16位帶符號(hào)數(shù)b=eye(3,4,'int8')*(-1000)
觀察b的顯示結(jié)果最大數(shù)據(jù)b=eye(3,4,'uint8')*(300)b=eye(3,4,'int8')*(-10)b=eye(3,4,'uint8')*(30)試一試7.diag功能:產(chǎn)生對(duì)角陣,即矩陣的某個(gè)對(duì)角線元素不全為0,其他元素為0。格式:
X=diag(v,k)
生成length(v)+k階方陣,并在第k條對(duì)角線放置元素v;
X=diag(v)
生成length(v)階方陣,并在主對(duì)角線放置元素v;
v=diag(X,k)
返回方陣X的第k條對(duì)角線元素構(gòu)成的列向量;
v=diag(X)
返回方陣X的主對(duì)角線元素構(gòu)成的列向量。v為行向量,表示對(duì)角線元素;k為對(duì)角線位置。k=0表示主對(duì)角線;k>0表示在主對(duì)角線上方的第k條對(duì)角線;k<0表示在主對(duì)角線下方的第(-k)條對(duì)角線。說明X=diag(v,k)例2.5.1試一試數(shù)組操作包括數(shù)組的擴(kuò)展、收縮、重排、元素交換和子數(shù)組訪問等??梢酝ㄟ^兩種方式實(shí)現(xiàn):通過Matlab提供的運(yùn)算符(逗號(hào),分號(hào),括號(hào)等)來實(shí)現(xiàn);使用Matlab提供的數(shù)組操作函數(shù)。1.
cat功能:把大小相同的若干數(shù)組,沿著指定維的方向,串接成新數(shù)組。格式:C=cat(dim,A,B) C=cat(dim,A1,A2,A3,A4,...)說明A,B,A1,A2等為被串接數(shù)組,要求這些數(shù)組同維;dim表示串接方向,1表示行,2表示列,3表示頁,以此類推。C=cat(dim,A,B)2.
fliplr功能:沿著垂直中線,左右(Left-Right)對(duì)稱交換數(shù)組元素(不超過2維);格式:B=fliplr(A)。功能:沿著水平中線,上下(Up-Down)對(duì)稱交換數(shù)組元素(不超過2維);格式:B=flipud(A)。3.flipud4.
rot90功能:逆時(shí)針旋轉(zhuǎn)二維數(shù)組。格式:B=rot90(A) 逆時(shí)針旋轉(zhuǎn)矩陣90度
B=rot90(A,k) 逆時(shí)針旋轉(zhuǎn)矩陣90*k度試一試對(duì)比一下旋轉(zhuǎn)二維數(shù)組與矩陣轉(zhuǎn)置。5.repmat功能:按指定維上的數(shù)目,分塊鋪放指定數(shù)組。格式:B=repmat(A,m,n) 沿著第1維鋪放m個(gè)A,第2維鋪放n個(gè)A。B=repmat(A,[mn])功能:在總元素不變的前提下,重新安排數(shù)組各個(gè)維的長度,形成新數(shù)組。格式:B=reshape(A,m,n)B=reshape(A,m,n,p,...)B=reshape(A,[mnp...])B=reshape(A,...,[],...)6.
reshape說明B=repmat(A,[mnp...])B=reshape(A,m,n,p,...)B=reshape(A,[mnp...])A是待重新安排的數(shù)組;m,n,p等是新數(shù)組各個(gè)維的長度;[]表示自動(dòng)計(jì)算某個(gè)維的長度而無需用戶指定。7.tril
功能:提取矩陣的下三角元素,生成下三角陣。格式:L=tril(X)L=tril(X,k)8.triu
功能:提取矩陣的上三角元素,生成上三角陣。格式:L=triu(X)L=triu(X,k)說明:X為待提取的矩陣;k為三角陣的分界線位置,含義同diag函數(shù)。例2.5.2試一試?yán)?.5.32.6數(shù)組運(yùn)算與矩陣運(yùn)算數(shù)組運(yùn)算Matlab數(shù)組運(yùn)算是指對(duì)數(shù)組中的每個(gè)元素進(jìn)行相同的運(yùn)算。1.用數(shù)組運(yùn)算符進(jìn)行數(shù)組運(yùn)算A+B,A-B 數(shù)組加減法運(yùn)算。A.*B,A./B(A除以B)
A.\B
(
B除以A)數(shù)組相乘除,A和B相同位置元素的乘除后作為結(jié)果數(shù)組的元素。
A.^p
數(shù)組各元素求p次冪
A#B A、B數(shù)組對(duì)應(yīng)元素間進(jìn)行關(guān)系運(yùn)算,#代表關(guān)系運(yùn)算符
A@B A、B數(shù)組對(duì)應(yīng)元素間進(jìn)行邏輯運(yùn)算,@代表邏輯運(yùn)算符
A.′
數(shù)組轉(zhuǎn)置,非共軛轉(zhuǎn)置
s◎A
標(biāo)量s與數(shù)組A運(yùn)算,s與A的每個(gè)元素進(jìn)行運(yùn)算,◎代表某個(gè)運(yùn)算符2.數(shù)組運(yùn)算函數(shù)三角函數(shù),指數(shù)對(duì)數(shù)函數(shù),復(fù)數(shù)函數(shù),取整函數(shù)。表2.6.2A+B 矩陣加法。A-B 矩陣減法。A*B 矩陣乘法,要滿足維數(shù)要求,一般不符合交換律。A/B 矩陣右除,求xB=A的最小二乘解。A\B 矩陣左除,求Bx=A的最小二乘解。 A^p 矩陣乘方。矩陣運(yùn)算A+B,A-B 數(shù)組加減法運(yùn)算。A.*B,A./B(A.\B)數(shù)組相乘除,A和B相同位置元素的乘除后作為結(jié)果數(shù)組的元素。對(duì)比一下s*A 標(biāo)量s與矩陣A相乘,標(biāo)量s分別與A的每個(gè)元素相乘。expm(A) 矩陣的指數(shù)函數(shù)。inv(A) 矩陣的逆矩陣。說明點(diǎn)運(yùn)算。在算數(shù)運(yùn)算符前面加“.”代表運(yùn)算是按照數(shù)組運(yùn)算規(guī)則進(jìn)行運(yùn)算,否則是按照矩陣運(yùn)算規(guī)則進(jìn)行運(yùn)算的。某個(gè)函數(shù)名字后加字母m。通常這兩個(gè)函數(shù)的運(yùn)算功能相同,只是加了m的函數(shù)按照矩陣運(yùn)算規(guī)則運(yùn)算,另外按照數(shù)組運(yùn)算規(guī)則運(yùn)算。例2.6.1試一試2.7多項(xiàng)式在MATLAB里,多項(xiàng)式用其系數(shù)行向量表示。多項(xiàng)式:表示為:多項(xiàng)式的創(chuàng)建直接輸入法;poly(A)
若A為方陣,則創(chuàng)建方陣A的特征多項(xiàng)式;poly(a)
如果向量a=[bnbn-1…b1b0],則創(chuàng)建創(chuàng)建全部根為bn,bn-1,…,b1,b0對(duì)應(yīng)的多項(xiàng)式。多項(xiàng)式的運(yùn)算多項(xiàng)式加減:+-(同樣長度)使用Matlab的運(yùn)算符+-實(shí)現(xiàn)多項(xiàng)式的加減法;多項(xiàng)式相乘:
p=conv(p1,p2)p為多項(xiàng)式p1和多項(xiàng)式p2的乘積;多項(xiàng)式相除:
[q,r]=deconv(p1,p2)
多項(xiàng)式p1除以多項(xiàng)式p2,商多項(xiàng)式為q,余多項(xiàng)式為r。
dp=polyder(p)
多項(xiàng)式p的導(dǎo)數(shù)多項(xiàng)式為dpdp=polyder(p1,p2)
多項(xiàng)式p1和多項(xiàng)式p2乘積的導(dǎo)數(shù)多項(xiàng)式為dp[num,den]=polyder(p1,p2)
有理分式(p1/p2)的求導(dǎo)后的有理分式為 (num/den)多項(xiàng)式求導(dǎo)多項(xiàng)式求值
pA=polyval(p,A)
按數(shù)組運(yùn)算規(guī)則求多項(xiàng)式p在自變量為A時(shí)的值。
MA=ployvalm(p,A)
按矩陣運(yùn)算規(guī)則求多項(xiàng)式p在自變量為方陣A時(shí)的值。當(dāng)自變量A為矩陣時(shí),多項(xiàng)式中的常數(shù)項(xiàng)a0被當(dāng)作a0*eye(n)處理。多項(xiàng)式求根:r=roots(p)
r為多項(xiàng)式p的根組成的列向量。部分分式分解:[r,p,k]=residue(num,den)
有理分式(num/den)部分分式分解后,r為留數(shù),p為極點(diǎn),k為直項(xiàng)。矩陣的特征多項(xiàng)式:
p=poly(A)
多項(xiàng)式p為矩陣A的特征多項(xiàng)式。例2.7.1邏輯值Matlab定義了邏輯值,包括“邏輯真”和“邏輯假”。在關(guān)系表達(dá)式和邏輯表達(dá)式中的輸入中,任何非0數(shù)為“邏輯真”,只有0為“邏輯假”。關(guān)系表達(dá)式和邏輯表達(dá)式的計(jì)算結(jié)果是一個(gè)由0和1構(gòu)成的“邏輯數(shù)組”(LogicalArray’),邏輯數(shù)組中“1”表示真,“0”表示假。2.8關(guān)系運(yùn)算、邏輯運(yùn)算和運(yùn)算符邏輯數(shù)組屬于“數(shù)值數(shù)組”的子類,它可以作為數(shù)值數(shù)組參與數(shù)值計(jì)算,也可以用于數(shù)組尋訪等特殊場合。比如:用邏輯矩陣作為數(shù)組下標(biāo),可以提取數(shù)組中邏輯矩陣真值位置處的元素。關(guān)系運(yùn)算符和邏輯運(yùn)算符遵循數(shù)組運(yùn)算規(guī)則。關(guān)系運(yùn)算符
< 小于 <= 小于等于
> 大于 >= 大于等于
== 等于 ~= 不等于(教材有錯(cuò))邏輯運(yùn)算符
數(shù)組邏輯操作、位邏輯操作和先決邏輯操作。數(shù)組邏輯操作:
&邏輯與
|邏輯或
~邏輯非
xor邏輯異或。位邏輯操作函數(shù)(操作數(shù)必須是非負(fù)整型標(biāo)量或者數(shù)組):
bitand位與
bitor位或
bitcmp位非
bitnor位異或先決邏輯運(yùn)算符(要求操作數(shù)為標(biāo)量):
&& 先決與。如果第一個(gè)操作數(shù)為假,則不判斷其他操作數(shù),直接給出結(jié)論“假”。
|| 先決或。如果第一個(gè)操作數(shù)為真,則不判斷其他操作數(shù),直接給出結(jié)論“真”。例2.8.1邏輯函數(shù)邏輯函數(shù)的運(yùn)行結(jié)果是邏輯矩陣。any(v):
向量v中有非0元素,結(jié)果為1,否則為0;對(duì)矩陣的運(yùn)算結(jié)果是行向量。all(v):
向量v中都是非0元素,結(jié)果為1。對(duì)矩陣的運(yùn)算結(jié)果是行向量。isequal(A,B):
判斷是否相等。ismember(A,B):
A的元素是B中元素,則A相應(yīng)位置為1,否則為0。判斷特殊數(shù)據(jù)的邏輯函數(shù)
isemptyisfiniteisinfisletterisnanisprimeisrealisspace。判斷數(shù)據(jù)類型的邏輯函數(shù)
iscellischari
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(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ǔ)空間,僅對(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- NB/T 11539-2024礦用物位傳感器通用技術(shù)要求
- 中醫(yī)醫(yī)學(xué)經(jīng)絡(luò)腧穴學(xué)課件-奇穴
- 《學(xué)前社會(huì)教育》課件
- 2025屆海南省部分學(xué)校高三上學(xué)期全真模擬(二)歷史試卷(解析版)
- 2024-2025學(xué)年浙江省臺(tái)州市十校聯(lián)考高一上學(xué)期期中考試歷史試題(解析版)
- 《物流倉儲(chǔ)管理》課件
- 單位管理制度集合大全員工管理篇
- 《物流管理運(yùn)輸管理》課件
- 單位管理制度匯編大全員工管理
- 單位管理制度合并匯編【職工管理】
- 海南省瓊海市五年級(jí)數(shù)學(xué)期末自測(cè)模擬試題詳細(xì)答案和解析
- 垃圾清運(yùn)服務(wù)投標(biāo)方案技術(shù)方案
- 電子工程師職位合同
- 2025屆青海省西寧二十一中學(xué)七年級(jí)數(shù)學(xué)第一學(xué)期期末考試試題含解析
- 湖北省宜昌市2025屆九年級(jí)物理第一學(xué)期期末達(dá)標(biāo)測(cè)試試題含解析
- DL-T5394-2021電力工程地下金屬構(gòu)筑物防腐技術(shù)導(dǎo)則
- 兒科護(hù)理技術(shù)操作規(guī)范
- 2024年江蘇宿遷經(jīng)濟(jì)技術(shù)開發(fā)區(qū)城市管理輔助人員招聘筆試參考題庫附帶答案詳解
- 馬拉松賽事運(yùn)營服務(wù)方案
- 陽光少年體驗(yàn)營輔導(dǎo)員工作總結(jié)
- 國家能源集團(tuán)考試試題
評(píng)論
0/150
提交評(píng)論