




已閱讀5頁,還剩23頁未讀, 繼續(xù)免費閱讀
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
Matlab中數(shù)組元素引用有三種方法:1.下標法(subscripts)2.索引法(index)3.布爾法(Boolean)在使用這三種方法之前,大家頭腦一定要清晰的記住,Matlab中數(shù)組元素是按列存儲(與Fortran一樣),比如說下面的二維數(shù)組A= 8 1 6 3 5 7 4 9 2Matlab的存儲順序是8,3,4,1,5,9,6,7,2,也就是說先行后列,對于3維數(shù)組呢,就是先行后列再頁對應個元素的索引和下標分別為Element Index Subscripts8 1 (1,1)3 2 (2,1)4 3 (3,1)1 4 (1,2)5 5 (2,2)9 6 (3,2)6 7 (1,3)7 8 (2,3)2 9 (3,3)從上面的例子中已經很清晰的說明了下標和索引的區(qū)別了,也就是說Matlab為沒有個元素分配了一個唯一識別的ID(即index)1.下標法引用A(ii,jj):其中ii和jj可以是一維向量、標量、“:”號或者“end”大家對下標估計比較熟悉,由于在C語言中接觸過,但是我這里需要強調的是,Matlab的下標是可以多行多列同時引用的,而像C語言等一次只能引用一個,比如A(2:3,3:-1:1)表示引用數(shù)組中的23行,31列對應的元素A(:,end)表示引用最后一列元素,“:”表示所有列或行,“end”表示最后一列或列,“end-n”表示倒數(shù)第n行或列A(1,end-1)表示引用第1行倒數(shù)第2個元素A(2 1 3 3,1 1 2 2 1)表示引用按兩個向量引用指定的元素,即A中的第2,1,3,3行和第1,1,2,2,1列對應的元素A=magic(3)A = 8 1 6 3 5 7 4 9 2A(2:3,3:-1:1)ans = 7 5 3 2 9 4A(:,end)ans = 6 7 2A(1,end-1)ans = 1A(2 1 3 3,1 1 2 2 1)ans = 3 3 5 5 3 8 8 1 1 8 4 4 9 9 4 4 4 9 9 42.索引法引用(說白了索引就是存儲順序)A(index):index可以是任意的數(shù)組,index的元素必須是正整數(shù),且不大于numel(A),返回的是一個尺寸與index一樣的數(shù)組下標和索引之間可以通過ind2sub和sub2ind函數(shù)相互轉換,具體可以看幫助,很簡單I,J = ind2sub(siz,IND)IND = sub2ind(siz,I,J)還有使用A(:)就可以將數(shù)組A轉換為列向量A(8):表示引用A的第8個元素B=A(1 10 5 2 2 1 3):表示依次引用A的第1,10,5,2,2,1,3個元素,返回與index尺寸相同的數(shù)組,也就是說size(B)=size(index)A(2 5 9;1 1 1;8 5 6):返回的時侯是一個3*3的矩陣A=magic(5)%括號中為索引值A = 17 (1) 24 (6) 1 (11) 8 (16) 15 (21) 23 (2) 5 (7) 7 (12) 14 (17) 16 (22) 4 (3) 6 (8) 13 (13) 20 (18) 22 (23) 10 (4) 12 (9) 19 (14) 21 (19) 3 (24) 11 (5) 18 (10) 25 (15) 2 (20) 9 (25)A(8)ans = 6A(1 10 5 2 2 1 3)ans = 17 18 11 23 23 17 4A(2 5 9;1 1 1;8 5 6)ans = 23 11 12 17 17 17 6 11 243.布爾法引用A(X):X是一個有0和1組成布爾型數(shù)據,且size(A)=size(X),對應位置為1則留下該數(shù)據,0則去掉,最后按A中的存儲順序,返回一個列向量假如說A是3*3的數(shù)組A(logical(1 0 0;0 1 0;0 0 1):表示引用了數(shù)組A的對角線元素,注意必須使用logical將0/1數(shù)組轉換為布爾型A=magic(3)%生成一個3*3的數(shù)組A= 8 1 6 3 5 7 4 9 2x=logical(1 1 0;0 1 1;1 0 1)%將double轉化為boolean型數(shù)據x = 1 1 0 0 1 1 1 0 1A(x)%引用對應位置為1的數(shù)據,返回列向量ans = 8 4 1 5 7 2x=A5%是有了比較語句,返回布爾型數(shù)據,對應位置數(shù)據大于5的為1,否則為0x = 1 0 1 0 0 1 0 1 0A(x)%返回大于A中大于5的元素,其實該命令可以一次性執(zhí)行A(A5)或者find(A5),前者返回具體元素,后者返回大于5的數(shù)據的索引值ans = 8 9 6 7A(A5)%一次性執(zhí)行上面的命令ans = 8 9 6 7indx=find(A5)%查找A中對于5的元素,返回它們的索引(index)值,此時我們可以通過A(index)返回具體的元素index = 1 6 7 8增加內容1、向量的創(chuàng)建1)直接輸入:行向量:a=1,2,3,4,5列向量:a=1;2;3;4;52)用“:”生成向量a=J:K 生成的行向量是a=J,J+1,Ka=J:D:K 生成行向量a=J,J+D,J+m*D,m=fix(K-J)/D)3)函數(shù)linspace 用來生成數(shù)據按等差形式排列的行向量x=linspace(X1,X2):在X1和X2間生成100個線性分布的數(shù)據,相鄰的兩個數(shù)據的差保持不變。構成等差數(shù)列。x=linspace(X1,X2,n): 在X1和X2間生成n個線性分布的數(shù)據,相鄰的兩個數(shù)據的差保持不變。構成等差數(shù)列。4)函數(shù)logspace用來生成等比形式排列的行向量X=logspace(x1,x2) 在x1和x2之間生成50個對數(shù)等分數(shù)據的行向量。構成等比數(shù)列,數(shù)列的第一項x(1)=10x1,x(50)=10x2 X=logspace(x1,x2,n) 在x1和x2之間生成n個對數(shù)等分數(shù)據的行向量。構成等比數(shù)列,數(shù)列的第一項x(1)=10x1,x(n)=10x2注:向量的的轉置:x=(0,5)2、矩陣的創(chuàng)建1)直接輸入:將數(shù)據括在中,同一行的元素用空格或逗號隔開,每一行可以用回車或是分號結束如:a=1,2,3;3,4,5,運行后:a = 1 2 3 3 4 52)函數(shù)eye,生成單位矩陣eye(n) :生成n*n階單位Eeye(m,n):生成m*n的矩陣E,對角線元素為1,其他為0eye(size(A):生成一個矩陣大小相同的單位矩陣eye(m,n,classname):對角線上生成的元素是1,數(shù)據類型用classname指定。其數(shù)據類型可以是:duoble、single、int8、uint8、int16、uint16、int32、uint32 。3)函數(shù)ones 用ones生成全1的矩陣ones(n) : 生成n*n的全1矩陣ones(m,n) : 生成m*n的全1矩陣ones(size(A) : 生成與矩陣A大小相同的全1矩陣ones(m,n,p,)生成m*n*p*.的全1的多維矩陣ones(m,n,classname)制定數(shù)據類型為classname4)函數(shù)zeros 函數(shù)zeros生成全0矩陣zeros(n):生成n*n的全0矩陣zeros(m,n:)生成m*n的全0矩陣zeros(size(A): 生成與矩陣A大小相同的全0矩陣zeros (m,n,p,)生成m*n*p*.的全0的多維矩陣zeros (m,n,classname)指定數(shù)據類型為classname5)函數(shù)rand 函數(shù)rand用來生成0,1之間均勻分布的隨機函數(shù),其調用格式是:Y=rand:生成一個隨機數(shù)Y=rand(n):生成n*n的隨機矩陣Y=rand(m,n):生成m*n的隨機矩陣Y=rand(size(A):生成與矩陣A大小相同的隨機矩陣Y=rand(m,n,p,):生成m*n*p*的隨機數(shù)多維數(shù)組6)函數(shù)randn 函數(shù)rand用來生成服從正態(tài)分布的隨機函數(shù),其調用格式是:Y=randn:生成一個服從標準正態(tài)分布的隨機數(shù)Y=randn(n):生成n*n的服從標準正態(tài)分布的隨機矩陣Y=randn(m,n):生成m*n的服從標準正態(tài)分布的隨機矩陣Y=randn(size(A):生成與矩陣A大小相同的服從標準正態(tài)分布的隨機矩陣Y=randn(m,n,p,):生成m*n*p*的服從標準正態(tài)分布的隨機數(shù)多維數(shù)組3、矩陣元素的提取與替換1) 單個元素的提取如:a=1,2,3;3,4,5,運行后:a = 1 2 3 3 4 5輸入b=a(1,2)b = 22) 提取矩陣中某一行的元素,如:a=1,2,3;3,4,5,運行后:a = 1 2 3 3 4 5輸入b=a(1,:)b = 1 2 33) 提取矩陣中某一列:如:a=1,2,3;3,4,5,運行后:a = 1 2 3 3 4 5輸入b=a(:,1)b = 1 34) 提取矩陣中的多行元素如:a=1,2,3;3,4,5,運行后:a = 1 2 3 3 4 5輸入b=a(1,2,:)b = 1 2 3 3 4 55) 提取矩陣中的多列元素如:a=1,2,3;3,4,5,運行后:a = 1 2 3 3 4 5輸入b=a(:,1,3)b = 1 3 3 56) 提取矩陣中多行多列交叉點上的元素如:a=1,2,3;3,4,5,運行后:a = 1 2 3 3 4 5輸入b=a(1,2,1,3)b = 1 3 3 57) 單個元素的替換:如:a=1,2,3;3,4,5,運行后:a = 1 2 3 3 4 5輸入:a(2,3)=-1a = 1 2 3 3 4 -14、矩陣元素的重排和復制排列1) 矩陣元素的重排B=reshape(A,m,n):返回的是一個m*n矩陣B,矩陣B的元素就是矩陣A的元素,若矩陣A的元素不是m*n個則提示錯誤。B=reshape(A,m,n,p):返回的是一個多維的數(shù)組B,數(shù)組B中的元素個數(shù)和矩陣A中的元素個數(shù)相等B=reshape(A,):可以默認其中的一個維數(shù)B=reshape(A,siz) : 由向量siz指定數(shù)組B的維數(shù),要求siz的各元素之積等于矩陣A的元素個數(shù)2) 矩陣的復制排列 函數(shù)是repmatB=repmat(A,n):返回B是一個n*n塊大小的矩陣,每一塊矩陣都是AB=repmat(A,m,n):返回值是由m*n個塊組成的大矩陣,每一個塊都是矩陣A。B=repmat(A,m,n,p,):返回值B是一個多維數(shù)組形式的塊,每一個塊都是矩陣A5、矩陣的翻轉和旋轉1)矩陣的左右翻轉 左右翻轉函數(shù)是fliplr,調用格式:B=fliplr(A):將矩陣A左右翻轉成矩陣B。輸入:A=1,2,3;3,4,2A = 1 2 3 3 4 2輸入:B=fliplr(A)B = 3 2 12 4 32)矩陣上下翻轉 函數(shù):flipud,調用格式:B=flipud(A):把矩陣A上下翻轉成矩陣B3) 多維數(shù)組翻轉 函數(shù):flipdim,調用格式:B=flipdim(A,dim):把矩陣或多維數(shù)組A沿指定維數(shù)翻轉成B4) 矩陣的旋轉 函數(shù):rot90,調用格式:B=rot90(A):矩陣B是矩陣A沿逆時針方向旋轉90。得到的B=rot90(A,k):矩陣B是矩陣A沿逆時針方向旋轉k*90。得到的(要想順時針旋轉,k取-1)6、矩陣的生成與提取函數(shù)1) 對角線函數(shù) 對角線函數(shù)diag既可以用來生成矩陣,又可以來提取矩陣的對角線元素,其調用格式:a) A=diag(v,k):當v是有n個元素的向量,返回矩陣A是行列數(shù)為n+|k|的方陣。向量v的元素位于A的第k條對角線上。K=0 對應主對角線,k0對應主對角線以上,k0對應主對角線以上,k0對應主對角線以上,k catCAT arguments dimensions are not consistent.5、permute函數(shù)改變維的次序。h=permute(u,3,2,1) %將原來的第三維變?yōu)榈谝痪S,而原來的第一維改成第三維h(:,:,1) =1 25 6h(:,:,2) =3 47 8h(:)ans =15263748我們注意到數(shù)據的物理存儲次序發(fā)生了變化。6、iper
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 腹股溝動脈采血流程與技巧
- 傳染病院內防控體系構建與培訓實施
- 贛美版西港中學八年級下冊音樂教學計劃
- 大班綜合超級大偵探
- 小學科學活動與教學計劃設計
- 2024屆江蘇省常州市金壇區(qū)中考一模數(shù)學試題含解析
- 英語教師專業(yè)認證與發(fā)展計劃
- 醫(yī)療機構員工勞動教育與職業(yè)發(fā)展計劃
- 2025年高考滿分作文語言技巧
- 一年級下冊英語項目式學習計劃
- 針灸治療格林巴利綜合征
- 牧場成本管理
- 《咖啡英文介紹》課件
- 老舊泵房拆除改造施工方案
- 品質管控培訓質量管理與質量控制課件
- 民間非營利組織審計報告(模板)
- 漿砌石擋墻 護坡施工方案
- 上海市上海民辦蘭生中學2024-2025學年八年級上學期9月第一次月考數(shù)學試題(無答案)
- 2024年10月自考試02899生理學部分真題含解析
- DB13-T 5834-2023 化工建設項目安裝工程質量技術資料管理規(guī)范
- DL∕ T 969-2005 變電站運行導則
評論
0/150
提交評論