网站大量收购闲置独家精品文档,联系QQ:2885784924

MATLAB元胞数组详细介绍.doc

  1. 1、本文档共6页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
MATLAB元胞数组[转] 元胞数组: 元胞数组是MATLAB的一种特殊数据类型,可以将元胞数组看做一种无所不包的通用矩阵,或者叫做广义矩阵。组成元胞数组的元素可以是任何一种数据类型的常数或者常量,每一个元素也可以具有不同的尺寸和内存占用空间,每一个元素的内容也可以完全不同,所以元胞数组的元素叫做元胞(cell)。和一般的数值矩阵一样,元胞数组的内存空间也是动态分配的。 (1)元胞数组的创建 a={matlab,20;ones(2,3),1:10} a = matlab [ 20] [2x3 double] [1x10 double] b=[{matlab},{20};{ones(2,3)},{1:10}] b = matlab [ 20] [2x3 double] [1x10 double] c={10} c = [10] c(1,2)={2} c = [10] [2] c(2,2)={5} c = [10] [2] [] [5] isequal(a,b) ans = 1 whos Name Size Bytes Class Attributes a 2x2 388 cell ans 1x1 1 logical b 2x2 388 cell c 2x2 208 cell 用cell函数创建元胞数组,创建的数组为空元胞。cell函数创建空元胞数组的主要目的是为数组预先分配连续的存储空间,节约内存占用,提高执行效率。 a=cell(1) a = {[]} b=cell(1,2) b = [] [] c=cell(3,3) c = [] [] [] [] [] [] [] [] [] d=cell(2,2,2) d(:,:,1) = [] [] [] [] d(:,:,2) = [] [] [] [] whos Name Size Bytes Class Attributes a 1x1 4 cell ans 1x1 1 logical b 1x2 8 cell c 3x3 36 cell d 2x2x2 32 cell (2)元胞数组的数据获得 从元胞数组中读取数据,可保存为一个标准的数组或一个新的单元数组,或取出数组进行计算。元胞数组中数据的访问,可通过元胞内容的下标进行,用元胞数组名加大括号{}。大括号中数值表示元胞的下标。如a{1,2}表示元胞数组中第一行第二列的元胞。 a={20,matlab;ones(2,3),1:3} a = [ 20] matlab [2x3 double] [1x3 double] str=a(1,2) str = matlab class(str) ans = cell str=a{1,2} str = matlab class(str) ans = char ()和{}有着本质的区别,大括号用于表示元胞的内容,小括号表示指定的元胞。 a = [ 20] matlab [2x3 double] [1x3 double] a{2,1}(2,2) ans = 0.9134 a{2,1}(2,3) ans = 0.0975 a{1,2}(2) ans = a 使用元胞的下标,可将一个元胞数组的子集赋值给另一个变量,创建新的元胞数组。 a=[{1},{2},{3};{4},{5},{6};{7},{8},{9}] a = [1] [2] [3] [4] [5] [6] [7] [8] [9] b=a(2:3,2:3) b = [5] [6] [8] [9] c=a(1:3,2:3) c = [2] [3] [5] [6] [8] [9] 本例使用元胞下标的方式创建了新的元胞数组b和c,通过结果看出b和c就是元胞数组a的一部分。 (3)元胞数组的删除和重塑 要删除单元数组中的行或列,可以用冒号表示单元数组中的行或列,然后对其赋一个空矩阵即可。 a={20,matlab;ones(2,3),1:3} a = [ 20] matlab [2x3 double] [1x3 double] a(1,:)=[] a = [2x3 double] [1x3 double] a={20,matlab;ones(2,3),1:3}; a{1}=[] a = [] matlab [2x3 double] [1x3 double] a(1)=[] a = [2x3 double] matlab [1x3 double] a(2)=[] a = [2x3 double] [1x3 double] a(1,2)=[] ??? A null assignment can have only one non-colon index. a

文档评论(0)

ktj823 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档