资源描述:
《multidimensional arrays》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、MultidimensionalArrayshttp://tieba.baidu.com/p/1948172551多维数组在此页…概述创建多维数组访问多维数组属性创建多维数组索引重塑多维数组置换阵列维度计算多维数组组织数据在多维数组多维单元阵列多维阵列结构概述MATLAB应用程序中的有两个以上维度的数组称为多维数组。在MATLAB中的多维数组是正常的两维矩阵的扩展。矩阵有两个方面:行维度和列维度。您可以访问一个两维的矩阵元素的两个下标:第一代表的行索引,和第二表示的列的索引使用附加的多维数组的下标索引。例如,一个三维数组,采用三标:·首次引用数组的1维,行。·第二参考2维,列。·第三引用3
2、维。此图例中使用的页的概念来表示维度3和更高。要访问的第二行,第三列第2页中的元素,例如,您可以使用下标(2,3,2)。当您添加到一个数组的维度,同时也增加了下标。四维数组,例如,有4个下标。第一两个参考行-列对;访问的数据的第三和第四维度的第二,二个。矩阵(即二维数组)的操作,您也可以做多维数组。注意:一般的多维数组函数在datatypes目录中创建多维数组您可以使用相同的技术来创建多维数组,使用二维矩阵。此外,MATLAB提供了一个特殊的串联功能,用于建立多维数组。本节讨论使用索引生成数组扩展多维数组使用MATLAB函数生成数组构建多维数组的cat函数使用索引生成数组创建一个多维数组的
3、方法之一是创建一个二维数组,并扩展它。例如,用一个简单的两维阵列A开始A=[578;019;436];A是一个3×3的阵列,即,它的行维度是3和其列维度是3。要为A添加第三个层面,A(:,:,2)=[104;356;987]MATLAB响应A(:,:,1)=578019436A(:,:,2)=104356987您可以继续添加行,列或页面使用类似的赋值语句的阵列。扩展多维数组在任何维度扩展A:·递增或添加相应的下标,并指定所需的值。·分配相同数量的元素,以对应阵列维度。对于数字阵列,所有的行必须具有相同数量的元素,所有的页面必须有相同数量的行和列,并依此类推。您可以利用MATLAB标量的扩展
4、能力,加上冒号运算符,填满整个维度的单个值:A(:,:,3)=5;A(:,:,3)ans=555555555若要打开A分成3-3-3-2,四维阵列中,输入A(:,:,1,2)=[123;456;789];A(:,:,2,2)=[987;654;321];A(:,:,3,2)=[101;110;011];请注意,MATLAB后A先分配2元素与零填充,根据需要,以保持相应的规模的维度。使用MATLAB函数生成数组您可以使用MATLAB函数,如randn,ones,和zeros产生的相同的方式使用二维数组中的多维数组。您提供的每个参数在数组中相应的维度的规模。例如,为了创建一个4-3-2的正态分
5、布的随机数的数组:B=randn(4,3,2)要生成一个常量的值填充的数组,使用repmat函数.repmat复制的阵列(在这种情况下,一个1-1阵列)通过阵列维度的矢量。B=repmat(5,[342])B(:,:,1)=555555555555B(:,:,2)=555555555555注意:任何一个数组的维度可以有大小为零,因此它的空数组的形式。例如,10-0-20是一个有效的多维数组的大小。构建多维数组的cat函数cat函数是一个简单的方式来建立多维数组,它连接沿指定维的数组列表:B=cat(dim,A1,A2...)其中A1,A2,等的阵列连接起来,dim是沿着它的维度来连接阵列。
6、例如,要创建一个新的数组用cat:B=cat(3,[28;05],[13;79])B(:,:,1)=2805B(:,:,2)=1379cat函数接受任何现有的和新的数据相结合。此外,您可以嵌套调用cat.下面的行,例如,创建一个四维阵列A=cat(3,[92;65],[71;84])B=cat(3,[35;01],[56;21])D=cat(4,A,B,cat(3,[12;34],[43;21]))cat自动添加下标1之间的维度,如果必要的话。例如,要创建2-2-1-2阵列,输入C=cat(4,[12;45],[78;32])在上述情况下,cat插入尽可能多的单例需要创建一个四维数组的最后
7、一维是不是一个单维的尺寸。如果dim参数为5,前面的语句会产生2-2-1-1-2的数组。这增加了额外的1个的数组索引表达式。在四维的情况下要访问值8,使用访问多维数组属性您可以使用下面的MATLAB函数来获得您所创建的多维数组的信息·size—返回数组的每一维的规模。·size(C)·ans=·2212·rowscolumnsdim3dim4·ndims—返回在数组中的维数。·ndims(C)·ans=·4·whos—提