第二講矩陣和數(shù)組的操作_第1頁(yè)
第二講矩陣和數(shù)組的操作_第2頁(yè)
第二講矩陣和數(shù)組的操作_第3頁(yè)
第二講矩陣和數(shù)組的操作_第4頁(yè)
第二講矩陣和數(shù)組的操作_第5頁(yè)
已閱讀5頁(yè),還剩51頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

第二講矩陣和數(shù)組的操作第1頁(yè),課件共56頁(yè),創(chuàng)作于2023年2月一矩陣的建立直接輸入法利用M文件建立矩陣?yán)镁仃嚲庉嬈鱉atrixEditor完成輸入和修改利用MATLAB函數(shù)建立矩陣建立大矩陣第2頁(yè),課件共56頁(yè),創(chuàng)作于2023年2月

將矩陣的元素用方括號(hào)括起來(lái),按矩陣行的順序輸入各元素,同一行的各元素之間用空格或逗號(hào)分隔,不同行的元素之間用分號(hào)分隔。>>A=[163213;510118;…96712;415141]A=16321351011896712415141第3頁(yè),課件共56頁(yè),創(chuàng)作于2023年2月

對(duì)于比較大且比較復(fù)雜的矩陣,可以為它專(zhuān)門(mén)建立一個(gè)M文件。

例:利用M文件建立A矩陣。

(1)啟動(dòng)有關(guān)編輯程序或MATLAB文本編輯器,并輸入待建矩陣.(2)把輸入的內(nèi)容存盤(pán)(設(shè)文件名為mymatrix.m)。(3)運(yùn)行該M文件,就會(huì)自動(dòng)建立一個(gè)名為A的矩陣,可供以后使用。第4頁(yè),課件共56頁(yè),創(chuàng)作于2023年2月A=[...16.03.02.013.05.010.011.08.09.06.07.012.04.015.014.01.0](2)存為:mymatrix.m(3)運(yùn)行:mymatrix(1)MATLAB程序編輯器中輸入:(一)利用MATLAB程序編輯器:

第5頁(yè),課件共56頁(yè),創(chuàng)作于2023年2月

編輯一個(gè)文本文件:16.03.02.013.05.010.011.08.09.06.07.012.04.015.014.01.0(2)裝入該文本文件:loadmymatrix.dat或者:loadmymatrix.txt(3)創(chuàng)建一個(gè)變量名為mymatrix的矩陣(二)利用其它文本編輯器:

(文本或二進(jìn)制格式)

將以文本或二進(jìn)制格式存儲(chǔ)的數(shù)據(jù)讀入

MATLAB的另一種方式是用ImportWizard.File→ImportData第6頁(yè),課件共56頁(yè),創(chuàng)作于2023年2月先在命令窗口輸入:>>A=1在Workspace窗口,雙擊該變量,打開(kāi)矩陣編輯器,進(jìn)行輸入和修改。

第7頁(yè),課件共56頁(yè),創(chuàng)作于2023年2月幾個(gè)產(chǎn)生特殊矩陣的函數(shù):zeros、ones、eye、rand、randn。這幾個(gè)函數(shù)的調(diào)用格式相似,下面以產(chǎn)生零矩陣的zeros函數(shù)為例進(jìn)行說(shuō)明。其調(diào)用格式是:

zeros(m)產(chǎn)生m×m零矩陣zeros(m,n)產(chǎn)生m×n零矩陣。zeros(size(A))

產(chǎn)生與矩陣A同樣大小的零矩陣相關(guān)的函數(shù)有:length(A)給出行數(shù)和列數(shù)中的較大者,即length(A)=max(size(A));ndims(A)給出A的維數(shù),size(A)多維矩陣各維長(zhǎng)度第8頁(yè),課件共56頁(yè),創(chuàng)作于2023年2月>>Z=zeros(2,4)Z=00000000>>R=randn(4,4)%均值為0方差為1的隨機(jī)矩陣R=1.06680.2944-0.6918-1.44100.0593-1.33620.85800.5711-0.09560.71431.2540-0.3999-0.83231.6236-1.59370.6900>>F=5*ones(3,3)F=555555555>>N=fix(10*rand(1,10))N=4944852680第9頁(yè),課件共56頁(yè),創(chuàng)作于2023年2月此外,常用的函數(shù)還有reshape(A,m,n),它在矩陣總元素保持不變的前提下,將矩陣A重新排成m×n的二維矩陣,其元素是以列的方式從A中獲得,A必須包含m×n個(gè)元素。第10頁(yè),課件共56頁(yè),創(chuàng)作于2023年2月>>A=16321351011896712415141>>reshape(A,2,8)ans=16936271312541015111481第11頁(yè),課件共56頁(yè),創(chuàng)作于2023年2月

大矩陣可由方括號(hào)中的小矩陣建立起來(lái)。例如:

>>A=[123;456;789];>>C=[A,eye(size(A));ones(size(A)),A]C=123100456010789001

111123

111456

111789第12頁(yè),課件共56頁(yè),創(chuàng)作于2023年2月6冒號(hào)表達(dá)式冒號(hào)表達(dá)式的一般格式:e1:e2:e3還可以用linspace函數(shù)產(chǎn)生一個(gè)線(xiàn)性間隔的行向量:linspace(a,b,n):a,b,n:初值,終值,點(diǎn)數(shù)linspace(a,b,n)與a:(b-a)/(n-1):b等價(jià)。linspace用于產(chǎn)生一個(gè)等差數(shù)列,括號(hào)里三項(xiàng)分別表示起始值、終止值和元素?cái)?shù)目;logspace用于產(chǎn)生一個(gè)對(duì)數(shù)間隔行向量(等比數(shù)列),b=logspace(0,4,5),表示產(chǎn)生一個(gè)起始值為100,終止值為104,元素?cái)?shù)目為5的等比數(shù)列.第13頁(yè),課件共56頁(yè),創(chuàng)作于2023年2月>>X=10:20>>X=0:0.1:0.5>>X=linspace(0,pi,11)或>>X=linspace(0,1,11)*piX=Columns1through700.31420.62830.94251.25661.57081.8850Columns8through112.19912.51332.82743.1416第14頁(yè),課件共56頁(yè),創(chuàng)作于2023年2月savemydataAXloadmydata系統(tǒng)自動(dòng)沿設(shè)定好的路徑以”.mat”格式存儲(chǔ)文件savefile='mydata.mat';save(savefile,'A','X')Load(savefile)如果想存儲(chǔ)在指定路徑:saveD:\homework\mydataAX或者:savefile='D:\homework\mydata.mat';第15頁(yè),課件共56頁(yè),創(chuàng)作于2023年2月MATLAB允許用戶(hù)對(duì)一個(gè)矩陣的單個(gè)元素進(jìn)行賦值和操作。例如

A(3,2)=200也可以采用矩陣元素的序號(hào)來(lái)引用矩陣元素。矩陣元素按列編號(hào),先第一列,再第二列,依次類(lèi)推。以m×n矩陣A為例,矩陣元素A(i,j)的序號(hào)為:(j-1)*m+i。其相互轉(zhuǎn)換關(guān)系也可利用sub2ind和ind2sub函數(shù)求得(分別為:把矩陣下標(biāo)變?yōu)樵匦蛱?hào)和把元素序號(hào)變?yōu)榫仃囅聵?biāo))。1.矩陣元素第16頁(yè),課件共56頁(yè),創(chuàng)作于2023年2月>>A=[172418;222714;461320]A=172418222714461320%>>ind=sub2ind(size(A),2,2)(ind=5)>>ind=sub2ind(size(A),2,3)(ind=8)>>[i,j]=ind2sub(size(A),5)i=2j=2第17頁(yè),課件共56頁(yè),創(chuàng)作于2023年2月①A(:,j)表示取A矩陣的第j列全部元素;A(i,:)表示A矩陣第i行的全部元素;A(i,j)表示取A矩陣第i行、第j列的元素。②A(yíng)(i:i+m,:)表示取A矩陣第i~i+m行的全部元素;A(:,k:k+m)表示取A矩陣第k~k+m列的全部元素,A(i:i+m,k:k+m)表示取A矩陣第i~i+m行內(nèi),并在第k~k+m列中的所有元素。

(1)利用冒號(hào)表達(dá)式獲得子矩陣第18頁(yè),課件共56頁(yè),創(chuàng)作于2023年2月

在MATLAB中,定義[]為空矩陣。給變量X賦空矩陣的語(yǔ)句為X=[]。注意:X=[]與clearX不同,clear是將X從工作空間中刪除,而空矩陣則存在于工作空間,只是維數(shù)為0。將某些元素從矩陣中刪除,采用將其置為空矩陣的方法就是一種有效的方法。

第19頁(yè),課件共56頁(yè),創(chuàng)作于2023年2月X=16213511897124141X=1692713121第20頁(yè),課件共56頁(yè),創(chuàng)作于2023年2月>>A=4:6>>A=[A-3;A;A+3]A=123456789>>B=A(1:2,2:3)B=2356>>A(:,2)=[]A=134679>>A(2,2)=0A=134079>>A(3)ans=7>>A(2:4)ans=473第21頁(yè),課件共56頁(yè),創(chuàng)作于2023年2月A=123456789>>sum(A)ans=121518>>A’ans=147258369>>B=diag(A)%提取或建立對(duì)角陣B=159>>C=diag(B)C=100050009第22頁(yè),課件共56頁(yè),創(chuàng)作于2023年2月A=123456789>>B=A>4B=000011111>>[r,c]=find(A>4)r=32323c=12233第23頁(yè),課件共56頁(yè),創(chuàng)作于2023年2月A=rand(3,4)A1=A(2:3,[1,3,4])A2=A([1,3],[2,4])L=A(2,:)<0.5A3=A(2,L)A=

0.05790.00990.19870.19880.35290.13890.60380.01530.81320.20280.27220.7468A1=0.35290.60380.01530.81320.27220.7468A2=0.00990.19880.20280.7468L=1101A3=0.35290.13890.0153第24頁(yè),課件共56頁(yè),創(chuàng)作于2023年2月>>tril(A)%主對(duì)角線(xiàn)及以下元素取矩陣A的元素,其余為0>>tril(A,K)>>triu(A)%主對(duì)角線(xiàn)及以上元素取矩陣A的元素,其余為0>>triu(A,K)>>rot90(A)%逆時(shí)針旋轉(zhuǎn)90度>>rot90(A,K)>>L=flipud(A)%將矩陣A上下翻轉(zhuǎn)>>fliplr(A)%將矩陣A左右翻轉(zhuǎn)>>reshape(A,m,n)(3)矩陣的結(jié)構(gòu)變換Practice:A=magic(4)B1=rot90(A),B2=rot90(A,2),B3=tril(A,2),B4=triu(A,-1),BT=A’,第25頁(yè),課件共56頁(yè),創(chuàng)作于2023年2月(1)對(duì)二維矩陣進(jìn)行擴(kuò)充得到三維矩陣:以三維矩陣為例,常用的方法有4種:>>a=[1,2;3,4]a=1234>>a(:,:,2)=[5,6;7,8]a(:,:,1)=1234a(:,:,2)=5678第26頁(yè),課件共56頁(yè),創(chuàng)作于2023年2月(2)

若干個(gè)同樣大小的二維矩陣進(jìn)行組合得到三維矩陣:>>b(:,:,1)=[12;34]b=1234>>b(:,:,2)=[56;78]b(:,:,1)=1234b(:,:,2)=5678第27頁(yè),課件共56頁(yè),創(chuàng)作于2023年2月(3)除產(chǎn)生單位矩陣的eye函數(shù)外,前面介紹的建立矩陣的函數(shù)都可以延伸到三維矩陣:>>C=randn(4,3,2)>>c=[12]c=12>>C=repmat(c,[322])C(:,:,1)=121212121212C(:,:,2)=121212121212repmat:復(fù)制小矩陣生成多維數(shù)組第28頁(yè),課件共56頁(yè),創(chuàng)作于2023年2月(4)用cat函數(shù)構(gòu)建多維矩陣。

cat(dim,A1,A2,…)

cat函數(shù)把大小相同的若干矩陣A1,A2,…,按照dim指定的維數(shù)組合成新的矩陣>>A1=[12;34],A2=[56;78]>>C1=cat(1,A1,A2)>>C2=cat(2,A1,A2)>>C3=cat(3,A1,A2)第29頁(yè),課件共56頁(yè),創(chuàng)作于2023年2月(一)算術(shù)運(yùn)算(二)關(guān)系運(yùn)算(三)邏輯運(yùn)算第30頁(yè),課件共56頁(yè),創(chuàng)作于2023年2月1.基本算術(shù)運(yùn)算

MATLAB的基本算術(shù)運(yùn)算有:+(加)、-(減)、*(乘)、/(右除)、\(左除)、^(乘方)。注意:運(yùn)算是在矩陣意義下進(jìn)行的,單個(gè)數(shù)據(jù)的算術(shù)運(yùn)算只是一種特例。2.點(diǎn)運(yùn)算點(diǎn)運(yùn)算符有.*、./、.\和.^。兩矩陣進(jìn)行點(diǎn)運(yùn)算是指它們的對(duì)應(yīng)元素進(jìn)行相關(guān)運(yùn)算,要求兩矩陣的維數(shù)相同。3.MATLAB常用數(shù)學(xué)函數(shù)第31頁(yè),課件共56頁(yè),創(chuàng)作于2023年2月(1)矩陣加、減(+,-)運(yùn)算相加、減的兩矩陣必須有相同的行和列,兩矩陣對(duì)應(yīng)元素相加減。允許參與運(yùn)算的兩矩陣之一是標(biāo)量。標(biāo)量與矩陣的所有元素分別進(jìn)行加減操作。(2)矩陣乘()運(yùn)算

A矩陣的列數(shù)必須等于B矩陣的行數(shù)

標(biāo)量可與任何矩陣相乘。第32頁(yè),課件共56頁(yè),創(chuàng)作于2023年2月(3)矩陣除(\,/)運(yùn)算

矩陣除的運(yùn)算在線(xiàn)性代數(shù)中沒(méi)有,有矩陣逆的運(yùn)算,在matlab中有兩種矩陣除運(yùn)算:

\(左除):A\B表示A左除B

/(右除):A/B表示B右除A設(shè)A是可逆矩陣的運(yùn)算,AX=B的解是A左除B,即X=A\B;XA=B的解是A右除B,即X=B/A第33頁(yè),課件共56頁(yè),創(chuàng)作于2023年2月>>A=[12;34;56];>>B=[56;78;910];>>C=A\B>>D=A/B>>E=B\A>>F=B/A對(duì)于A(yíng)X=b的線(xiàn)性方程組,有兩種解法:一種是利用矩陣求逆,即X=inv(A)*b;另一種是用左除,即X=A\b

。除法的速度快。第34頁(yè),課件共56頁(yè),創(chuàng)作于2023年2月>>A=rand(5)>>b=ones(5,1)>>x1=inv(A)*b>>x2=A\b第35頁(yè),課件共56頁(yè),創(chuàng)作于2023年2月(4)矩陣乘方(^)運(yùn)算

A^p

——

A

自乘p

次冪

設(shè)A為方陣,p為正整數(shù),則A^p

表示A自乘p

次;若A為方陣且非奇異,p為正整數(shù),

A^(-p)表示A的逆自乘p

次。

對(duì)于p的其它值,計(jì)算將涉及特征值和特征向量,如A,p

都是矩陣,A^p

則無(wú)意義。第36頁(yè),課件共56頁(yè),創(chuàng)作于2023年2月>>A=[1,2,3;2,3,1;3,2,1]>>B=A^2>>C=A^0.3(5).矩陣的其它運(yùn)算

inv

——

矩陣求逆det

——

行列式的值eig

——

矩陣的特征值diag

——

對(duì)角矩陣’

——

矩陣轉(zhuǎn)置sqrt

——

矩陣開(kāi)方第37頁(yè),課件共56頁(yè),創(chuàng)作于2023年2月Thefirstrowcontainstheheartrate,weight,andexercisehoursforpatient1,thesecondrowcontainsthedataforpatient2,andsoon.Themeanandstandarddeviationofeachcolumn:>>mu=mean(D),sigma=std(D)mu=75.8000161.80003.4800sigma=5.630325.49902.2107>>D=[721343.2;...812013.5;...691567.1;...821482.4;...751701.2]第38頁(yè),課件共56頁(yè),創(chuàng)作于2023年2月>>a=[123;456;789]>>b=[246;135;7910]>>a.*bans=281841530497290

>>a*b

對(duì)比一下上面兩式得到的結(jié)果。第39頁(yè),課件共56頁(yè),創(chuàng)作于2023年2月a.\b=b./a%給出a,b對(duì)應(yīng)元素間的商.

%都是a的元素被b的對(duì)應(yīng)元素除>>a=[123],b=[456]>>c1=a.\b>>c2=b./ac1=4.00002.50002.0000c2=4.00002.50002.0000第40頁(yè),課件共56頁(yè),創(chuàng)作于2023年2月.^

元素對(duì)元素的冪>>a=[123],b=[456]>>z=a.^2z=1.004.009.00>>z=a.^bz=1.0032.00729.00第41頁(yè),課件共56頁(yè),創(chuàng)作于2023年2月第42頁(yè),課件共56頁(yè),創(chuàng)作于2023年2月第43頁(yè),課件共56頁(yè),創(chuàng)作于2023年2月logm(A)求矩陣A的對(duì)數(shù)sqrtm(A)求矩陣A的平方根funm(A,’fun’)一般的方陣函數(shù)第44頁(yè),課件共56頁(yè),創(chuàng)作于2023年2月

MATLAB提供了6種關(guān)系運(yùn)算符:<(小于)、<=(小于或等于)、>(大于)、>=(大于或等于)、==(等于)、~=(不等于)。關(guān)系運(yùn)算符的運(yùn)算法則。第45頁(yè),課件共56頁(yè),創(chuàng)作于2023年2月B=1110000110101110110010010C=1111111111111111111111111A=0.95010.76210.61540.40570.05790.23110.45650.79190.93550.35290.60680.01850.92180.91690.81320.48600.82140.73820.41030.00990.89130.44470.17630.89360.1389>>A=rand(5)>>B=A>0.5>>C=A~=0.5第46頁(yè),課件共56頁(yè),創(chuàng)作于2023年2月

例:產(chǎn)生5階隨機(jī)方陣A,其元素為[10,90]區(qū)間的隨機(jī)整數(shù),然后判斷A的元素是否能被3整除。

(1)生成5階隨機(jī)方陣A

A=fix((90-10+1)*rand(5)+10)(2)判斷A的元素是否可以被3整除

P=rem(A,3)==0第47頁(yè),課件共56頁(yè),創(chuàng)作于2023年2月

MATLAB提供了4種邏輯運(yùn)算符:&(與)、|(或)、~(非)、xor(異或)。運(yùn)算法則。>>a=1:5>>b=2:6>>c=(a>2)&(b<5)第48頁(yè),課件共56頁(yè),創(chuàng)作于2023年2月x=linspace(0,10,100);%產(chǎn)生數(shù)據(jù)y=sin(x);%產(chǎn)生sin函數(shù)z=(y>=0).*y;%將sin(x)的負(fù)值設(shè)為0z=z+0.5*(y<0);z=(x<8).*z%將大于x=8以后的值設(shè)為0plot(x,z);xlabel(‘x)),ylabel(‘z=f(x)’)title(‘Adiscontinuoussignal’)第49頁(yè),課件共56頁(yè),創(chuàng)作于2023年2月

y=all(x)%當(dāng)x為數(shù)組時(shí),只有x中所有元素都不等于0時(shí),y為1,否則為0;x為矩陣時(shí),則命令只作用于列元素,即對(duì)同列元素進(jìn)行判斷。y=any(x)>>a=[1204;...2013]>>b=all(a)>>c=any(a)b=

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論