第3章數(shù)組和數(shù)組運(yùn)算_第1頁(yè)
第3章數(shù)組和數(shù)組運(yùn)算_第2頁(yè)
第3章數(shù)組和數(shù)組運(yùn)算_第3頁(yè)
第3章數(shù)組和數(shù)組運(yùn)算_第4頁(yè)
第3章數(shù)組和數(shù)組運(yùn)算_第5頁(yè)
已閱讀5頁(yè),還剩22頁(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)介

第3章數(shù)組和數(shù)組運(yùn)算MATLABR2007基礎(chǔ)教程

清華大學(xué)出版社教學(xué)目標(biāo)教學(xué)重點(diǎn)教學(xué)內(nèi)容2/6/20231教學(xué)目標(biāo)掌握數(shù)組的創(chuàng)建方法掌握數(shù)組的查找、尋址及排序掌握數(shù)組的運(yùn)算數(shù)組的裁剪與擴(kuò)展了解多維數(shù)組及其操作2/6/20232教學(xué)重點(diǎn)數(shù)組的創(chuàng)建方法數(shù)組的查找數(shù)組尋址數(shù)組排序數(shù)組運(yùn)算數(shù)組的擴(kuò)展與裁剪多維數(shù)組及其操作2/6/20233教學(xué)內(nèi)容數(shù)組的創(chuàng)建方法數(shù)組的查找數(shù)組尋址數(shù)組排序數(shù)組運(yùn)算數(shù)組的擴(kuò)展與裁剪多維數(shù)組及其操作2/6/20234數(shù)組的創(chuàng)建方法(1/3)一維數(shù)組的創(chuàng)建要想在MATLAB中創(chuàng)建一個(gè)一維數(shù)組,用戶只需先輸入一個(gè)左方括號(hào),然后輸入每個(gè)數(shù)值并用逗號(hào)(或者空格)隔開(kāi),最后用一個(gè)右方括號(hào)結(jié)束。常用等差、等比數(shù)組的創(chuàng)建方法。2/6/20235數(shù)組的創(chuàng)建方法(2/3)二維數(shù)組的創(chuàng)建創(chuàng)建二維數(shù)組與創(chuàng)建一維數(shù)組的方式類(lèi)似。在創(chuàng)建二維數(shù)組時(shí),用逗號(hào)或者空格區(qū)分同一行的不同元素,用分號(hào)或者軟回車(chē)(Shift+Enter)區(qū)分不同行。2/6/20236數(shù)組的創(chuàng)建方法(3/3)用其他方式生成數(shù)組等差數(shù)組的生成在MATLAB中,可以利用冒號(hào)生成等差數(shù)組。格式為:數(shù)組名=[開(kāi)始數(shù)字:公差:結(jié)束數(shù)字],公差默認(rèn)為1。用數(shù)組生成函數(shù)生成數(shù)組eye:生成單位矩陣linspace:生成線性分布的向量rand:生成隨機(jī)數(shù)組,數(shù)組元素值均勻分布2/6/20237數(shù)組的查找數(shù)組的查找函數(shù)是find,它能夠查找數(shù)組中的非零數(shù)組元素,并返回其數(shù)組索引值。find函數(shù)在MATLAB中的使用語(yǔ)法形式:(1)a=find(A)返回?cái)?shù)組A中非零元素的單下標(biāo)索引(2)[a,b]=find(A)返回?cái)?shù)組A中非零元素的雙下標(biāo)索引放方式。2/6/20238數(shù)組尋址在MATLAB中,數(shù)組尋址是通過(guò)對(duì)數(shù)組下標(biāo)的訪問(wèn)來(lái)實(shí)現(xiàn)的。

a=[1,0.2,3,0.5,0.9,7.6,5]a(3),a(5)如果需要訪問(wèn)數(shù)組種的多個(gè)數(shù)據(jù),可以通過(guò)下標(biāo)數(shù)組進(jìn)行a([135])a(1:2:7)a(2:2:end)2/6/20239數(shù)組排序----sort()在很多時(shí)候我們需要對(duì)一個(gè)給定的數(shù)據(jù)向量進(jìn)行排序。為完成這一操作,MATLAB提供了sort函數(shù),該函數(shù)將任意給定的序列進(jìn)行排序。sort函數(shù)的調(diào)用格式有:B=sort(A)B=sort(A,dim)B=sort(...,mode)[B,IX]=sort(...)其中的B為保存結(jié)果的數(shù)組;A為待排序的數(shù)組,當(dāng)A為多維數(shù)組時(shí),用dim指定需要排序的維數(shù)(默認(rèn)為1);mode為排序的方式,可以取值“ascend”和“descend”,分別表示升序和降序,默認(rèn)為升序;IX用于存儲(chǔ)排序后的下標(biāo)數(shù)組。2/6/2023103.3數(shù)組運(yùn)算內(nèi)容:數(shù)組的數(shù)值運(yùn)算數(shù)組的加減法數(shù)組的乘除法數(shù)組的乘方數(shù)組的關(guān)系運(yùn)算數(shù)組2/6/202311數(shù)組的加減法數(shù)組加減法為數(shù)組元素的加減法,與矩陣加減法相同。利用運(yùn)算符“+”和“-”實(shí)現(xiàn)該運(yùn)算。需要注意的是相加或相減的兩個(gè)數(shù)組必須有相同的維數(shù),或者是數(shù)組與數(shù)值相加減。2/6/202312數(shù)組的乘除法數(shù)組乘除為元素的乘除,通過(guò)運(yùn)算符“.*”和“./”來(lái)實(shí)現(xiàn)。運(yùn)算時(shí)需要兩個(gè)數(shù)組有相同的維數(shù),或者數(shù)組與數(shù)值相乘除。注意:在進(jìn)行除法操作時(shí),作為分母的數(shù)組中不能包含0元素。2/6/202313數(shù)組的乘方數(shù)組乘方用符號(hào)“.^”實(shí)現(xiàn)。數(shù)組乘方運(yùn)算以三種方式進(jìn)行。底為數(shù)組,指數(shù)為標(biāo)量的形式。這種形式的結(jié)果是將數(shù)組的每個(gè)元素進(jìn)行指數(shù)相同的乘方。返回的結(jié)果為與底維數(shù)相同的數(shù)組,結(jié)果數(shù)組的每個(gè)元素為底中相應(yīng)元素的乘方。A=[1:3;2:4;3:5],A.^22/6/202314數(shù)組的乘方數(shù)組乘方用符號(hào)“.^”實(shí)現(xiàn)。數(shù)組乘方運(yùn)算以三種方式進(jìn)行。底為標(biāo)量,指數(shù)為數(shù)組的形式。該形式返回的結(jié)果為數(shù)組,維數(shù)與指數(shù)數(shù)組相同。結(jié)果數(shù)組的每個(gè)元素為底以指數(shù)數(shù)組相應(yīng)元素為指數(shù)做乘方的結(jié)果。A=[1:3;2:4;3:5],2.^A2/6/202315數(shù)組的乘方數(shù)組乘方用符號(hào)“.^”實(shí)現(xiàn)。數(shù)組乘方運(yùn)算以三種方式進(jìn)行。底和指數(shù)都是數(shù)組的形式。此時(shí)兩個(gè)數(shù)組需要有相同的維數(shù)。返回結(jié)果為一個(gè)數(shù)組,維數(shù)與前面兩個(gè)數(shù)組相同,每個(gè)元素為底數(shù)數(shù)組和指數(shù)數(shù)組做乘方的結(jié)果。

A=[123;456],B=[321;123],A.^B2/6/202316數(shù)組的關(guān)系運(yùn)算兩個(gè)數(shù)之間的關(guān)系通常有6種描述:小于(<)、大于(>)、等于(==)、小于等于(<=)、大于等于(>=)和不等于(~=)。MATLAB在比較兩個(gè)元素大小時(shí),如果表達(dá)式為真,則返回結(jié)果1,否則返回0。在MATLAB中,可以通過(guò)關(guān)系運(yùn)算符實(shí)現(xiàn)數(shù)組的關(guān)系運(yùn)算。返回結(jié)果為一個(gè)數(shù)組,結(jié)果數(shù)組的元素為0或者1,由相互比較的兩個(gè)數(shù)組的相應(yīng)元素的比較結(jié)果決定。2/6/2023173.4數(shù)組的擴(kuò)展與裁剪數(shù)組編輯器擴(kuò)展數(shù)組索引擴(kuò)展數(shù)組Cat函數(shù)擴(kuò)展數(shù)組冒號(hào)操作符裁剪數(shù)組數(shù)組元素的刪除2/6/202318數(shù)組編輯器擴(kuò)展數(shù)組雙擊MATLAB界面工作區(qū)中的任一數(shù)組變量,都能打開(kāi)數(shù)組編輯器,對(duì)該數(shù)組進(jìn)行編輯操作2/6/202319索引擴(kuò)展數(shù)組索引擴(kuò)展是數(shù)組擴(kuò)展中較為常用的一種方法。比如目前有一個(gè)n行m列的數(shù)組A,要通過(guò)索引來(lái)擴(kuò)展該數(shù)組,那么可以使用超出目前數(shù)組尺寸的索引數(shù)字,來(lái)制定數(shù)組A當(dāng)前尺寸之外的一個(gè)位置,并對(duì)該位置的數(shù)組元素進(jìn)行賦值來(lái)完成對(duì)數(shù)組的擴(kuò)展。同時(shí)未指定的新添位置上默認(rèn)賦值為0。A=rand(4),A(5,6)=23;2/6/202320cat函數(shù)擴(kuò)展數(shù)組cat系列函數(shù)包括:cat,horzcat和vertcat。不管哪個(gè)連接函數(shù),都必須保證被操作的數(shù)組可以被連接,即在某一個(gè)方向上尺寸一致。

cat函數(shù)語(yǔ)法:Z=cat(dim,A,B,C,…)horzcat函數(shù)語(yǔ)法:Z=horzcat(A,B,C…)相當(dāng)于Z=cat(2,A,B,C,…)或z=[ABC...]vertcat函數(shù)語(yǔ)法:Z=vertcat(A,B,C…)相當(dāng)于Z=cat(1,A,B,C,…)或z=[A;

B;C;...]2/6/202321冒號(hào)操作符裁剪數(shù)組冒號(hào)裁剪符的使用方法是:

Z=A([,,…],[,,…])該式子表示的是提取數(shù)組A的,…等行,,…等列,組成一個(gè)新的數(shù)組。此外,在數(shù)字索引訪問(wèn)數(shù)組的時(shí)候,當(dāng)某一索引值的位置上不是數(shù)字,而是冒號(hào)的話,則表示取這一個(gè)索引位置的所有數(shù)組元素。比如對(duì)一個(gè)3行3列的數(shù)組A,A(1,:)表示取數(shù)組A的第一行所有元素。也可以通過(guò)數(shù)組編輯器來(lái)裁剪數(shù)組2/6/202322數(shù)組元素的刪除刪除數(shù)組元素,可以通過(guò)將該位置的數(shù)組元素賦值為空方括號(hào)([])即可,一般配合冒號(hào)使用,將數(shù)組中的某些行、列元素刪除。不過(guò)需要注意的是,在進(jìn)行數(shù)組元素的刪除時(shí),索引結(jié)果必須是完整的行或列,而不能是數(shù)組內(nèi)部的塊或者單元格。2/6/202323多維數(shù)組從MATLAB5開(kāi)始,MATLAB開(kāi)始支持多維數(shù)組。MATLAB對(duì)多維數(shù)組的操作與一維和二維數(shù)組相同。目前,對(duì)于多維數(shù)組,最常用的為三維數(shù)組。三維數(shù)組在圖像處理中有著非常廣泛的應(yīng)用。三維數(shù)組的第三維稱(chēng)為“頁(yè)”,即一個(gè)三維數(shù)組由行、列和頁(yè)組成,其中每一頁(yè)包含一個(gè)由行和列構(gòu)成的二維數(shù)組,并且每一頁(yè)的二維數(shù)組必須有相同的維數(shù)。2/6/202324多維數(shù)組的創(chuàng)建多維數(shù)組無(wú)法像一維數(shù)組和二維數(shù)組那樣一次輸入全部值。因此需要借助一些函數(shù)來(lái)生成多維數(shù)組。利用標(biāo)準(zhǔn)數(shù)組函數(shù)生成多維數(shù)組。利用直接索引方式生成數(shù)組

A(:,:,1)=rand(3,4);A(:,:,2)=rand(3,4);A通過(guò)cat函數(shù)創(chuàng)建多維數(shù)組cat函數(shù)用于連接數(shù)組。2/6/202325多維數(shù)組運(yùn)算多維數(shù)組的基本運(yùn)算與一維數(shù)組和二維數(shù)組相同,另外有一些操作僅可以用于多維數(shù)組,多維數(shù)組中的一些常用函數(shù)如表所示。函數(shù)描述ones(r,c,…)oeros(r,c,…)rand(r,c,…)randn(r,c,…)創(chuàng)建多維數(shù)組的基本函數(shù),分別用于創(chuàng)建全1、全0、隨機(jī)均勻分布數(shù)組和隨機(jī)正態(tài)分布數(shù)組reshape(B,2,3,3)reshape(B,[2,3,3])將一個(gè)數(shù)組變形為一個(gè)任意維數(shù)的數(shù)組repmat(C,[1,1,3]將一個(gè)數(shù)組復(fù)制成一個(gè)任意維數(shù)的數(shù)組cat(3,a,b,c)沿著一個(gè)指定的維將數(shù)組連接起來(lái)squeeze(D)刪除大小等于1的維,也就是單一維sub2ind(size(F),1,1,1)[r,c,p]=ind2sub(size(F),19)將下標(biāo)轉(zhuǎn)化為單一索引值,或?qū)我凰饕缔D(zhuǎn)化為下標(biāo)flipdim(M,1)沿著一個(gè)指定的維輪換順序。等效于二維數(shù)組中的

flipud

fliplrshiftdim(M,2)循環(huán)輪換。第二個(gè)參數(shù)為正的話,進(jìn)行各維的循環(huán)輪換;第二個(gè)參數(shù)為負(fù)的情況下,將使數(shù)組的維數(shù)增加permute(M,,[2,1,3])ipermute(M,,[2,1,3])多維數(shù)組的轉(zhuǎn)置和取消轉(zhuǎn)置操

溫馨提示

  • 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)論