语法知识
多维数组的创建
创建方法:
1、多维数组的创建可以通过直接赋值来实现。
2、通过矩阵函数实现多维函数。
3、用矩阵复制(repmat函数)生成多维矩阵。
4、用矩阵连接函数cat生成多维矩阵。D=cat(dim,A,B,C)%dim为维数,ABC为矩阵。
多维数组的运算
实战演练
多维数组的创建实例
直接赋值法
>> A(:,:,1)=ones(3)
A =
1 1 1
1 1 1
1 1 1
>> A(:,:,2)=eye(3)
A(:,:,1) =
1 1 1
1 1 1
1 1 1
A(:,:,2) =
1 0 0
0 1 0
0 0 1
>> A(:,:,3)=magic(3)
A(:,:,1) =
1 1 1
1 1 1
1 1 1
A(:,:,2) =
1 0 0
0 1 0
0 0 1
A(:,:,3) =
8 1 6
3 5 7
4 9 2
>> A
A(:,:,1) =
1 1 1
1 1 1
1 1 1
A(:,:,2) =
1 0 0
0 1 0
0 0 1
A(:,:,3) =
8 1 6
3 5 7
4 9 2
通过矩阵函数实现多维函数
>> B=rand(4,4,3)
B(:,:,1) =
0.8147 0.6324 0.9575 0.9572
0.9058 0.0975 0.9649 0.4854
0.1270 0.2785 0.1576 0.8003
0.9134 0.5469 0.9706 0.1419
B(:,:,2) =
0.4218 0.6557 0.6787 0.6555
0.9157 0.0357 0.7577 0.1712
0.7922 0.8491 0.7431 0.7060
0.9595 0.9340 0.3922 0.0318
B(:,:,3) =
0.2769 0.6948 0.4387 0.1869
0.0462 0.3171 0.3816 0.4898
0.0971 0.9502 0.7655 0.4456
0.8235 0.0344 0.7952 0.6463
repmat函数法
>> A=[2,3;4,5]
A =
2 3
4 5
>> B=repmat(A,[3,4,3])
B(:,:,1) =
2 3 2 3 2 3 2 3
4 5 4 5 4 5 4 5
2 3 2 3 2 3 2 3
4 5 4 5 4 5 4 5
2 3 2 3 2 3 2 3
4 5 4 5 4 5 4 5
B(:,:,2) =
2 3 2 3 2 3 2 3
4 5 4 5 4 5 4 5
2 3 2 3 2 3 2 3
4 5 4 5 4 5 4 5
2 3 2 3 2 3 2 3
4 5 4 5 4 5 4 5
B(:,:,3) =
2 3 2 3 2 3 2 3
4 5 4 5 4 5 4 5
2 3 2 3 2 3 2 3
4 5 4 5 4 5 4 5
2 3 2 3 2 3 2 3
4 5 4 5 4 5 4 5
cat函数法
>> A=ones(3)
A =
1 1 1
1 1 1
1 1 1
>> B=eye(3)
B =
1 0 0
0 1 0
0 0 1
>> C=magic(3)
C =
8 1 6
3 5 7
4 9 2
>> D=cat(3,A,B,C)
D(:,:,1) =
1 1 1
1 1 1
1 1 1
D(:,:,2) =
1 0 0
0 1 0
0 0 1
D(:,:,3) =
8 1 6
3 5 7
4 9 2
注意:此处必须要求各矩阵的维数和dim相同!!
多维数组的运算实例
>> D
D(:,:,1) =
1 1 1
1 1 1
1 1 1
D(:,:,2) =
1 0 0
0 1 0
0 0 1
D(:,:,3) =
8 1 6
3 5 7
4 9 2
>> size(D)
ans =
3 3 3
>> sum(D)
ans(:,:,1) =
3 3 3
ans(:,:,2) =
1 1 1
ans(:,:,3) =
15 15 15
总结思考
学习了多维数组的各种创建方式和运算。