书籍:Matlab实用教程
工具:Matlab2021a
电脑信息:Intel® Xeon® CPU E5-2603 v3 @ 1.60GHz
系统类型:64位操作系统,基于X64的处理器 windows10 专业版
第2章 MATLAB数值计算
2.2.5 多维数组
a(:,:,2)=[1 2;3 4]
a =
ans(:,:,1) =
0 0
0 0
ans(:,:,2) =
1 2
3 4
b=[1 1;2 2]
b =
1 1
2 2
b(:,:,1)
ans =
1 1
2 2
b(:,:,2)=5
b =
ans(:,:,1) =
1 1
2 2
ans(:,:,2) =
5 5
5 5
rand(2,4,3)
ans =
ans(:,:,1) =
0.7545 0.9408 0.3400 0.5408
0.9729 0.1218 0.5788 0.8096
ans(:,:,2) =
0.815615 0.130754 0.712230 0.506144
0.671953 0.626479 0.351647 0.050380
ans(:,:,3) =
0.846819 0.642756 0.888265 0.035262
0.926687 0.579137 0.695622 0.339919
ones(2,4,3)
ans =
ans(:,:,1) =
1 1 1 1
1 1 1 1
ans(:,:,2) =
1 1 1 1
1 1 1 1
ans(:,:,3) =
1 1 1 1
1 1 1 1
a=[1 2;3 4]
b=[1 1;2 2]
c=cat(2,a,b)
d=cat(3,a,b)
e=repmat(a,[2 2 2])
f=reshape(c,[2 2 2])
a =
1 2
3 4
b =
1 1
2 2
c =
1 2 1 1
3 4 2 2
d =
ans(:,:,1) =
1 2
3 4
ans(:,:,2) =
1 1
2 2
e =
ans(:,:,1) =
1 2 1 2
3 4 3 4
1 2 1 2
3 4 3 4
ans(:,:,2) =
1 2 1 2
3 4 3 4
1 2 1 2
3 4 3 4
f =
ans(:,:,1) =
1 2
3 4
ans(:,:,2) =
1 1
2 2
a=[1 2;3 4;5 6]
ndims(a)
size(a)
size(a,2)
length(a)
a =
1 2
3 4
5 6
ans = 2
ans =
3 2
ans = 2
ans = 3
2.3 稀疏矩阵
a=eye(3)
a(4,:)=[-5 - -3]
b=sparse(a)
c=sparse([1 4 2 4 3 4],[1 1 2 2 3 3],[1 -5 1 -2 1 -3])
full(b)
a =
Diagonal Matrix
1 0 0
0 1 0
0 0 1
a =
1 0 0
0 1 0
0 0 1
-2 -2 -2
b =
Compressed Column Sparse (rows = 4, cols = 3, nnz = 6 [50%])
(1, 1) -> 1
(4, 1) -> -2
(2, 2) -> 1
(4, 2) -> -2
(3, 3) -> 1
(4, 3) -> -2
c =
Compressed Column Sparse (rows = 4, cols = 3, nnz = 6 [50%])
(1, 1) -> 1
(4, 1) -> -5
(2, 2) -> 1
(4, 2) -> -2
(3, 3) -> 1
(4, 3) -> -3
ans =
1 0 0
0 1 0
0 0 1
-2 -2 -2
D=[3 2 9;2 4 9;1 1 4]
d=[0 1 2]
s=spdiags(D,d,4,3)
full(s)
D =
3 2 9
2 4 9
1 1 4
d =
0 1 2
s =
Compressed Column Sparse (rows = 4, cols = 3, nnz = 6 [50%])
(1, 1) -> 3
(1, 2) -> 4
(2, 2) -> 2
(1, 3) -> 4
(2, 3) -> 1
(3, 3) -> 1
ans =
3 4 4
0 2 1
0 0 1
0 0 0
X=[1 1 1;4 1 -5;2 2 1;4 2 -2;3 3 1;4 3 -3]
b=spconvert(X)
nnz(b)
nonzeros(b)
nzmax(b)
spy(b)
X =
1 1 1
4 1 -5
2 2 1
4 2 -2
3 3 1
4 3 -3
b =
Compressed Column Sparse (rows = 4, cols = 3, nnz = 6 [50%])
(1, 1) -> 1
(4, 1) -> -5
(2, 2) -> 1
(4, 2) -> -2
(3, 3) -> 1
(4, 3) -> -3
ans = 6
ans =
1
-5
1
-2
1
-3
ans = 6
