1.
一个三维数组由行、
列和页三维组成,
其中每一页包含一个由行和列构成的二
维数组。
2.
利用标准数组函数创建多维数组
A=zeros(4,3,2)
生成一个
4
行
3
列
2
页的三维全
0
数组,
ones
,
rand
和
randn
等函数有相似的用法。
3.
利用直接索引方式生成多维数组
A=zeros(2,3)
A(:,:,2)=ones(2,3)
A(:,:,3)=4
上面的代码先生成一个二维数组作为三维数组的第一页,然后通过数组直接索
引,添加第二页、第三页。
4.
利用函数
reshape
和
repmat
生成多维数组
B=reshape(A,2,9)
B=[A(:,:,1) A(:,:,2) A(:,:,3)] %
结果与上面一样。
reshape(B,2,3,3)
reshape(B,[2 3 3]) %
结果与上面一样。
提示:
reshape
函数可以将任何维数的数组转变成其他维数的数组。
5.
利用
repmat
函数生成多维数组
C=ones(2,3)
repmat(C,[1
1
3])
%
repmat
写出类似
reshape
的
repmat(C,1,1,3)
将显示出错
提示:
repmat
是通过数组复制创建多维数组的,上面的代码即是将数组
C
在行
维和列维分别复制一次,然后再页维复制三次得到
2
×
3
×
3
的三维数组。
6.
利用
cat
函数创建多维数组
a=zeros(2);
b=ones(2);
c=repmat(2,2,2);
D=cat(3,a,b,c)%
创建三维数组
D=cat(4,a,b,c) %
创建
4
维数组。
D(:,1,:,:) %
查看第一列的数据。
size(D) %
可以知道数组
D
的具体维数。
6.
数组运算与处理
数组之间的运算要求两个数组在任何一维都必须具有相同的大小。
(
1
)
squeeze
函数用于删除多维数组中的单一维(即大小为
1
的那些维)
E=squeeze(D)
size(D) E
的数据和
D
一样,但比
D
少了一维,只有
2
行、
2
列和
3
页。
(
2
)
reshape
函数可以将一个三维向量变成一维向量。
v(1,1,:)=1:6
squeeze(v)
v(:)
(
3
)
reshape
函数用于改变多维数组的行、列、页以及更高阶的维数,但不改
变数组元素的总个数。
F=cat(3,2+zeros(2,4),ones(2,4),zeros(2,4))
G=reshape(F,[3,2,4])
H=reshape(F,[4 3 2])
或
K=reshape(F,2,12)
1.
一个三维数组由行、
列和页三维组成,
其中每一页包含一个由行和列构成的二
维数组。
2.
利用标准数组函数创建多维数组
A=zeros(4,3,2)
生成一个
4
行
3
列
2
页的三维全
0
数组,
ones
,
rand
和
randn
等函数有相似的用法。
3.
利用直接索引方式生成多维数组
A=zeros(2,3)
A(:,:,2)=ones(2,3)
A(:,:,3)=4
上面的代码先生成一个二维数组作为三维数组的第一页,然后通过数组直接索
引,添加第二页、第三页。
4.
利用函数
reshape
和
repmat
生成多维数组
B=reshape(A,2,9)
B=[A(:,:,1) A(:,:,2) A(:,:,3)] %
结果与上面一样。
reshape(B,2,3,3)
reshape(B,[2 3 3]) %
结果与上面一样。
提示:
reshape
函数可以将任何维数的数组转变成其他维数的数组。
5.
利用
repmat
函数生成多维数组
C=ones(2,3)
repmat(C,[1
1
3])
%
repmat
写出类似
reshape
的
repmat(C,1,1,3)
将显示出错
提示:
repmat
是通过数组复制创建多维数组的,上面的代码即是将数组
C
在行
维和列维分别复制一次,然后再页维复制三次得到
2
×
3
×
3
的三维数组。
6.
利用
cat
函数创建多维数组
a=zeros(2);
b=ones(2);
c=repmat(2,2,2);
D=cat(3,a,b,c)%
创建三维数组
D=cat(4,a,b,c) %
创建
4
维数组。
D(:,1,:,:) %
查看第一列的数据。
size(D) %
可以知道数组
D
的具体维数。
6.
数组运算与处理
数组之间的运算要求两个数组在任何一维都必须具有相同的大小。
(
1
)
squeeze
函数用于删除多维数组中的单一维(即大小为
1
的那些维)
E=squeeze(D)
size(D) E
的数据和
D
一样,但比
D
少了一维,只有
2
行、
2
列和
3
页。
(
2
)
reshape
函数可以将一个三维向量变成一维向量。
v(1,1,:)=1:6
squeeze(v)
v(:)
(
3
)
reshape
函数用于改变多维数组的行、列、页以及更高阶的维数,但不改
变数组元素的总个数。
F=cat(3,2+zeros(2,4),ones(2,4),zeros(2,4))
G=reshape(F,[3,2,4])
H=reshape(F,[4 3 2])
或
K=reshape(F,2,12)
1.
一个三维数组由行、
列和页三维组成,
其中每一页包含一个由行和列构成的二
维数组。
2.
利用标准数组函数创建多维数组
A=zeros(4,3,2)
生成一个
4
行
3
列
2
页的三维全
0
数组,
ones
,
rand
和
randn
等函数有相似的用法。
3.
利用直接索引方式生成多维数组
A=zeros(2,3)
A(:,:,2)=ones(2,3)
A(:,:,3)=4
上面的代码先生成一个二维数组作为三维数组的第一页,然后通过数组直接索
引,添加第二页、第三页。
4.
利用函数
reshape
和
repmat
生成多维数组
B=reshape(A,2,9)
B=[A(:,:,1) A(:,:,2) A(:,:,3)] %
结果与上面一样。
reshape(B,2,3,3)
reshape(B,[2 3 3]) %
结果与上面一样。
提示:
reshape
函数可以将任何维数的数组转变成其他维数的数组。
5.
利用
repmat
函数生成多维数组
C=ones(2,3)
repmat(C,[1
1
3])
%
repmat
写出类似
reshape
的
repmat(C,1,1,3)
将显示出错
提示:
repmat
是通过数组复制创建多维数组的,上面的代码即是将数组
C
在行
维和列维分别复制一次,然后再页维复制三次得到
2
×
3
×
3
的三维数组。
6.
利用
cat
函数创建多维数组
a=zeros(2);
b=ones(2);
c=repmat(2,2,2);
D=cat(3,a,b,c)%
创建三维数组
D=cat(4,a,b,c) %
创建
4
维数组。
D(:,1,:,:) %
查看第一列的数据。
size(D) %
可以知道数组
D
的具体维数。
6.
数组运算与处理
数组之间的运算要求两个数组在任何一维都必须具有相同的大小。
(
1
)
squeeze
函数用于删除多维数组中的单一维(即大小为
1
的那些维)
E=squeeze(D)
size(D) E
的数据和
D
一样,但比
D
少了一维,只有
2
行、
2
列和
3
页。
(
2
)
reshape
函数可以将一个三维向量变成一维向量。
v(1,1,:)=1:6
squeeze(v)
v(:)
(
3
)
reshape
函数用于改变多维数组的行、列、页以及更高阶的维数,但不改
变数组元素的总个数。
F=cat(3,2+zeros(2,4),ones(2,4),zeros(2,4))
G=reshape(F,[3,2,4])
H=reshape(F,[4 3 2])
或
K=reshape(F,2,12)
1.
一个三维数组由行、
列和页三维组成,
其中每一页包含一个由行和列构成的二
维数组。
2.
利用标准数组函数创建多维数组
A=zeros(4,3,2)
生成一个
4
行
3
列
2
页的三维全
0
数组,
ones
,
rand
和
randn
等函数有相似的用法。
3.
利用直接索引方式生成多维数组
A=zeros(2,3)
A(:,:,2)=ones(2,3)
A(:,:,3)=4
上面的代码先生成一个二维数组作为三维数组的第一页,然后通过数组直接索
引,添加第二页、第三页。
4.
利用函数
reshape
和
repmat
生成多维数组
B=reshape(A,2,9)
B=[A(:,:,1) A(:,:,2) A(:,:,3)] %
结果与上面一样。
reshape(B,2,3,3)
reshape(B,[2 3 3]) %
结果与上面一样。
提示:
reshape
函数可以将任何维数的数组转变成其他维数的数组。
5.
利用
repmat
函数生成多维数组
C=ones(2,3)
repmat(C,[1
1
3])
%
repmat
写出类似
reshape
的
repmat(C,1,1,3)
将显示出错
提示:
repmat
是通过数组复制创建多维数组的,上面的代码即是将数组
C
在行
维和列维分别复制一次,然后再页维复制三次得到
2
×
3
×
3
的三维数组。
6.
利用
cat
函数创建多维数组
a=zeros(2);
b=ones(2);
c=repmat(2,2,2);
D=cat(3,a,b,c)%
创建三维数组
D=cat(4,a,b,c) %
创建
4
维数组。
D(:,1,:,:) %
查看第一列的数据。
size(D) %
可以知道数组
D
的具体维数。
6.
数组运算与处理
数组之间的运算要求两个数组在任何一维都必须具有相同的大小。
(
1
)
squeeze
函数用于删除多维数组中的单一维(即大小为
1
的那些维)
E=squeeze(D)
size(D) E
的数据和
D
一样,但比
D
少了一维,只有
2
行、
2
列和
3
页。
(
2
)
reshape
函数可以将一个三维向量变成一维向量。
v(1,1,:)=1:6
squeeze(v)
v(:)
(
3
)
reshape
函数用于改变多维数组的行、列、页以及更高阶的维数,但不改
变数组元素的总个数。
F=cat(3,2+zeros(2,4),ones(2,4),zeros(2,4))
G=reshape(F,[3,2,4])
H=reshape(F,[4 3 2])
或
K=reshape(F,2,12)
1.
一个三维数组由行、
列和页三维组成,
其中每一页包含一个由行和列构成的二
维数组。
2.
利用标准数组函数创建多维数组
A=zeros(4,3,2)
生成一个
4
行
3
列
2
页的三维全
0
数组,
ones
,
rand
和
randn
等函数有相似的用法。
3.
利用直接索引方式生成多维数组
A=zeros(2,3)
A(:,:,2)=ones(2,3)
A(:,:,3)=4
上面的代码先生成一个二维数组作为三维数组的第一页,然后通过数组直接索
引,添加第二页、第三页。
4.
利用函数
reshape
和
repmat
生成多维数组
B=reshape(A,2,9)
B=[A(:,:,1) A(:,:,2) A(:,:,3)] %
结果与上面一样。
reshape(B,2,3,3)
reshape(B,[2 3 3]) %
结果与上面一样。
提示:
reshape
函数可以将任何维数的数组转变成其他维数的数组。
5.
利用
repmat
函数生成多维数组
C=ones(2,3)
repmat(C,[1
1
3])
%
repmat
写出类似
reshape
的
repmat(C,1,1,3)
将显示出错
提示:
repmat
是通过数组复制创建多维数组的,上面的代码即是将数组
C
在行
维和列维分别复制一次,然后再页维复制三次得到
2
×
3
×
3
的三维数组。
6.
利用
cat
函数创建多维数组
a=zeros(2);
b=ones(2);
c=repmat(2,2,2);
D=cat(3,a,b,c)%
创建三维数组
D=cat(4,a,b,c) %
创建
4
维数组。
D(:,1,:,:) %
查看第一列的数据。
size(D) %
可以知道数组
D
的具体维数。
6.
数组运算与处理
数组之间的运算要求两个数组在任何一维都必须具有相同的大小。
(
1
)
squeeze
函数用于删除多维数组中的单一维(即大小为
1
的那些维)
E=squeeze(D)
size(D) E
的数据和
D
一样,但比
D
少了一维,只有
2
行、
2
列和
3
页。
(
2
)
reshape
函数可以将一个三维向量变成一维向量。
v(1,1,:)=1:6
squeeze(v)
v(:)
(
3
)
reshape
函数用于改变多维数组的行、列、页以及更高阶的维数,但不改
变数组元素的总个数。
F=cat(3,2+zeros(2,4),ones(2,4),zeros(2,4))
G=reshape(F,[3,2,4])
H=reshape(F,[4 3 2])
或
1.
一个三维数组由行、
列和页三维组成,
其中每一页包含一个由行和列构成的二
维数组。
2.
利用标准数组函数创建多维数组
A=zeros(4,3,2)
生成一个
4
行
3
列
2
页的三维全
0
数组,
ones
,
rand
和
randn
等函数有相似的用法。
3.
利用直接索引方式生成多维数组
A=zeros(2,3)
A(:,:,2)=ones(2,3)
A(:,:,3)=4
上面的代码先生成一个二维数组作为三维数组的第一页,然后通过数组直接索
引,添加第二页、第三页。
4.
利用函数
reshape
和
repmat
生成多维数组
B=reshape(A,2,9)
B=[A(:,:,1) A(:,:,2) A(:,:,3)] %
结果与上面一样。
reshape(B,2,3,3)
reshape(B,[2 3 3]) %
结果与上面一样。
提示:
reshape
函数可以将任何维数的数组转变成其他维数的数组。
5.
利用
repmat
函数生成多维数组
C=ones(2,3)
repmat(C,[1
1
3])
%
repmat
写出类似
reshape
的
repmat(C,1,1,3)
将显示出错
提示:
repmat
是通过数组复制创建多维数组的,上面的代码即是将数组
C
在行
维和列维分别复制一次,然后再页维复制三次得到
2
×
3
×
3
的三维数组。
6.
利用
cat
函数创建多维数组
a=zeros(2);
b=ones(2);
c=repmat(2,2,2);
D=cat(3,a,b,c)%
创建三维数组
D=cat(4,a,b,c) %
创建
4
维数组。
D(:,1,:,:) %
查看第一列的数据。
size(D) %
可以知道数组
D
的具体维数。
6.
数组运算与处理
数组之间的运算要求两个数组在任何一维都必须具有相同的大小。
(
1
)
squeeze
函数用于删除多维数组中的单一维(即大小为
1
的那些维)
E=squeeze(D)
size(D) E
的数据和
D
一样,但比
D
少了一维,只有
2
行、
2
列和
3
页。
(
2
)
reshape
函数可以将一个三维向量变成一维向量。
v(1,1,:)=1:6
squeeze(v)
v(:)
(
3
)
reshape
函数用于改变多维数组的行、列、页以及更高阶的维数,但不改
变数组元素的总个数。
F=cat(3,2+zeros(2,4),ones(2,4),zeros(2,4))
G=reshape(F,[3,2,4])
H=reshape(F,[4 3 2])
或
K=reshape(F,2,12)
1.
一个三维数组由行、
列和页三维组成,
其中每一页包含一个由行和列构成的二
维数组。
2.
利用标准数组函数创建多维数组
A=zeros(4,3,2)
生成一个
4
行
3
列
2
页的三维全
0
数组,
ones
,
rand
和
randn
等函数有相似的用法。
3.
利用直接索引方式生成多维数组
A=zeros(2,3)
A(:,:,2)=ones(2,3)
A(:,:,3)=4
上面的代码先生成一个二维数组作为三维数组的第一页,然后通过数组直接索
引,添加第二页、第三页。
4.
利用函数
reshape
和
repmat
生成多维数组
B=reshape(A,2,9)
B=[A(:,:,1) A(:,:,2) A(:,:,3)] %
结果与上面一样。
reshape(B,2,3,3)
reshape(B,[2 3 3]) %
结果与上面一样。
提示:
reshape
函数可以将任何维数的数组转变成其他维数的数组。
5.
利用
repmat
函数生成多维数组
C=ones(2,3)
repmat(C,[1
1
3])
%
repmat
写出类似
reshape
的
repmat(C,1,1,3)
将显示出错
提示:
repmat
是通过数组复制创建多维数组的,上面的代码即是将数组
C
在行
维和列维分别复制一次,然后再页维复制三次得到
2
×
3
×
3
的三维数组。
6.
利用
cat
函数创建多维数组
a=zeros(2);
b=ones(2);
c=repmat(2,2,2);
D=cat(3,a,b,c)%
创建三维数组
D=cat(4,a,b,c) %
创建
4
维数组。
D(:,1,:,:) %
查看第一列的数据。
size(D) %
可以知道数组
D
的具体维数。
6.
数组运算与处理
数组之间的运算要求两个数组在任何一维都必须具有相同的大小。
(
1
)
squeeze
函数用于删除多维数组中的单一维(即大小为
1
的那些维)
E=squeeze(D)
size(D) E
的数据和
D
一样,但比
D
少了一维,只有
2
行、
2
列和
3
页。
(
2
)
reshape
函数可以将一个三维向量变成一维向量。
v(1,1,:)=1:6
squeeze(v)
v(:)
(
3
)
reshape
函数用于改变多维数组的行、列、页以及更高阶的维数,但不改
变数组元素的总个数。
F=cat(3,2+zeros(2,4),ones(2,4),zeros(2,4))
G=reshape(F,[3,2,4])
H=reshape(F,[4 3 2])
或
K=reshape(F,2,12)
1.
一个三维数组由行、
列和页三维组成,
其中每一页包含一个由行和列构成的二
维数组。
2.
利用标准数组函数创建多维数组
A=zeros(4,3,2)
生成一个
4
行
3
列
2
页的三维全
0
数组,
ones
,
rand
和
randn
等函数有相似的用法。
3.
利用直接索引方式生成多维数组
A=zeros(2,3)
A(:,:,2)=ones(2,3)
A(:,:,3)=4
上面的代码先生成一个二维数组作为三维数组的第一页,然后通过数组直接索
引,添加第二页、第三页。
4.
利用函数
reshape
和
repmat
生成多维数组
B=reshape(A,2,9)
B=[A(:,:,1) A(:,:,2) A(:,:,3)] %
结果与上面一样。
reshape(B,2,3,3)
reshape(B,[2 3 3]) %
结果与上面一样。
提示:
reshape
函数可以将任何维数的数组转变成其他维数的数组。
5.
利用
repmat
函数生成多维数组
C=ones(2,3)
repmat(C,[1
1
3])
%
repmat
写出类似
reshape
的
repmat(C,1,1,3)
将显示出错
提示:
repmat
是通过数组复制创建多维数组的,上面的代码即是将数组
C
在行
维和列维分别复制一次,然后再页维复制三次得到
2
×
3
×
3
的三维数组。
6.
利用
cat
函数创建多维数组
a=zeros(2);
b=ones(2);
c=repmat(2,2,2);
D=cat(3,a,b,c)%
创建三维数组
D=cat(4,a,b,c) %
创建
4
维数组。
D(:,1,:,:) %
查看第一列的数据。
size(D) %
可以知道数组
D
的具体维数。
6.
数组运算与处理
数组之间的运算要求两个数组在任何一维都必须具有相同的大小。
(
1
)
squeeze
函数用于删除多维数组中的单一维(即大小为
1
的那些维)
E=squeeze(D)
size(D) E
的数据和
D
一样,但比
D
少了一维,只有
2
行、
2
列和
3
页。
(
2
)
reshape
函数可以将一个三维向量变成一维向量。
v(1,1,:)=1:6
squeeze(v)
v(:)
(
3
)
reshape
函数用于改变多维数组的行、列、页以及更高阶的维数,但不改
变数组元素的总个数。
F=cat(3,2+zeros(2,4),ones(2,4),zeros(2,4))
G=reshape(F,[3,2,4])
H=reshape(F,[4 3 2])
或
K=reshape(F,2,12)
1.一个三维数组由行、列和页三维组成,其中每一页包含一个由行和列构成的二维数组。 2.利用标准数组函数创建多维数组 A=zeros(4,3,2) 生成一个4行3列2页的三维全0数组,ones,rand和randn等函数有相似的用法。 3.利用直接索引方式生成多维数组 A=zeros(2,3) A(:,:,2)=ones(2,3) A(:,:,3)=4 上面的代码先生成一个二维数组作为三维数组的第一页,然后通过数组直接索引,添加第二页、第三页。 4.利用函数reshape和repmat生成多维数组 B=reshape(A,2,9) B=[A(:,:,1) A(:,:,2) A(:,:,3)] %结果与上面一样。 reshape(B,2,3,3) reshape(B,[2 3 3]) %结果与上面一样。 提示:reshape函数可以将任何维数的数组转变成其他维数的数组。 5.利用repmat函数生成多维数组 C=ones(2,3) repmat(C,[1 1 3]) % repmat写出类似reshape的repmat(C,1,1,3)将显示出错 提示:repmat是通过数组复制创建多维数组的,上面的代码即是将数组C在行维和列维分别复制一次,然后再页维复制三次得到2×3×3的三维数组。 6.利用cat函数创建多维数组 a=zeros(2); b=ones(2); c=repmat(2,2,2); D=cat(3,a,b,c)%创建三维数组 D=cat(4,a,b,c) %创建4维数组。 D(:,1,:,:) %查看第一列的数据。 size(D) %可以知道数组D的具体维数。 6.数组运算与处理 数组之间的运算要求两个数组在任何一维都必须具有相同的大小。 (1)squeeze函数用于删除多维数组中的单一维(即大小为1的那些维) E=squeeze(D) size(D) E的数据和D一样,但比D少了一维,只有2行、2列和3页。 (2)reshape函数可以将一个三维向量变成一维向量。 v(1,1,:)=1:6 squeeze(v) v(:) (3)reshape函数用于改变多维数组的行、列、页以及更高阶的维数,但不改变数组元素的总个数。 F=cat(3,2+zeros(2,4),ones(2,4),zeros(2,4)) G=reshape(F,[3,2,4]) H=reshape(F,[4 3 2]) 或K=reshape(F,2,12)
多维数组的重组按这样的顺序:第一页的第一列、第二列……,第二页的第一列、第二列……。 7.sub2ind函数和ind2sub函数用于多维数组的直接引用,索引顺序与重组顺序一致。 sub2ind(size(F),1,1,1) %求第1行、第1列、第1页的数值的单一索引 sub2ind(size(F),1,2,1) %求第1行、第2列、第1页的数值的单一索引 sub2ind(size(F),1,2,3) %求第1行、第2列、第3页的数值的单一索引 [r c p]=ind2sub(size(F),19) %由单一索引求其对应的行列页数值。 8.函数flipdim用于多维数组的翻转,相当于二维数组中的flipud和fliplr函数。例如下面的代码进行按行、列和按页翻转。 M=reshape(1:18,2,3,3) flipdim(M,1) %每一页中的行翻转 flipdim(M,2) %每一页中的列翻转 flipdim(M,3) %将第一和第三页翻转调换 9.函数shiftdim用于循环轮换一个数组的维数。如果一个数组r行、c列和p页,则循环轮换一次,就生成一个c行、p列和r页的数组。 M %重新调用 shiftdim(M,1) %轮换一次 shiftdim(M,2) %轮换两次 数组轮换后规律很难直观理解,我们可以将三维数组看成一个类似魔方的方形盒子 函数shiftdim也支持负的循环轮换次数。执行该轮换时,数组的维数增加,并且多出的维数均为单一维。 M %重新调用 size(M) shiftdim(M,-1) size(ans). 10.函数permute和ipermute用于实现多维条件下的转置操作。从本质上讲permute函数是shiftdimhas函数的扩展。 M %重新调用 permute(M,[2 3 1]) shiftdim(M,1) %两者结果一样 permute函数中的参数[2 3 1]表示使函数第二维成为第一维,第三维成为第二维,第一维成为第三维。 11. permute(M,[2 1 3]) [2 1 3]表示将数组的行列相互转置,页保持不变(只在第一和第二维转置)。 permute函数的第一个参数为待转置的数组,第二个参数为转置顺序,它必须是待转置的多维数组的维数的某种排列,否则所进行的转置无法进行。 permute函数也可以用来将一个数组变成更高维的数组,例如shiftdim(M,-1)也可以用permute函数来实现。 permute(M,[4 1 2 3]) 这是 因为任何一个数组都具有大于其本身尺寸的更高维数,并且这些维数均为单一维数。例如二维数组具有页这一维,只是只有一页。总之超过数组本身大小
的维数都是单一维。M是一个三维数组,其第四维必为单一维,因此将M的第四维与第一维转置,第一维变成了单一维。 12.二维数组两次转置变换回原来的形式,对于多维数组,用函数ipermute来取消permute所执行的转置操作。 M %重新调用 permute(M,[3 2 1]) ipermute(M,[3 2 1]) %在我的Matlab上运行没有达到预期效果 13.size函数返回数组每一维的大小 numel函数返回数组的总元素个数 当不指定size的返回值时,将返回一个由数组的各维数组成的向量。当我们知道数组的维数时,可以将维数返回到指定变量中。 [r c p]=size(M) r=size(M,1) c=size(M,2) p=size(M,3) v=size(M,4) 当一个数组的维数或者某数组维数不确定时,可以利用函数ndims获得数组的维数值。例如:ndims(M),与length(size(M))等效。 多维数组常用函数: 函数 描述 ones(r,c,…),zeros(r,c,…) rand(r,c,…),randn(r,c,…) 创建多维数组的基本函数,分别创建全1、全0.随机(0-1之间)和随机正态分布的多维数
组。 reshape(B,2,3,3) reshape(B,[2 3 3]) 将一个数组变形成任意维数的数组 repmat(C,[1 1 3]) 将一个数组复制成一个任意维数的数组 cat(3,a,b,c) 沿着一个指定的维将数组连接起来 squeeze(D) 删除大小等于1的维,即单一维。 sub2ind(size(F),1,1,1) [r,c,p]=ind2sub(size(F),19) 将下标转化为单一索引值 将单一索引值转化成下标 flipdim(M,1) 沿着一个指定的维轮换顺序。等效于二维数组
中的flippud和fliplr函数 shiftdim(M,2) 循环轮换。第二个参数为正的情况下,进行各
维的循环轮换;若为负数,将数组的维数增加。 permute(M,[2 1 3]) iprmute(M,[2 1 3]) 多维数组的转置操作,前者为转置操作,后者为取消转置操作。 size(M) [r,c,p]=size(M) 返回各维的大小 r=size(M,1) 返回行数 c=size(M,2) 返回列数 p=size(M,3) 返回页数 ndims(M) 获取数组的维数 numel(M) 获取数组的元素总个数