資源描述:
《Matlab與機電系統(tǒng)仿真(六)》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫。
1、Matlab與機電系統(tǒng)仿真(六)---稀疏矩陣、細胞數(shù)組、結(jié)構(gòu)數(shù)組一個永遠不會平衡的天平DESIREOBTAIN6.1稀疏矩陣6.1稀疏矩陣Matlab能創(chuàng)建的最大矩陣:a=eye(11108);矩陣的存儲:零元素和非零元素。稀疏矩陣:只存儲非零元素。b=sparse(a);6.1稀疏矩陣稀疏矩陣的建立:y=sparse([i1,i2,i3,…,in],[j1,j2,j3,…,jn],[e1,e2,e3,…,en]);其它:speye,sprand,sprandn,…轉(zhuǎn)換:普通矩陣?稀疏矩陣:x=sparse(a);稀疏矩陣?普通矩陣:b=full(y);6.1稀疏矩陣查看稀
2、疏矩陣:nnz(a);%返回非零元素的個數(shù);nonzeros(a);%返回一個包含非所有零元素的列向量;spy(a);%查看非零元素分布圖;6.2細胞數(shù)組Cell1,1Cell1,2Cell2,1Cell2,2130024168‘Thisisastring’2+3i,-49i,7+1i[]6.2細胞數(shù)組的建立元素賦值:a{1,2}=[123;456];%對細胞數(shù)組的元素直接賦值cell函數(shù):a=cell(2,3);%建立一個2x3的細胞數(shù)組采用{}:a={[123;456],’hello!’;[],4+3i};%直接給變量賦值6.2細胞矩陣細胞數(shù)組的顯示:a%顯示細胞數(shù)組的結(jié)
3、構(gòu)celldisp(a)%顯示細胞數(shù)組的詳細內(nèi)容細胞數(shù)組的刪除:cleara%刪除整個細胞變量a{1,2}=[]%刪除細胞變量中的元素6.2細胞數(shù)組a={[12;34],’dog’;’cat‘,i};a{1,2}%顯示細胞數(shù)組的元素;a{1,1}(2,1)%顯示細胞數(shù)組的元素的元素6.2細胞數(shù)組一般函數(shù):function[out_1,out_2,out_3]=testfun(in_1,in_2,in_3,in_4)out_1=in_1+1;out_2=in_2+1;out_3=in_3+1;參數(shù)數(shù)量可變函數(shù):functionvarargout=testfun(varargin
4、)forn=1:nargoutvarargout{n}=varargin{n}+1;end6.3結(jié)構(gòu)數(shù)組普通數(shù)組:有一個名字,元素類型必須相同,元素用名字(數(shù)字)表示;細胞數(shù)組:有一個名字,元素的類型可以不同,元素用名字{數(shù)字}表示;結(jié)構(gòu)數(shù)組:每個元素都有一個名字,元素類型可以不同,元素用數(shù)組名.域名表示。studentnamejobagebirth6.3結(jié)構(gòu)數(shù)組創(chuàng)建結(jié)構(gòu)數(shù)組:賦值student.name=‘john’;student.age=22;student.favor=basketball;2.函數(shù)student=struct(‘name’,’john’,’age’,
5、22,’favor’,’basketball’);創(chuàng)建新域:student.phone=18710924868;刪除域:newstudent=rmfield(student,’age’);6.3結(jié)構(gòu)數(shù)組6.3結(jié)構(gòu)數(shù)組結(jié)構(gòu)數(shù)組的擴展:student=struct(‘name’,’john’,’age’,22,’favor’,’basketball’);student(2).name=‘tom’;student(3).name=‘bruce’;student(4).name=‘rose’;6.3結(jié)構(gòu)數(shù)組數(shù)據(jù)的使用:student(2).agestudent(3).birth(3)
6、student(1).favor(4)student(2)student(3)student(1)namefavoragebirthjohnpingpang22[19891103]namefavoragebirthtombasketball23[19880612]namefavoragebirthbrucepingpang20[19911103]student6.3結(jié)構(gòu)數(shù)組getfield和setfield:example=getfield(student,{1},’name’,{2:4});example=student(1).name(2:4);example=setfi
7、eld(student,{1},’name’,’rice’);student(1).name=‘rice’;練習(xí):建立一個2x2的細胞數(shù)組,其中元素分別是一個矩陣、一個復(fù)數(shù)、一個字符串、一個空集建立一個結(jié)構(gòu)數(shù)組,以自己的名字命名,域:name,id(學(xué)號),age,phone,birthday感謝大家!