版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
Matlab語言及其應用第3講2024/7/512.2.2、創(chuàng)建一維數組變量第一種方法:使用方括號“[]”操作符【例2-1】創(chuàng)建數組(行向量)a=[13pi3+5i]>>a=[13pi3+5*i]%ora=[1,3,pi,3+5*i]a=1.00003.00003.14163.0000+5.0000i所有的向量元素必須在操作符“[]”之內;向量元素間用空格或英文的逗點“,”分開。第二種方法:使用冒號“:”操作符【例2-2】創(chuàng)建以1~10順序排列整數為元素的行向量b。>>b=1:10b=123456789102024/7/52
2.2.2、創(chuàng)建一維數組變量(續(xù))【例2-3】鍵入并執(zhí)行c=1:2:10和d=1:2:9>>c=1:2:10c=13579>>d=1:2:9d=13579利用冒號“:”操作符創(chuàng)建行向量的基本語法格式:x=Start:Increment:EndStart表示新向量x的第一個元素;新向量x的最后一個元素不能大于End;Increment可正可負,若負,則必須Start>End;若正,則必須Start<End,否則創(chuàng)建的為空向量。若Increment=1,則可簡寫為:x=Start:End。2024/7/53
2.2.2、創(chuàng)建一維數組變量(續(xù))第三種方法:利用函數linspace函數linspace的基本語法x=linspace(x1,x2,n)該函數生成一個由n個元素組成的行向量;x1為其第一個元素;x2為其最后一個元素;x1、x2之間元素的間隔=(x2-x1)/(n-1)。如果忽略參數n,則系統(tǒng)默認生成100個元素的行向量?!纠?-4】鍵入并執(zhí)行x=linspace(1,2,5)x=1.00001.25001.50001.75002.0000同學們可以在實驗時察看x=linspace(1,2)執(zhí)行結果。2024/7/54
2.2.2、創(chuàng)建一維數組變量(續(xù))列向量的創(chuàng)建使用方括號“[]”操作符,使用分號“;”分割行?!纠?-5】鍵入并執(zhí)行x=[1;2;3]X=123使用冒號操作符【例2-6】鍵入并執(zhí)行x=(1:3)’%“’”表示矩陣的轉置2024/7/55
2.2.2、創(chuàng)建一維數組變量
(續(xù))創(chuàng)建數組變量的一般方法創(chuàng)建變量的賦值語句的一般格式var=expressionvar為變量名expression為MATLAB合法表達式可以是單獨的常數值或數值數組;也可以由常數值、其他變量(部分或全部)、數值數組和運算符(+、-等)構成?!纠?-7】鍵入并執(zhí)行a=[01+6];b=[a67];c=[6a7];d=[6a7a];2024/7/56
2.2.2、創(chuàng)建一維數組變量
(續(xù))一旦被創(chuàng)建,變量就被存儲在工作空間,可以通過“Workspace”窗口或在“CommandWindow”執(zhí)行“whos”命令察看。操作一:使用“Workspace”窗口察看變量操作二:使用“whos”命令察看變量2024/7/57
2.2.3、創(chuàng)建二維數組變量第一種方法:使用方括號“[]”操作符使用規(guī)則數組元素必須在“[]”內鍵入;行與行之間須用分號“;”間隔,也可以在分行處用回車鍵間隔;行內元素用空格或逗號“,”間隔?!纠?-1】鍵入并執(zhí)行a2=[123;456;789]a2=123456789【例3-2】鍵入并執(zhí)行a2=[1:3;4:6;7:9]%結果同上2024/7/58
2.2.3、創(chuàng)建二維數組變量(續(xù))【例3-3】由向量構成二維數組。>>a=[123];b=[234];>>c=[a;b];>>c1=[ab];第二種方法:函數方法函數ones(生成全1矩陣)、zeros(生成全0矩陣)、reshape“helpelmat”獲得基本的矩陣生成和操作函數列表【例3-4】創(chuàng)建全1的3x3數組。>>ones(3)【例3-5】創(chuàng)建全1的3x4數組。>>ones(3,4)2024/7/59
2.2.3、創(chuàng)建二維數組變量(續(xù))【例3-5】reshape的使用演示>>a=-4:4a=-4-3-2-101234>>b=reshape(a,3,3)b=-4-12-303-214數組元素的排列順序,從上到下按列排列,先排第一列,然后第二列,…要求數組的元素總數不變。2024/7/510
4、數組元素的標識與尋訪數組元素的標識“全下標(index)”標識經典數學教科書采用“全下標”標識法:每一維對應一個下標。如對于二維數組,用“行下標和列下標”標識數組的元素,a(2,3)就表示二維數組a的“第2行第3列”的元素。對于一維數組,用一個下標即可,b(2)表示一維數組b的第2個元素,無論b是行向量還是列向量?!皢蜗聵恕保╨inearindex)標識所謂“單下標”標識就是用一個下標來表明元素在數組的位置。對于二維數組,“單下標”編號:設想把二維數組的所有列,按先后順序首尾相接排成“一維長列”,然后自上往下對元素位置執(zhí)行編號。兩種“下標”標識的變換:sub2ind、ind2sub2024/7/511
4、數組元素的標識與尋訪(續(xù))【例4-1】單下標的使用>>a=zeros(2,5);>>a(:)=-4:5a=-4-2024-3-1135注意數組的排列順序。2024/7/512
4、數組元素的標識與尋訪(續(xù))元素與子數組的尋訪與賦值【例4-3】一維數組元素與子數組的尋訪與賦值>>a=linspace(1,10,5)a=1.00003.25005.50007.750010.0000>>a(3)%尋訪a的第3個元素ans=5.5000>>a([125])%尋訪a的第1、2、5個元素組成的子數組ans=1.00003.250010.00002024/7/513
4、數組元素的標識與尋訪(續(xù))>>a(1:3)%尋訪前3個元素組成的子數組ans=1.00003.25005.5000>>a(3:-1:1)%由前3個元素倒序構成的子數組ans=5.50003.25001.0000>>a(3:end)ans=5.50007.750010.0000>>a(3:end-1)ans=5.50007.75002024/7/514
%第3個及其后所有元素構成的子數組函數end作為參數使用,返回最后一個元素的下標4、數組元素的標識與尋訪(續(xù))>>a([12355321])ans=1.00003.25005.500010.000010.00005.50003.25001.0000數組元素可以被任意重復訪問,構成長度大于原數組的新數組。>>a(6)???Indexexceedsmatrixdimensions.下標值超出了數組的維數,導致錯誤>>a(2.1)???Subscriptindicesmusteitherberealpositiveintegersorlogicals.下標值只能取正整數或邏輯值2024/7/515
4、數組元素的標識與尋訪(續(xù))>>a(3)=0%修改數組a的第3元素值為0a=1.00003.250007.750010.0000>>a([25])=[11]a=1.00001.000007.75001.0000可以修改指定數組元素的值一次可以修改多個數組元素的值要修改的數組元素的個數應與送入數組的元素個數相同2024/7/516
4、數組元素的標識與尋訪(續(xù))【例4-3】二維數組元素與子數組的尋訪與賦值>>a_2=zeros(2,4)%創(chuàng)建2x4的全0數組a_2=00000000>>a_2(:)=1:8a_2=13572468>>a_2([258])%單下標方式尋訪多個元素ans=2582024/7/517
注意元素的排列順序4、數組元素的標識與尋訪(續(xù))>>a_2([258])=[102030]a_2gt;>a_2(:,[23])=ones(2)%雙下標方式尋訪并修改a_2=1117101130二維數組可以“單下標”方式或“全下標”方式訪問、賦值;“單下標”方式賦值時,等號兩邊涉及的元素個數必須相等;“全下標”方式賦值時,等號右邊數組的大小必須等于原數組中涉及元素構成的子數組的大小。2024/7/518
4、數組元素的標識與尋訪(續(xù))>>a_2(:,end)ans=730>>a_2(:,end-1)ans=11>>a_2(:,end:-1:3)ans=713012024/7/519
>>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?4、數組元素的標識與尋訪(續(xù))【例4-4】size、length函數>>a=ones(4,6)*6>>m=size(a)>>len=length(a)>>b=1:5;>>length(b)>>c=b’>>length(c)2024/7/520
size函數返回變量的大小,即變量數組的行列數
length函數返回變量數組的最大維數4、數組元素的標識與尋訪(續(xù))雙下標到單下標的轉換2024/7/521
【例4-5】sub2ind函數-雙下標轉換為單下標>>A=[172418;222714;461320];>>sub2ind(size(A),2,2)>>A(5)4、數組元素的標識與尋訪(續(xù))單下標到雙下標的轉換2024/7/522
【例4-6】ind2sub函數-單下標轉換為雙下標>>b=zeros(3);>>b(:)=1:9>>IND=[3456]>>[I,J]=ind2sub(size(b),IND)5、多維數組多維數組的定義
在MATLAB的數據類型中,向量可視為一維數組,矩陣可視為二維數組,對于維數(Dimensions)超過2
的數組均可視為「多維數組」(Multidimesional
Arrays,簡稱N-DArrays)。2024/7/523
5、多維數組(續(xù))將兩個二維(平面)數組疊在一起,就構成三維數組,第三維稱為「頁」(Page),如下圖所示:2024/7/524
(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)頁列頁行5、多維數組(續(xù))三維數組,可對應至一個
X-Y-Z三維立體坐標,如下圖所示:2024/7/525
Z(頁)Y(列)X(行)5、多維數組(續(xù))三維數組元素的尋址:可以(行、列、頁)來確定。以維數為
3×4×2的三維數組為例,其尋址方式如下圖所示:2024/7/526
數組
A是三維數組,其中A(:,:,1)代表第一頁的二維數組,A(:,:,2)代表第二頁的二維數組。5、多維數組(續(xù))多維數組的建立建立一個簡單的多維數組,可直接由MATLAB命令視窗內輸入(使用“[]”操作符)例:由兩個相同大小二維數組創(chuàng)建三維數組2024/7/527
A(:,:,1)=[1025;4187;3263];A(:,:,2)=[3541;2621;4230]
A(:,:,1)=102541873263A(:,:,2)=354126214230
5、多維數組(續(xù))執(zhí)行命令:whosA,得到如下結果:
NameSizeBytes
Class
A3x4x2
192
doublearrayGrandtotalis24elementsusing192bytes2024/7/528
6、數組的算術運算MATLAB數組支持線性代數中所有的矩陣運算。建立特有的數組運算符,如:“.*”、“./”等。
MATLAB數組運算符列表運算 運算符 含義說明 加 +相應元素相加減 - 相應元素相減乘 * 矩陣乘法點乘 .* 相應元素相乘冪 ^ 矩陣冪運算點冪 .^ 相應元素進行冪運算左除或右除 \或/ 矩陣左除或右除左點除或右點除.\或./ A的元素被B的對應元素除2024/7/529
6、算術運算(續(xù))
【例5-1】數組加減法>>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.50002024/7/530
6、算術運算(續(xù))【例5-2】畫出y=1/(x+1)的函數曲線,x∈[0,100]。x=0:100;y=1./(x+1);plot(x,y);legend(‘y=1/(x+1)’);
2024/7/531
6、算術運算(續(xù))【例5-2】生成一個信號:x=sin(2*pi*t)+sin(4*pi*t)t=[0:199]./100;%采樣時間點%生成信號x=sin(2*pi*t)+sin(4*pi*t);plot(t,x);legend(‘x=sin(2*pi*t)+sin(4*pi*t)’);2024/7/532
6、算術運算(續(xù))2024/7/533
6、算術運算(續(xù))【例5-2】點冪“.^”舉例>>a=1:6a=123456>>b=reshape(a,2,3)b=1352462024/7/534
>>a=a.^2a=149162536>>b=b.^2b=1925416362024/7/535
7、關系運算
Matlab提供了6種關系運算符:<、>、<=、>=、==、~=(不等于)關系運算符的運算法則:1、當兩個標量進行比較時,直接比較兩數大小。若關系成立,結果為1,否則為0。2、當兩個維數相等的矩陣進行比較時,其相應位置的元素按標量關系進行比較,并給出結果,形成一個維數與原來相同的0、1矩陣。3、當一個標量與一個矩陣比較時,該標量與矩陣的各元素進行比較,結果形成一個與矩陣維數相等的0、1矩陣。2024/7/536
7、關系運算(續(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=10001010001000011001000002024/7/537
8、邏輯運算
Matlab提供了3種邏輯運算符:&(與)、|(或)、~(非)邏輯運算符的運算法則:1、在邏輯運算中,確認非零元素為真(1),零元素為假(0)。
2、當兩個維數相等的矩陣進行比較時,其相應位置的元素按標量關系進行比較,并給出結果,形成一個維數與原來相同的0、1矩陣;3、當一個標量與一個矩陣比較時,該標量與矩陣的各元素進行比較,結果形成一個與矩陣維數相等的0、1矩陣;4、算術運算優(yōu)先級最高,邏輯運算優(yōu)先級最低。2024/7/538
【例】在[0,3π]區(qū)間,求的值。要求消去負半波,即(π,2π)區(qū)間內的函數值置零。x=0:pi/100:3*pi;y=sin(x);y1=(y>=0).*y;%消去負半波2024/7/539
【例】建立矩陣A,找出在[10,20]區(qū)間的元素的位置。
A=[4,15,-45,10,6;56,0,17,-45,0];find(A>=10&A<=20)%找到非零元素的位置A=415-4510656017-450ans=3677.數據分析與統(tǒng)計最大值和最小值
MATLAB提供的求數據序列的最大值和最小值的函數分別為max和min,兩個函數的調用格式和操作過程類似。
1、求向量的最大值和最小值求一個向量X的最大值的函數有兩種調用格式,分別是:
(1)y=max(X):返回向量X的最大值存入y,如果X中包含復數元素,則按模取最大值;
(2)[y,I]=max(X):返回向量X的最大值存入y,最大值的序號存入I,如果X中包含復數元素,則按模取最大值。求向量X的最小值的函數是min(X),用法和max(X)完全相同。
2024/7/540
2024/7/541
【例7-1】求向量的最大值>>x=[-43,72,9,16,23,47];>>y=max(x)%求向量x中的最大值y=72>>[y,l]=max(x)%求向量x中的最大值及其該元素的位置y=72l=29.數據分析與統(tǒng)計2.求矩陣的最大值和最小值求矩陣A的最大值的函數有3種調用格式,分別是:(1)max(A):返回一個行向量,向量的第i個元素是矩陣A的第i列上的最大值;(2)[Y,U]=max(A):返回行向量Y和U,Y向量記錄A的每列的最大值,U向量記錄每列最大值的行號;(3)max(A,[]
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年成都貨運從業(yè)資格證模擬
- 2025年貴陽駕校考試貨運從業(yè)資格證考試
- 養(yǎng)豬場建筑消防工程協(xié)議
- 家政服務員三級練習題+參考答案
- 烹飪原料知識考試模擬題(含答案)
- 二級建造師執(zhí)業(yè)合同(2篇)
- 二年級數學(上)計算題專項練習匯編
- 四年級數學(上)計算題專項練習及答案
- 子公司售后服務策略
- 文化設施建設備案申請書
- 外科護理學全套課件
- 工程經濟學完整版課件全套ppt教程
- 高中日語 授受關系 課件
- 上海市長寧區(qū)2022年高考英語一模試卷(含答案)
- 軟件工程課程設計_《網上購物系統(tǒng)項目》軟件設計說明書
- 兩級CMOS運算放大器設計
- 住宅項目規(guī)范(2022)
- 2012生物化學答疑-02
- 蘇教版新版五年級上冊科學全冊單元期末知識點梳理(1)
- 《雞兔同籠》ppt課件
- 制袋作業(yè)指導書
評論
0/150
提交評論