1、行向量的定义
rowvec = [1.2 3 56];
2、列向量的定义
colvec = [1.2;3;56];
3、逐个元素的分配矩阵
B(1,1) = 1 ;
B(1,2) = 2 ;
B(2,1) = 3 ;
B(2,2) = 4 ;
B =
1 2
3 4
注意:矩阵的下标从1开始计数
4、矩阵的输入
直接输入矩阵时候,矩阵元素用“空格”或者“逗号”隔开,矩阵行用“分号”隔离,整个矩阵放在方括号“[ ]”内.不必事先对矩阵维数做任何说明.
例如:
A = [1,2,3;4,5,6;7,8,9]
或者
A = [1 2 3;4 5 6;7 8 9]
还可以分行输入:
A=[1 2 3;
4 5 6;
7 8 9]
注意:
表达符号一定要在英文状态下输入.MATLAB对矩阵大小写是敏感的.如果不用clear指令清楚,或者重新赋值,那么该矩阵就会一直保存在工作空间中,直到指令窗(Command Window)关闭.
5、矩阵、零矩阵和单位矩阵
1矩阵的所有元素全为1,零矩阵的所有元素全为零.
ones(n) %建立一个n×n的1矩阵
ones(m,n,……,p) %建立一个m×n×……×p的1矩阵
ones(size(A)) %建立一个和矩阵A同样大小的1矩阵
zeros(n) %建立一个n×n的0矩阵
zeros(m,n,……,p) %建立一个m×n×……×p的0矩阵
zeros(size(A)) %建立一个和矩阵A同样大小的0矩阵
eye(n) %建立一个n×n的单位矩阵
eye(m,n) %建立一个m×n的单位矩阵
eye(size(A)) %建立一个和矩阵A同样大小的单位矩阵
例如:输入OneMatrix = ones(2,3,2)
则结果为:
OneMatrix(:,:,1) =
1 1 1
1 1 1
OneMatrix(:,:,2) =
1 1 1
1 1 1
注意:eye命令只能用来建立二维矩阵
6、随机数和随机矩阵
rand %产生在0~1之间均匀分布的随机数;每调用一次给一个新的数值.
rand + i*rand %产生一个复数随机数
rand(n) %产生一个n×n的矩阵,其元素均为0~1之间均匀分布的随机数.
rand(m,n,……,p) %产生一个m×n×……×p的矩阵,其元素均为0~1之间均匀分布的随机数.
randn %产生零均值、单位方差的正太分布随机数
randn(n) %产生一个n×n的矩阵,其元素均为零均值、单位方差的正太分布随机数.
randn(m,n,……,p) %产生一个m×n×……×p的矩阵, 其元素均为零均值、单位方差的正太分布随机数.
7、随机数种子
rand(‘state’) %返回一个有35个元素的向量,其中包含随机发生器的当前状态.
rand(‘state’,s) %设置随机种子发生器的状态为s
rand(‘state’,0) %设置随机种子发生器为它的原始状态
rand(‘state’,j) %设置随机种子发生器为它的第j种子状态,j为整数
rand('state',sum(100*clock)); %使用clock命令,使得随机种子发生器在每个不同的时刻都设置为不同的状态.
rand(‘state’,arg) %使用MATLAB中的随机种子发生器.
randn(‘state’,) %返回一个有两个元素的向量,其中包含正态随机种子发生器的状态
randn(‘state’,arg) %根据arg设置正态随机种子发生器,见rand.
例如
astate = rand('state'); astate(1:5)
ans =
0.8651
0.5121
0.9021
0.8186
0.6267
说明:astate(1:5)表示列出状态向量(35个元素)中的前5个元素的值
8、从已存在的向量中产生新的矩阵(一)
diag(A) %生成一个由矩阵A主对角线元素组成的列向量,主对角线总是从矩阵左上角开始,对于方阵来说它结束于矩阵的右下角.
diag(x) %x为一个n维向量.生成一个n维方阵,它的主对角线元素取自向量x,其余元素的值都为零.
diag(A,k) %生成一个由矩阵A第k条对角线元素组成的列向量。k=0为主对角线;K<0为主对角线下第条对角线;k>0为主对角线上第K条对角线.
dialog(x,k) %生成一个(n +)*(n+)维的矩阵,该矩阵的第k条对角线元素取自x,其余元素为0.(n为x的维数)
例一:
A =
1 2 3
4 5 6
7 8 9
diag(A)=
1
5
9
例二:
x = [1 2 3];
diag(x) =
1 0 0
0 2 0
0 0 3
例三:(A为例一中的A)
diag(A,0) =
1
5
9
diag(A,1) =
2
6
diag(A,-1) =
4
8
例四:(x为例二中的x)
diag(x,1) =
0 1 0 0
0 0 2 0
0 0 0 3
0 0 0 0
diag(x,-2) =
0 0 0 0 0
0 0 0 0 0
1 0 0 0 0
0 2 0 0 0
0 0 3 0 0
9、从已存在的矩阵中生成新的矩阵(二)
triu(A) %生成一个和A同样大小的上三角矩阵。该矩阵的主对角线及以上元素取自A中的相应元素,其余元素都为0.
triu(A,k) %生成一个和A同样大小的上三角矩阵。该矩阵的第k条对角线及以上元素取自A中的相应元素,其余元素都为0.命令triu(A,0)等价于triu(A).
tril(A) %生成一个和A同样大小的下三角矩阵。该矩阵的主对角线及以下元素取自A中的相应元素,其余元素都为0.
tril(A,k) %生成一个和A同样大小的下三角矩阵。该矩阵的第k条对角线及以下元素取自A中的相应元素,其余元素都为0.命令tril(A,0)等价于tril(A).
对于每一个方阵A都有以下关系: