数组赋值
a1 = [1 2 3 4]; %一维
a2 = [1, 2, 3, 4]; %一维
a3 = [1, 2, 3; 4, 5, 6]; %2行3列
% 相当于
% a3 = 1 2 3
% 4 5 6
a4 = 1: 2: 10 %一维,相当于[1, 3, 5, 7, 9]
a4(1, 1) = 2 % 将a4[1][1]修改为2
a5 = a4' % a4的转置
a = zeros(2); % 2行2列的0矩阵
a = zeros(2, 3); % 2行3列的0矩阵
a = ones(2); % 2行2列的元素为1的矩阵
a = ones(2, 3); % 2行3列的元素为1的矩阵
a = eye(2); % 2行2列的单位矩阵
a = eye(2, 3); % 2行3列的单位矩阵
数组运算:
size(a); % 返回a数组的行数和列数
length(a); % 返回一个二维数组的最大维数值
a = [1, 2, 3; 4, 5, 6; 7, 8, 9];
% a = 1 2 3
% 4 5 6
% 7 8 9
% 10 11 12
b = reshape(a, 1, 12); % 将a换成一维数组
% b = 1 4 7 10 2 5 8 11 3 6 9 12
子数组
a = [1 2 3 4 5];
a(3) = 3
a([1 4]) = 1 4
a(1: 2: 5) = 1 3 5
a = [1 2 3; 4 5 6; 7 8 9];
% a = 1 2 3
% 4 5 6
% 7 8 9
a(1,:) = 1 2 3 % 取一整行
a(:,2) = 2 % 取一整列
5
6
a(:, 1:2:3) = 1 3 % 取第一列和第三列
4 6
7 9
a(1:2, 3:end) = 3 % 取第1行到第2行,第3列到最后一列
6
a(1:2, [1 3]) = 1 4 % 取第1行到第二行,并且位于第1列与第3列
3 6
矩阵运算
a,b都为矩阵
a.*b 数组乘法 a, b对应位置元素相乘
a./b 数组右除 a(i,j) / b(i, j)
a.\b 数组左除 b(i,j) / a(i, j)
a.^b 数组乘方 a(i, j) ^ b(i, j)
a*b 矩阵乘法
inv(a) a的逆
a/b 矩阵右除 a * inv(b)
a\b 矩阵左除 b * inv(a)
a' a的转置
det(a) 行列式