使用冒号运算符生成矩阵语法
m = 初始值 :步长 :终值
步长默认为1,所以步长为1时可以省略。
使用linspace()
生成矩阵
语法:
linspace( 初始值,终值,点数 )
点数默认为100。
m = linspace(1, 10, 10)
矩阵的拼凑和变形
矩阵的拼接
m1 = [ 1 2 3 ]; m2 = [ 4 5 6 ]; m = [ m1 m2 ] m = [ m1, m2 ]
m 为 m1 m2 进行行拼接的结果矩阵。
m1 = [ 1 2 3 ]; m2 = [ 4 5 6 ]; m = [ m1; m2 ]
m 为 m1 m2 进行列拼接的结果矩阵。
矩阵的变形
语法:
reshape( 矩阵, 要变成的形状 )
m1 = 1:10; m2 = reshape( m1, [2, 5] ) m2 = reshape( m1, 2, 5 )
将 m1 变成 2行5列的矩阵。
特殊矩阵和随机矩阵
特殊矩阵
单位矩阵
对角线为1的方阵。
eye( n )
其中为方阵的阶数。
n = 3; m = eye( n )
全0矩阵
zeros( n )
生成n阶全0的方阵。
n = 3; m = zeros( n )
zeros( m, n )
生成m*n的全0矩阵。
m为行数,n为列数。
m = 2; n = 3; res = zeros( m, n ) res = zeros( [m, n] )
全1矩阵
ones( n )
n = 3; res = ones( n )
ones( m, n )
m = 2; n = 3; res = ones( m, n )
三维矩阵
ones( [3, 5, 2] )
生成一个三维全1矩阵。
三个数分别对应 [ 行,列,页 ]。
m = ones( 3, 5, 2 ) m = ones( [3, 5, 2] )
随机数矩阵
rand()
m = 3; n = 5; % 生成一个n阶的方阵,其中每个元素的取值范围为0-1 rand(n) % 生成一个m*n的矩阵,其中每个元素的取值范围为0-1 rand( m, n ) rand( [m, n] )
randi()
m = 3; n = 5; % 生成一个取值区间在[1,max]的整数 % randi(max) randi(10) % 生成一个取值区间在[1,max]的n阶方阵 % randi(max, n) randi(10, n) % 生成一个取值区间在[1,max]的m*n矩阵 % randi(max, m, n) % randi(max, [m, n]) randi( 10, m, n )
randn()
randn()用法同rand()。
服从正态分布。
m = 3; n = 5; % 生成一个n阶的方阵 randn(n) % 生成一个m*n的矩阵 randn( m, n ) randn( [m, n] )
在MATLAB中搜索相关函数用法