>> x=zeros(3,4)
x =
0 0 0 0
0 0 0 0
0 0 0 0
>> x=ones(3,4)
x =
1 1 1 1
1 1 1 1
1 1 1 1
>> x=eye(3,4)
x =
1 0 0 0
0 1 0 0
0 0 1 0
>> x=rand(3,4)
x =
0.9501 0.4860 0.4565 0.4447
0.2311 0.8913 0.0185 0.6154
0.6068 0.7621 0.8214 0.7919 >> x=randn(3,4)
x =
-0.4326 0.2877 1.1892 0.1746 -1.6656 -1.1465 -0.0376 -0.1867
0.1253 1.1909 0.3273 0.7258 >> magic(3)
ans =
8 1 6
3 5 7
4 9 2
>> a=[1 2 3]
a =
1 2 3 >> diag(a)
ans =
1 0 0
0 2 0
0 0 3 >> diag(a -1)
ans =
0 0 0
0 1 0
0 0 2 >> h1=hilb(2)
h1 =
1.0000 0.5000
0.5000 0.3333 >> h2=invhilb(2)
h2 =
4 -6
-6 12
>> inv(h1)
ans =
4.0000 -6.0000
-6.0000 12.0000
拼接矩阵:
①水平方向拼接
>> a=magic(3)
a =
8 1 6
3 5 7
4 9 2
>> b=eye(3)
b =
1 0 0
0 1 0
0 0 1
>> c=[a b]
c =
8 1 6 1 0 0
3 5 7 0 1 0
4 9 2 0 0 1
②垂直方向拼接
>> d=[a;b]
d =
8 1 6
3 5 7
4 9 2
1 0 0
0 1 0
0 0 1
拼接函数:
1)Cat函数
C=cat(dim,A,B);
Dim= 1 垂直方向
2 水平方向
3 生成三维数组
>> a=[1,5,9;3,5,7;10,2,8];
>> b=magic(3);
>> c1=cat(2,a,b)
c1 =
1 5 9 8 1 6
3 5 7 3 5 7
10 2 8 4 9 2
>> c2=cat(1,a,b)
c2 =
1 5 9
3 5 7
10 2 8
8 1 6
3 5 7
4 9 2
>> c3=cat(3,a,b)
c3(:,:,1) =
1 5 9
3 5 7
10 2 8
c3(:,:,2) =
8 1 6
3 5 7
4 9 2
2)Repmat函数
Repmat矩阵备份函数
>> b=repmat(eye(2),3,4)
b =
1 0 1 0 1 0 1 0
0 1 0 1 0 1 0 1
1 0 1 0 1 0 1 0
0 1 0 1 0 1 0 1
1 0 1 0 1 0 1 0
0 1 0 1 0 1 0 1
>> n=repmat(NaN,[3,3])
n =
NaN NaN NaN
NaN NaN NaN
NaN NaN NaN
3)Horzcat函数
水平拼接函数
>> a=magic(5);
>> a(4:5,:)=[]
a =
17 24 1 8 15
23 5 7 14 16
4 6 13 20 22
>> b=magic(3)*100
b =
800 100 600
300 500 700
400 900 200
>> c=horzcat(a,b)
c =
17 24 1 8 15 800 100 600
23 5 7 14 16 300 500 700
4 6 13 20 22 400 900 200 4)Vertcat函数
垂直链接函数
>> a=magic(5);
>> a(:,4:5)=[]
a =
17 24 1
23 5 7
4 6 13
10 12 19
11 18 25
>> b=magic(3)*100
b =
800 100 600
300 500 700
>> c=vertcat(a,b)
c =
17 24 1
23 5 7
4 6 13
10 12 19
11 18 25
800 100 600
300 500 700
400 900 200
5)Blkdiag函数
通过输入矩阵构造一个对角块矩阵
>> a=eye(2);
>> b=ones(2,2);
>> c=[1,2;3,4;5,6];
>> d=rand(2,3);
>> out=blkdiag(a,b,c,d)
out =
Columns 1 through 7
1.0000 0 0 0 0 0 0
0 1.0000 0 0 0 0 0
0 0 1.0000 1.0000 0 0 0
0 0 1.0000 1.0000 0 0 0
0 0 0 0 1.0000 2.0000 0
0 0 0 0 3.0000 4.0000 0
0 0 0 0 5.0000 6.0000 0
0 0 0 0 0 0 0.9218
0 0 0 0 0 0 0.7382
Columns 8 through 9
0 0
0 0
0 0
0 0
0 0
0 0
0.1763 0.9355
0.4057 0.9169
矩阵下标元素访问:
>> a=[1 5 9 10;3 6 7 11;7 8 9 13;5 8 14 15]
a =
1 5 9 10
3 6 7 11
7 8 9 13
5 8 14 15
>> a(4,3)
ans =
14
>> a(12)
ans =
14
>> sub2ind(size(a),4,3)
ans =
12
>> a(12)
ans =
14。