計(jì)算機(jī)軟件及應(yīng)用matlab_第1頁(yè)
計(jì)算機(jī)軟件及應(yīng)用matlab_第2頁(yè)
計(jì)算機(jī)軟件及應(yīng)用matlab_第3頁(yè)
計(jì)算機(jī)軟件及應(yīng)用matlab_第4頁(yè)
計(jì)算機(jī)軟件及應(yīng)用matlab_第5頁(yè)
已閱讀5頁(yè),還剩40頁(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)介

Matlab語(yǔ)言及其應(yīng)用第3講

2024/8/22MatlabLanguage2

2.2.2、創(chuàng)建一維數(shù)組變量第一種方法:使用方括號(hào)“[]”操作符【例2-1】創(chuàng)建數(shù)組(行向量)a=[13pi3+5i]>>a=[13pi3+5*i]%ora=[1,3,pi,3+5*i]

a=1.00003.00003.14163.0000+5.0000i所有的向量元素必須在操作符“[]”之內(nèi);向量元素間用空格或英文的逗點(diǎn)“,”分開(kāi)。第二種方法:使用冒號(hào)“:”操作符【例2-2】創(chuàng)建以1~10順序排列整數(shù)為元素的行向量b。>>b=1:10b=12345678910

2024/8/22MatlabLanguage3

2.2.2、創(chuàng)建一維數(shù)組變量(續(xù))【例2-3】鍵入并執(zhí)行c=1:2:10和d=1:2:9>>c=1:2:10c=13579>>d=1:2:9d=13579利用冒號(hào)“:”操作符創(chuàng)建行向量的基本語(yǔ)法格式:x=Start:Increment:EndStart表示新向量x的第一個(gè)元素;新向量x的最后一個(gè)元素不能大于End;Increment可正可負(fù),若負(fù),則必須Start>End;若正,則必須Start<End,否則創(chuàng)建的為空向量。若Increment=1,則可簡(jiǎn)寫為:x=Start:End。

2024/8/22MatlabLanguage4

2.2.2、創(chuàng)建一維數(shù)組變量(續(xù))第三種方法:利用函數(shù)linspace函數(shù)linspace的基本語(yǔ)法x=linspace(x1,x2,n)該函數(shù)生成一個(gè)由n個(gè)元素組成的行向量;x1為其第一個(gè)元素;x2為其最后一個(gè)元素;x1、x2之間元素的間隔=(x2-x1)/(n-1)。如果忽略參數(shù)n,則系統(tǒng)默認(rèn)生成100個(gè)元素的行向量。【例2-4】鍵入并執(zhí)行x=linspace(1,2,5)x=1.00001.25001.50001.75002.0000同學(xué)們可以在實(shí)驗(yàn)時(shí)察看x=linspace(1,2)執(zhí)行結(jié)果。

2024/8/22MatlabLanguage5

2.2.2、創(chuàng)建一維數(shù)組變量(續(xù))列向量的創(chuàng)建使用方括號(hào)“[]”操作符,使用分號(hào)“;”分割行?!纠?-5】鍵入并執(zhí)行x=[1;2;3]X=123使用冒號(hào)操作符【例2-6】鍵入并執(zhí)行x=(1:3)’%“’”表示矩陣的轉(zhuǎn)置

2024/8/22MatlabLanguage6

2.2.2、創(chuàng)建一維數(shù)組變量

(續(xù))創(chuàng)建數(shù)組變量的一般方法創(chuàng)建變量的賦值語(yǔ)句的一般格式var=expressionvar為變量名expression為MATLAB合法表達(dá)式可以是單獨(dú)的常數(shù)值或數(shù)值數(shù)組;也可以由常數(shù)值、其他變量(部分或全部)、數(shù)值數(shù)組和運(yùn)算符(+、-等)構(gòu)成?!纠?-7】鍵入并執(zhí)行a=[01+6];b=[a67];c=[6a7];d=[6a7a];

2024/8/22MatlabLanguage7

2.2.2、創(chuàng)建一維數(shù)組變量

(續(xù))一旦被創(chuàng)建,變量就被存儲(chǔ)在工作空間,可以通過(guò)“Workspace”窗口或在“CommandWindow”執(zhí)行“whos”命令察看。操作一:使用“Workspace”窗口察看變量操作二:使用“whos”命令察看變量

2024/8/22MatlabLanguage8

2.2.3、創(chuàng)建二維數(shù)組變量第一種方法:使用方括號(hào)“[]”操作符使用規(guī)則數(shù)組元素必須在“[]”內(nèi)鍵入;行與行之間須用分號(hào)“;”間隔,也可以在分行處用回車鍵間隔;行內(nèi)元素用空格或逗號(hào)“,”間隔。【例3-1】鍵入并執(zhí)行a2=[123;456;789]a2=123456789【例3-2】鍵入并執(zhí)行a2=[1:3;4:6;7:9]%結(jié)果同上

2024/8/22MatlabLanguage9

2.2.3、創(chuàng)建二維數(shù)組變量(續(xù))【例3-3】由向量構(gòu)成二維數(shù)組。>>a=[123];b=[234];>>c=[a;b];>>c1=[ab];第二種方法:函數(shù)方法函數(shù)ones(生成全1矩陣)、zeros(生成全0矩陣)、reshape“helpelmat”獲得基本的矩陣生成和操作函數(shù)列表【例3-4】創(chuàng)建全1的3x3數(shù)組。>>ones(3)【例3-5】創(chuàng)建全1的3x4數(shù)組。>>ones(3,4)

2024/8/22MatlabLanguage10

2.2.3、創(chuàng)建二維數(shù)組變量(續(xù))【例3-5】reshape的使用演示>>a=-4:4a=-4-3-2-101234>>b=reshape(a,3,3)b=-4-12-303-214數(shù)組元素的排列順序,從上到下按列排列,先排第一列,然后第二列,…要求數(shù)組的元素總數(shù)不變。

2024/8/22MatlabLanguage11

4、數(shù)組元素的標(biāo)識(shí)與尋訪數(shù)組元素的標(biāo)識(shí)“全下標(biāo)(index)”標(biāo)識(shí)經(jīng)典數(shù)學(xué)教科書采用“全下標(biāo)”標(biāo)識(shí)法:每一維對(duì)應(yīng)一個(gè)下標(biāo)。如對(duì)于二維數(shù)組,用“行下標(biāo)和列下標(biāo)”標(biāo)識(shí)數(shù)組的元素,a(2,3)就表示二維數(shù)組a的“第2行第3列”的元素。對(duì)于一維數(shù)組,用一個(gè)下標(biāo)即可,b(2)表示一維數(shù)組b的第2個(gè)元素,無(wú)論b是行向量還是列向量?!皢蜗聵?biāo)”(linearindex)標(biāo)識(shí)所謂“單下標(biāo)”標(biāo)識(shí)就是用一個(gè)下標(biāo)來(lái)表明元素在數(shù)組的位置。對(duì)于二維數(shù)組,“單下標(biāo)”編號(hào):設(shè)想把二維數(shù)組的所有列,按先后順序首尾相接排成“一維長(zhǎng)列”,然后自上往下對(duì)元素位置執(zhí)行編號(hào)。兩種“下標(biāo)”標(biāo)識(shí)的變換:sub2ind、ind2sub

2024/8/22MatlabLanguage12

4、數(shù)組元素的標(biāo)識(shí)與尋訪(續(xù))【例4-1】單下標(biāo)的使用>>a=zeros(2,5);>>a(:)=-4:5a=-4-2024-3-1135注意數(shù)組的排列順序。

2024/8/22MatlabLanguage13

4、數(shù)組元素的標(biāo)識(shí)與尋訪(續(xù))元素與子數(shù)組的尋訪與賦值【例4-3】一維數(shù)組元素與子數(shù)組的尋訪與賦值>>a=linspace(1,10,5)a=1.00003.25005.50007.750010.0000>>a(3)%尋訪a的第3個(gè)元素ans=5.5000>>a([125])%尋訪a的第1、2、5個(gè)元素組成的子數(shù)組ans=1.00003.250010.0000

2024/8/22MatlabLanguage14

4、數(shù)組元素的標(biāo)識(shí)與尋訪(續(xù))>>a(1:3)%尋訪前3個(gè)元素組成的子數(shù)組ans=1.00003.25005.5000>>a(3:-1:1)%由前3個(gè)元素倒序構(gòu)成的子數(shù)組ans=5.50003.25001.0000>>a(3:end)ans=5.50007.750010.0000>>a(3:end-1)ans=5.50007.7500%第3個(gè)及其后所有元素構(gòu)成的子數(shù)組函數(shù)end作為參數(shù)使用,返回最后一個(gè)元素的下標(biāo)

2024/8/22MatlabLanguage15

>>a([12355321])ans=1.00003.25005.500010.000010.00005.50003.25001.0000數(shù)組元素可以被任意重復(fù)訪問(wèn),構(gòu)成長(zhǎng)度大于原數(shù)組的新數(shù)組。>>a(6)???Indexexceedsmatrixdimensions.下標(biāo)值超出了數(shù)組的維數(shù),導(dǎo)致錯(cuò)誤>>a(2.1)???Subscriptindicesmusteitherberealpositiveintegersorlogicals.下標(biāo)值只能取正整數(shù)或邏輯值4、數(shù)組元素的標(biāo)識(shí)與尋訪(續(xù))

2024/8/22MatlabLanguage16

4、數(shù)組元素的標(biāo)識(shí)與尋訪(續(xù))>>a(3)=0%修改數(shù)組a的第3元素值為0a=1.00003.250007.750010.0000>>a([25])=[11]a=1.00001.000007.75001.0000可以修改指定數(shù)組元素的值一次可以修改多個(gè)數(shù)組元素的值要修改的數(shù)組元素的個(gè)數(shù)應(yīng)與送入數(shù)組的元素個(gè)數(shù)相同

2024/8/22MatlabLanguage17

4、數(shù)組元素的標(biāo)識(shí)與尋訪(續(xù))【例4-3】二維數(shù)組元素與子數(shù)組的尋訪與賦值>>a_2=zeros(2,4)%創(chuàng)建2x4的全0數(shù)組a_2=00000000>>a_2(:)=1:8a_2=13572468>>a_2([258])%單下標(biāo)方式尋訪多個(gè)元素ans=258注意元素的排列順序

2024/8/22MatlabLanguage18

4、數(shù)組元素的標(biāo)識(shí)與尋訪(續(xù))>>a_2([258])=[102030]a_2gt;>a_2(:,[23])=ones(2)%雙下標(biāo)方式尋訪并修改a_2=1117101130二維數(shù)組可以“單下標(biāo)”方式或“全下標(biāo)”方式訪問(wèn)、賦值;“單下標(biāo)”方式賦值時(shí),等號(hào)兩邊涉及的元素個(gè)數(shù)必須相等;“全下標(biāo)”方式賦值時(shí),等號(hào)右邊數(shù)組的大小必須等于原數(shù)組中涉及元素構(gòu)成的子數(shù)組的大小。

2024/8/22MatlabLanguage19

4、數(shù)組元素的標(biāo)識(shí)與尋訪(續(xù))>>a_2(:,end)ans=730>>a_2(:,end-1)ans=11>>a_2(:,end:-1:3)ans=71301>>a_2(end,:)ans=101130>>a_2(end,[2:4])ans=1130>>a_2([46])=6:7a_2=1117106730>>a_2(end,[2:end-1])

Whatistheresult?

2024/8/22MatlabLanguage20

4、數(shù)組元素的標(biāo)識(shí)與尋訪(續(xù))【例4-4】

size、length函數(shù)>>a=ones(4,6)*6>>m=size(a)>>len=length(a)>>b=1:5;>>length(b)>>c=b’>>length(c)

size函數(shù)返回變量的大小,即變量數(shù)組的行列數(shù)

length函數(shù)返回變量數(shù)組的最大維數(shù)

2024/8/22MatlabLanguage21

4、數(shù)組元素的標(biāo)識(shí)與尋訪(續(xù))雙下標(biāo)到單下標(biāo)的轉(zhuǎn)換【例4-5】

sub2ind函數(shù)-雙下標(biāo)轉(zhuǎn)換為單下標(biāo)>>A=[172418;222714;461320];>>sub2ind(size(A),2,2)>>A(5)

2024/8/22MatlabLanguage22

4、數(shù)組元素的標(biāo)識(shí)與尋訪(續(xù))單下標(biāo)到雙下標(biāo)的轉(zhuǎn)換【例4-6】

ind2sub函數(shù)-單下標(biāo)轉(zhuǎn)換為雙下標(biāo)>>b=zeros(3);>>b(:)=1:9>>IND=[3456]>>[I,J]=ind2sub(size(b),IND)

2024/8/22MatlabLanguage23

5、多維數(shù)組多維數(shù)組的定義

在MATLAB的數(shù)據(jù)類型中,向量可視為一維數(shù)組,矩陣可視為二維數(shù)組,對(duì)于維數(shù)(Dimensions)超過(guò)2

的數(shù)組均可視為「多維數(shù)組」(Multidimesional

Arrays,簡(jiǎn)稱N-DArrays)。

2024/8/22MatlabLanguage24

5、多維數(shù)組(續(xù))將兩個(gè)二維(平面)數(shù)組疊在一起,就構(gòu)成三維數(shù)組,第三維稱為「頁(yè)」(Page),如下圖所示:

(3,4)

(3,1)

(3,2)

(3,3)(2,4)(2,3)(2,2)(2,1)(1,4)(1,3)(1,2)(1,1)(1,1)(1,2)(1,3)(1,4)(2,1)(2,2)(2,3)(2,4)(3,1)(3,2)(3,3)(3,4)頁(yè)列頁(yè)行

2024/8/22MatlabLanguage25

5、多維數(shù)組(續(xù))三維數(shù)組,可對(duì)應(yīng)至一個(gè)

X-Y-Z三維立體坐標(biāo),如下圖所示:

Z(頁(yè))Y(列)X(行)

2024/8/22MatlabLanguage26

5、多維數(shù)組(續(xù))三維數(shù)組元素的尋址:可以(行、列、頁(yè))來(lái)確定。以維數(shù)為

3×4×2的三維數(shù)組為例,其尋址方式如下圖所示:數(shù)組

A是三維數(shù)組,其中A(:,:,1)代表第一頁(yè)的二維數(shù)組,A(:,:,2)代表第二頁(yè)的二維數(shù)組。

2024/8/22MatlabLanguage27

5、多維數(shù)組(續(xù))多維數(shù)組的建立建立一個(gè)簡(jiǎn)單的多維數(shù)組,可直接由MATLAB命令視窗內(nèi)輸入(使用“[]”操作符)例:由兩個(gè)相同大小二維數(shù)組創(chuàng)建三維數(shù)組A(:,:,1)=[1025;4187;3263];A(:,:,2)=[3541;2621;4230]

A(:,:,1)=102541873263A(:,:,2)=354126214230

2024/8/22MatlabLanguage28

5、多維數(shù)組(續(xù))執(zhí)行命令:whosA,得到如下結(jié)果:

NameSizeBytes

Class

A3x4x2

192

doublearrayGrandtotalis24elementsusing192bytes

2024/8/22MatlabLanguage29

6、數(shù)組的算術(shù)運(yùn)算MATLAB數(shù)組支持線性代數(shù)中所有的矩陣運(yùn)算。建立特有的數(shù)組運(yùn)算符,如:“.*”、“./”等。

MATLAB數(shù)組運(yùn)算符列表運(yùn)算 運(yùn)算符 含義說(shuō)明

加 +相應(yīng)元素相加減 - 相應(yīng)元素相減乘 * 矩陣乘法點(diǎn)乘 .* 相應(yīng)元素相乘冪 ^ 矩陣冪運(yùn)算點(diǎn)冪 .^ 相應(yīng)元素進(jìn)行冪運(yùn)算左除或右除 \或/ 矩陣左除或右除左點(diǎn)除或右點(diǎn)除.\或./ A的元素被B的對(duì)應(yīng)元素除

2024/8/22MatlabLanguage30

6、算術(shù)運(yùn)算(續(xù))

【例5-1】數(shù)組加減法>>a=zeros(2,3);>>a(:)=1:6;>>b=a+2.5b=3.50005.50007.50004.50006.50008.5000>>c=b-ac=2.50002.50002.50002.50002.50002.5000

2024/8/22MatlabLanguage31

6、算術(shù)運(yùn)算(續(xù))【例5-2】畫出y=1/(x+1)的函數(shù)曲線,x∈[0,100]。x=0:100;y=1./(x+1);plot(x,y);legend(‘y=1/(x+1)’);

2024/8/22MatlabLanguage32

6、算術(shù)運(yùn)算(續(xù))【例5-2】生成一個(gè)信號(hào):x=sin(2*pi*t)+sin(4*pi*t)t=[0:199]./100;%采樣時(shí)間點(diǎn)%生成信號(hào)x=sin(2*pi*t)+sin(4*pi*t);plot(t,x);legend(‘x=sin(2*pi*t)+sin(4*pi*t)’);

2024/8/22MatlabLanguage33

6、算術(shù)運(yùn)算(續(xù))

2024/8/22MatlabLanguage34

6、算術(shù)運(yùn)算(續(xù))【例5-2】點(diǎn)冪“.^”舉例>>a=1:6a=123456>>b=reshape(a,2,3)b=135246>>a=a.^2a=149162536>>b=b.^2b=192541636

2024/8/22MatlabLanguage35

7、關(guān)系運(yùn)算

Matlab提供了6種關(guān)系運(yùn)算符:<、>、<=、>=、==、~=(不等于)關(guān)系運(yùn)算符的運(yùn)算法則:1、當(dāng)兩個(gè)標(biāo)量進(jìn)行比較時(shí),直接比較兩數(shù)大小。若關(guān)系成立,結(jié)果為1,否則為0。2、當(dāng)兩個(gè)維數(shù)相等的矩陣進(jìn)行比較時(shí),其相應(yīng)位置的元素按標(biāo)量關(guān)系進(jìn)行比較,并給出結(jié)果,形成一個(gè)維數(shù)與原來(lái)相同的0、1矩陣。3、當(dāng)一個(gè)標(biāo)量與一個(gè)矩陣比較時(shí),該標(biāo)量與矩陣的各元素進(jìn)行比較,結(jié)果形成一個(gè)與矩陣維數(shù)相等的0、1矩陣。

2024/8/22MatlabLanguage36

7、關(guān)系運(yùn)算(續(xù))【例】建立5階方陣A,判斷其元素能否被3整除。A=[24,35,13,22,63;23,39,47,80,80;...90,41,80,29,10;45,57,85,62,21;37,19,31,88,76]A=2435132263233947808090418029105785622119318876P=rem(A,3)==0%被3除,求余P=1000101000100001100100000

2024/8/22MatlabLanguage37

8、邏輯運(yùn)算

Matlab提供了3種邏輯運(yùn)算符:&(與)、|(或)、~(非)邏輯運(yùn)算符的運(yùn)算法則:1、在邏輯運(yùn)算中,確認(rèn)非零元素為真(1),零元素為假(0)。

2、當(dāng)兩個(gè)維數(shù)相等的矩陣進(jìn)行比較時(shí),其相應(yīng)位置的元素按標(biāo)量關(guān)系進(jìn)行比較,并給出結(jié)果,形成一個(gè)維數(shù)與原來(lái)相同的0、1矩陣;3、當(dāng)一個(gè)標(biāo)量與一個(gè)矩陣比較時(shí),該標(biāo)量與矩陣的各元素進(jìn)行比較,結(jié)果形成一個(gè)與矩陣維數(shù)相等的0、1矩陣;4、算術(shù)運(yùn)算優(yōu)先級(jí)最高,邏輯運(yùn)算優(yōu)先級(jí)最低。

2024/8/22MatlabLanguage38

【例】在[0,3π]區(qū)間,求的值。要求消去負(fù)半波,即(π,2π)區(qū)間內(nèi)的函數(shù)值置零。x=0:pi/100:3*pi;y=sin(x);y1=(y>=0).*y;%消去負(fù)半波

2024/8/22MatlabLanguage39

【例】建立矩陣A,找出在[10,20]區(qū)間的元素的位置。

A=[4,15,-45,10,6;56,0,17,-45,0];find(A>=10&A<=20)%找到非零元素的位置A=415-4510656017-450ans=367

2024/8/22MatlabLanguage40

7.數(shù)據(jù)分析與統(tǒng)計(jì)最大值和最小值

MATLAB提供的求數(shù)據(jù)序列的最大值和最小值的函數(shù)分別為max和min,兩個(gè)函數(shù)的調(diào)用格式和操作過(guò)程類似。

1、求向量的最大值和最小值求一個(gè)向量X的最大值的函數(shù)有兩種調(diào)用格式,分別是:

(1)y=max(X):返回向量X的最大值存入y,如果X中包含復(fù)數(shù)元素,則按模取最大值;

(2)[y,I]=max(X):返回向量X的最大值存入y,最大值的序號(hào)存入I,如果X中包含復(fù)數(shù)元素,則按模取最大值。求向量X的最小值的函數(shù)是min(X),用法和max(X)完全相同。

2024/8/22MatlabLanguage41

【例7-1】求向量的最大值>>x=[-43,72,9,16,23,47];>>y=max(x)%求向量x中的最大值y=72>>[y,l]=max(x)%求向量x中的最大值及其該元素的位置y=72l=2

2024/8/22MatlabLanguage42

9.數(shù)據(jù)分析與統(tǒng)計(jì)2.求矩陣的最大值和最小值求矩陣A的最大值的函數(shù)有3種調(diào)用格式,分別是:(1)max(A):返回一個(gè)行向量,向量的第i個(gè)元素是矩陣A的第i列上的最大值;(2)[Y,U]=max(A):返回行向量Y和U,Y向量記錄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)論