2 回答

TA貢獻1818條經驗 獲得超8個贊
MATLAB中cell函數的作用為:cell是matlab中的一種數據類型,概念和“結構”類似。用大括號定義,括號里可以是任意類型的數據或矩陣??梢詫卧獢到M中的每一個元素稱為單元(cell),單元可以包含任何類型的數據,如數值數組、字符、符號對象,甚至于其他的單元數組。在這個程序里cell函數的作用為:定義一個數組。
程序功能:第一句A=cell(100,1),意思是定義一個100X1的數組A;“for ……end”是循環結構,循環體中包含了兩個功能,一是使全局變量flag減1,二是使A的狀態值返回到一個double類型的1X13的數組。當全局變量flag小于零時循環終止。
擴展資料:
1.cell的創建:
(1)創建cell的方法:直接使用C={A,B,E,D}這種形式,不過這里把“[]”改成了“{}”。
(2)用cell創建cell:C={C1,C2},這里C1和C2都是cell類型,直接把C1、C2作為一個cell得到C3是一個1*2的cell數組;使用C3 =[C1 C2],是使用C1和C2的內容來創建cell數組。
(3)使用cell函數,A=cell(2,2),創建一個空的2*2的cell矩陣。
2. 關于cell的訪問:
(1)X=C(s)使用這個()形式的返回是cell類型。
(2)X=C{s}使用這個{}形式返回的栿cell中的內容。
(3)其他的基本上與通常的數組、矩陣訪問一樣。
(4)A{1,1}(2,3:end)訪問的是A中的第一個cell里面的內容的第二行第三個元素以后的所有元素。
(5)A{1,3}.name訪問的是A中A{1,3}中的結構體的name值。
(6)cell圖形化顯示使用命令cellplot(A)即可。

TA貢獻1817條經驗 獲得超14個贊
cell函數在本程序段中起到了定義一個數組的作用。
程序功能:第一句A=cell(100,1),意思是定義一個100X1的數組A
“for ……end”是循環結構,循環體中包含了兩個功能,一是使全局變量flag減1,二是使A的狀態值返回到一個double類型的1X13的數組。當全局變量flag小于零時循環終止。
下面舉例說明cell函數的一般使用情形:
1,首先用cell函數來聲明一個新的單元陣列。
2,以聲明1x3形式的單元陣列v為例,輸入命令行v={B sum(B) prod(prod(B))}
這里需要補充說明B是我們預先聲明的一個向量。
3,上一步中的prod的功能是求積運算,所以當向量B的數據類型不同時得到的結果也是不同的。
若B為一個一維向量(或數組),則一次prod運算后得到的是所有元素的乘積,二次prod運算則會將結果還原出來。
若B為矩陣,那么一次prod運算后,對矩陣各列分別求積后得到一個新的數組C,這個數組即為輸出結果,二次prod運算后,則將數組C中所有元素求積,然后輸出這個積。
以上是cell函數的具體作用。
擴展資料:
用cell函數創建細胞數組,創建的數組為空細胞。cell函數創建空細胞數組的主要目的是為數組預先分配連續的存儲空間,節約內存占用,提高執行效率。
從細胞數組中讀取數據,可保存為一個標準的數組或一個新的單元數組,或取出數組進行計算。細胞數組中數據的訪問,可通過細胞內容的下標進行,用細胞數組名加大括號{}。大括號中數值表示細胞的下標。
細胞型數據的定義方法:
1,直接賦值定義法
2,空間定義法
- 2 回答
- 0 關注
- 1758 瀏覽
添加回答
舉報