a = [1 2 3 4] % (Row Vector 行向量) 单行矩阵
a13 = a(3)
b = [1; 2; 3; 4] % (Column Vector 列向量) 单列矩阵,(以;(semicolon 分号)相隔,表示换行)
b41 = b(4)
a*b % 单行*单列 (称为:inner product 内积), 1by4矩阵乘以4by1矩阵,结果是:1行1列的
b*a % 单列*单行 (称为:outer product 外积), 4by1矩阵乘以1by4矩阵,结果是:4行4列的
% matrix (同一个Row的entry之间用space隔开来,Row与Row之间用semicolon隔开来)
A = [1 21 6;
5 17 9;
31 2 7]
% 访问元素 方法一:括号里面是 row和col
A13 = A(1,3)
A31 = A(3,1)
minorOfA22 = A([1 3], [1 3]) % 逗号前面全是row,逗号后面全是col
A313233 = A(3,[1 2 3]) % 第3行全部
A313233 = A(3,:) % 第3行全部
% 访问元素 方法二:索引index,从上至下,从左到右,依次是1~n*m
A11 = A(1)
A21 = A(2)
A31 = A(3)
A12 = A(4)
A135 = A([1 3 5]) % 取第1,3,5个元素放在一个Row Vector中
A1313 = A([1 3; 1 3]) % 取第1,3个元素分别放在两行
% Replacing Entries (修改元素)
A(1,2) = 76 % 将第1行 第2列 改为76
A(3,2) = 0 % 将第3行 第2列 改为0
A([1 2], [2 3]) = 0 % 将第1、2行的第2、3列改为0
A(3,:) = [] % 将第3行删掉
% 冒号(colon) 用于 等差级数 的创立
B = [1:10] % 等差=1
C = [1:2:10] % 等差=2
D = [1:5;
2:3:15;
-2:0.5:0]
str = 'a':2:'z'
% 扩充矩阵
A = [1 2;
3 4]
B = [9 9;
9 9]
F = [A B] % 横向扩充
F = [A;B] % 纵向扩充
%矩阵的四则运算(Array Manipulation),operators:
% + - * /(A/B 是 A*(B的逆矩阵)) ^(次方) .(element operator) '(转置)
A = [1 2;
3 4]
B = [3 1;
2 1]
x1 = A+B
x2 = A-B
x3 = A*B % 矩阵的乘法:行乘以列加和
x4 = A.*B % .* 的运算规则和+-相同,就是第1个乘第1个,第2个乘第2个...
x5 = A/B % / 是 A*inverse(B)
x6 = A./B % ./ 的运算规则和+-相同,就是第1个除以第1个,第2个除以第2个...
a = 2
y1 = A+a
y2 = A*a
y3 = A/a % 和 ./ 是一样的
y4 = A./a
y5 = A^a % 相当于a个A矩阵相乘
y6 = A.^a % 每个元素分别a次方
At = A' % A的转置矩阵,行变列 (也可以看成是:主对角线不变,以主对角线为轴的对称元素互换)
% 特殊矩阵
eye(3) %(identity matrix 乘法单位矩阵I) 括号里是几就是几阶的方阵:主对角线是1,其它都是0.
zeros(2,3) % 2行3列的全0矩阵
ones(2,3) % 2行3列的全1矩阵
diag([2 3 4]) % (diagonal matrix 对角矩阵) 指定主对角线元素,其它地方都是0
linspace(-5,5) % linear spaced vectors(-5到5之间返回100个均匀间隔点组成的单行矩阵)
linspace(-5,5,6) % -5到5之间返回6个均匀间隔点组成的单行矩阵
rand(3) % 3阶随机数方阵
rand(3,4) % 3行4列的随机数矩阵
1 + (10-1).*rand(5,1) % 可以使用公式r = a + (b-a).*rand(N,1)在间隔 (a, b) 之间生成N个随机数.
randi([10 50],1,5) % 使用randi函数,从10和50之间的统一分布中生成5个随机整数。
% Functions for matrix
A = [1 3 2;
0 6 5;
7 0 9]
max(A) % 每一列中最大的元素
max(max(A)) % 整个矩阵最大的元素
min(A) % 每一列中最小的元素
min(min(A)) % 整个矩阵最小的元素
sum(A) % 每一列的和
sum(sum(A)) % 整个矩阵的和
mean(A) % 每一列的平均值
mean(mean(A)) % 整个矩阵的平均值
sort(A) % 每一列从小到大排序
sortrows(A) % 每一行从小到大排序
size(A) % (dimension 维)几行几列
length(A) % 几列
find(A==0) % (索引index是从上到下,从左到右,从1开始数的)寻找等于0的元素的索引index是多少(结果是列向量)