- 1、本文档共3页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
结构阵列(Structure)与细胞阵列(Cell)
結構陣列(Structure)與細胞陣列(Cell)
每一個結構(Structure)都包含數個欄位(Fields),而每個欄位可包含各個不同型態的資料。例如一個包含學生個人資料的結構,可能含有的欄位是name(學生姓名)、id(學號)、
scores(小考成績)等,或股票某一日的收盤價、成交量等。
第一種建立結構陣列的方法:直接輸入
Ex: student.name = 洪鵬翔;student.id = mr871912;student.scores = [58,75,62];
若要再加入第2位學生,student(2).name = 邱忠仁;
student(2).id = mr872510;
student(2).scores = [25,36,92];
Name Id Scores student(1) 洪鵬翔 mr871912 [58,75,62] student(2) 邱中人 mr872510 [25,36,92] 第二種建立結構陣列的方法:使用內鍵函數 struct
Ex: tsmc2330=struct(‘date’,’2013-10-02’,’close’,103.5,’vol’,14216);
第三種建立多數量結構陣列的方法:在內鍵函數 struct中,使用異質陣列 (Cell Array)
T_student = struct (name, {Frank,Jessi}, scores,... {[50 60 85],[60 70 78]})
巢狀式(Nested):結構陣列的欄位可為另一個結構陣列,產生複雜資料結構
Ex: 加入第二位學生所修的三門課程和學分
student(2).course(1).title = 商用軟體(Matlab);
student(2).course(1).credits = 2;
student(2).course(2).title = 財務管理;
student(2).course(2).credits = 3;
student(2).course(3).title = Excel進階應用
student(2).course(3).credits = 3;
結構陣列的欄位資料呈現如后附圖:
欲取用結構陣列中所有元素內所有欄位的資料,可用struct2cell指令
Ex: values = struct2cell(student),注意,傳回的values 是一個異質陣列(Cell Array)
異質陣列
異質陣列(Cell Array):其作用是可以儲存不同的資料型態於同一個陣列中
異質陣列中的每一個元素,可以看成是一個抽屜或盒子(Cell),用來儲存各種不同型態的MATLAB 資料,例如:已介紹過的字串、矩陣、多維陣列,或是前面介紹的結構陣列等各種型態的資料。
有三種方式來建立異質陣列:Cell Indexing、ContentIndexing、及使用大括號 {} 等方法
Cell Indexing :針對異質陣列中各個構成元素,直接一一加以設定。
Ex: A(1,1) = {This is the first cell.};
A(1,2) = {[5+j*6 , 4+j*5]};
A(2,1) = {[1 2 3; 4 5 6; 7 8 9]};
A(2,2) = {{Tim; Chris}}
Content Indexing:
Ex: A{1,1} = this is the second cell.;
A{1,2} = [7+j*3, 8+j*2];
A{2,1} = [9 8 7; 6 5 4; 3 2 1];
A{2,2} = {Jessie; Frank}
直接使用大括號 {} 將所有元素內容一次設定完成,舉例如下:
C = {James Bond, [1 2;3 4;5 6]; pi, magic(5)}
異質陣列的內容顯示:
cellplot(C):將異質陣列 C 的內部資料型態,以圖形的方式顯示
celldisp(C):F= C{1,2},產生F=[1 2 ; 3 4 ; 5 6]。若要進一步取得F內某元素,如下:
Ex:欲取得(5 6)那一列,G= C{1,2}(3,:)
Ex:同時取得多個元素,E= C{1,2} (2,:)
異質陣列可以取代以逗點分開的變數列,例如:
newF= {[2 6 9], [1 4 8],Jimmy, Annie};
newF{1:2},會指向二元素: [2 4 6];[1 2 3],可將其用於函數的輸入值
應用1:做為函數輸入變數列。Ex:plot(newF{1:2},-o),繪出圖形。
應用
您可能关注的文档
最近下载
- 人教版数学小学五年级下册全册课件(2024年3月修订).pptx
- 2024年湖南铁道职业技术学院单招职业技能测试题库及答案解析.docx VIP
- 2024年湖南铁道职业技术学院单招职业技能测试题库及答案解析.docx VIP
- 2024年湖南铁道职业技术学院单招职业技能测试题库及答案解析 .pdf VIP
- 新人教版五年级下册数学全册PPT课件.pptx
- 皮肤性病科治疗技术操作规范2023版.docx
- 完整word版药物流产知情同意书.doc
- (完整word版)子宫切除手术知情同意书.docx
- 液化气站安全生产风险管控.docx
- 形势与政策 课件 第四讲 提升科技创新能力实现科技自立自强.pptx
文档评论(0)