初识MATLAB之矩阵
初识MATLAB之矩阵
MATLAB中矩阵是一个很重要的元素,运用的次数很频繁。这次从创建,改变结构,下标的使用和获取矩阵信息来简单介绍有关矩阵的函数。
1. 构建矩阵
学过矩阵的都知道矩阵有一些特殊矩阵,例如0矩阵,1矩阵和单位阵等。那么MATLAB是可以使用函数来直接构建一些特殊矩阵的。
1.1 直接赋值构建矩阵:
>> a=[1,2,3;4,5,6]
a =
1 2 3
4 5 6
>> a=[1 2 3;4 5 6]
a =
1 2 3
4 5 6
1.2 构建特殊矩阵
这里列举三种0矩阵(zeros函数),1矩阵(ones函数)和单位阵(eye函数):
>> z=ones(3)
z =
1 1 1
1 1 1
1 1 1
>> z=zeros(3)
z =
0 0 0
0 0 0
0 0 0
>> z=eye(3)
z =
1 0 0
0 1 0
0 0 1
2. 改变矩阵结构
通过旋转,改变矩阵维度和删除矩阵元素来改变矩阵的大小与结构。下面举例4个函数:
2.1 fliplr(a)函数
对矩阵a每一行均进行逆序排列。
>> a=[1 2 3;4 5 6],b=fliplr(a)
a =
1 2 3
4 5 6
b =
3 2 1
6 5 4
2.2 rot90(a)函数
生成一个有矩阵a逆时针旋转90的矩阵。
>> a=[1 2 3;4 5 6],b=rot90(a)
a =
1 2 3
4 5 6
b =
3 6
2 5
1 4
2.3 repmat(a,[m n])函数
创建一个有矩阵a为子矩阵的的m*n维的新矩阵。
>> a=[1 2 3;4 5 6],b=repmat(a,[2,2])
a =
1 2 3
4 5 6
b =
1 2 3 1 2 3
4 5 6 4 5 6
1 2 3 1 2 3
4 5 6 4 5 6
2.4 magic(n)函数
构建一个n*n的矩阵,其每一行,每一列的元素之和都相等。
>> a=magic(3)
a =
8 1 6
3 5 7
4 9 2
3. 矩阵下标的使用
矩阵下标的使用方式有许多,这里就不一一写出。举例4种方式。
3.1 a(:)
将a矩阵每列合并成一个长的列向量。其中()'是将矩阵装置。
>> a=magic(3),b=(a(:))'
a =
8 1 6
3 5 7
4 9 2
b =
8 3 4 1 5 9 6 7 2
3.2 a(:,i)
返回a矩阵第i列的列向量。其中()'是将矩阵装置。
>> a=magic(3),b=(a(:,1))'
a =
8 1 6
3 5 7
4 9 2
b =
8 3 4
3.3 a(:,j:k)
返回a矩阵由第j列到第k列组成的矩阵。
>> a=magic(3),b=(a(:,1:2))'
a =
8 1 6
3 5 7
4 9 2
b =
8 3 4
1 5 9
3.4 a(i:j:k)
返回由a(:)中选取第i个元素开始,每隔j个元素的元素,直到第k个元素。
>> a=magic(3),b=a(1:2:9)
a =
8 1 6
3 5 7
4 9 2
b =
8 4 5 6 2
4. 获取矩阵信息
这里列举4个矩阵信息的获取。
4.1 isempty(a)函数
判断矩阵a是否为空。
>> a=magic(3),b=isempty(a)
a =
8 1 6
3 5 7
4 9 2
b =
0
4.2 ndims(a)函数
获取矩阵z维数。
>> a=magic(3),b=ndims(a)
a =
8 1 6
3 5 7
4 9 2
b =
2
4.3 length(a)函数
获取矩阵a的最长维长度。
>> a=magic(3),c=length(a)
a =
8 1 6
3 5 7
4 9 2
c =
3
4.4 numel(a)函数
获取矩阵元素个数。
>> a=magic(3),d=numel(a)
a =
8 1 6
3 5 7
4 9 2
d =
9
总结:将之前代码都是截图换成了文字的复制与粘贴。