在matlab中cell函數(shù)的作用
我在看一個程序,,里面的cell的作用看不懂,,有沒哪位知道的,解釋下,謝謝A=cell(100,,1); for i=1:100 A(i).flag=-1; A(i).status=zeros(1,13);end這里面的cell的原理是怎么樣的,?那個A(i)應(yīng)該是A{i}才對吧,。——————————————————————cell是matlab中的一種數(shù)據(jù)類型,,用大括號定義,,括號里可以是任意類型的數(shù)據(jù)或矩陣。如B={[1;2]}這就定義了一個cell型的變量B,,里面保存的是一個矩陣[1;2]要引用里面的數(shù)據(jù)只要在大括號里寫上對應(yīng)的下標(biāo)即可,,如B{1}下面我們給B再加個元素,我們可以這樣定義B(2)={'hello'}也可以利用引用的方法定義B{2}='hello'第二種方法比第一種方法更方便所以更常用,。這樣B就有兩個元素了,,B(1)是{[1;2]},B(2)是{'hello'},,每個元素都是cell型的(注意和B{1},、B{2}的區(qū)別,B{1}是[1;2],,B{2}是'hello')cell函數(shù)是造元素為cell類型的矩陣你這里A=cell(100,1)就是造了100行1列的cell矩陣,。當(dāng)然此時每個元素里什么都還沒有。然后A{i}.flag=-1,;A{i}.status=zeros(1,13);就開始定義每個元素里的數(shù)據(jù)了,,可以看到每個cell里保存的都是結(jié)構(gòu)型數(shù)據(jù)。 ————————————————————————————A{i}.flag=-1,;A{i}.status=zeros(1,13);實際上并不是在A{i}中儲存了兩個元素,,而是儲存了一個結(jié)構(gòu)型數(shù)據(jù)。matlab中共有六種數(shù)據(jù)類型,,分別為數(shù)值,、字符、邏輯,、結(jié)構(gòu),、細(xì)胞、類,。其中細(xì)胞就是你這里的cell類型數(shù)據(jù),。A{i}.flag=-1;A{i}.status=zeros(1,13);實際上是在A{i}中儲存了一個結(jié)構(gòu)類型數(shù)據(jù),,它有兩個成員,,一個名為flag,、一個名為status,上面兩句話只不過是對這同一個元素的兩個成員進行賦值而已,。實際上我們也可以自己定義一個結(jié)構(gòu)變量,,比如a.one=[1;2];a.two='hello';a就是一個結(jié)構(gòu)型的變量,它有兩個成員,,分別叫one和two,。但請記住,a是一個變量,,不是兩個變量。
相關(guān)推薦
便查問答是一款實用的網(wǎng)絡(luò)熱門知識問答平臺,,專注于分享你不知道的知識,、經(jīng)驗及生活問題,在這里所有人都能找到答案歡迎網(wǎng)友參與討論,。