matlab單元陣列 結構陣列學習記錄

2021-09-19 03:53:14 字數 1370 閱讀 4553

結構陣列

應該是上週總結的,忘了 = =

單元陣列(cell array)即每個元素為乙個單元的陣列。每個單元可以包含任意資料型別的陣列。例如,單元陣列的乙個單元可以是乙個實數矩陣,或是乙個字串陣列,也可以是乙個復向量陣列。

用類似矩陣的記號將複雜的資料結構納入乙個變數之下。和矩陣中的圓括號表示下標類似,單元陣列由大括號表示下標。因此,根據單元標誌的位置,可分為左標誌法和右標誌法。

左標誌法:將單元標誌{}放在左邊,例如:

c = 'abc';

c = eye(2);

c = [1 2; 3 4];

c = [1 2];

右標誌法:將單元標誌{}放在右邊,例如:

c(1, 1) = ;

c(1, 2) = ;

c(2, 1) = ;

c(2, 2) = ;

以上單元陣列也可由下面的方法直接得到:

c = ;
cell(n)生成乙個n * n階的置空單元陣列;cell(m, n)或cell([m, n])生成乙個m * n階的置空單元陣列;cell(m, n, p, …)或cell([m, n, p, …])生成乙個m * n *p …階的置空單元陣列;cell(size(a))生成與a同形式的單元型置空矩陣。

要顯示單元陣列,可以直接鍵入其名,亦可通過函式celldisp(c )來輸出,celldisp(c )更適用於具有大量資料的單元陣列的顯示;若要得到單元陣列中某乙個單元的值,可通過c(m, n)或c的格式輸出,但這兩者得到的結果表示形式不同,c和celldisp(c )顯示的結果形式相同。

結構陣列(struct array)是根據屬性名組織起來的不同型別資料的集合。

結構陣列和單元陣列共同之處在於它們都提供了一種分級儲存機制來儲存不同型別的資料,不同之處是組織資料的方式不一樣。

對於單元陣列,資料是通過下標來引用的;對於結構陣列,資料是通過屬性名來引用的。

採用直接輸入法時,在給結構陣列成員元素直接賦值的同時定義該元素的名稱,並使用點(.)將結構陣列名和成員元素名相連。例如:

student.test = [99 56 96 87 67 69];

student.name = 'lily';

student.weight = 42;

student.height = 1.62;

student.num = 034093;

student.tel = '13812345678';

struct_array = struct(『field1』, v1, 『field2』, v2, …),其中field為各成員變數名,v為對應的各成員變數的內容,並且必須配對出現。

Matlab基礎之單元陣列和結構陣列

前言 單元陣列和結構陣列是一種新的資料型別,能將不同型別 不同維數的陣列組合在一起,從而方便對不同的資料型別方便管理和維護。如上圖所示的2 2矩陣中,分別儲存著四種不同的資料型別,分別為陣列 字串 空矩陣 複數矩陣。在單元陣列中,通過單元陣列的名字是不能訪問相應的元素,只能訪問對應的索引號,因為單元...

MATLAB函式控制代碼 單元陣列和結構

函式控制代碼 單元陣列和結構 函式控制代碼 包含有引用函式時所有的資訊,優點 將函式控制代碼作為呼叫中的參量傳遞到另乙個函式 可以儲存到資料結構或檔案中 函式控制代碼運算子 有兩種函式控制代碼 1 命名函式控制代碼 建立例如 f sin 呼叫例如 f pi 4 或者 sin pi 4 2 匿名函式控...

Matlab學習3 單元陣列與結構體

一,單元陣列 clear a 保證賦值的單元陣列名稱不重名 按單元索引法賦值 a 1,1 a 1,2 a 2,1 a 2,2 aa 3x3double 3.0000 5.0000i tsinghua in beijing 1x6 double 按內容索引法賦值 b 1 2 3 4 5 6 7 8 9...