Matlab_基本操作和矩阵输入
1.输出格式
1 | |
2.terminal command
1 | |
3.Array index(矩阵索引)
1.index从上到下按列计数
a(index)index按列数从上往下数
a([i1 i2 i3...])取出a(i1) a(i2) a(i3)… 取出后按向量初始化的方式排序
a([i1 i2;i1 i3])形成ans = [a(i1) a(i2);a(i1) a(i3)]的新矩阵2.按 行 , 列 取
syntax:
j:k -> [j,j+1,j+2,..,j+m]
j:i:k -> [j,j+i,j+2i;j+3i;j+ki]
–a(1,2)第一行第二个
–a([i1 i2],[i3 i4])行取i1,i2行,列取i3,i4列
–
4.colon operator (冒号操作)
m = begin : step : end(生成行向量,中间是步数)
m = [1:1:5;2:1:6;....](冒号生成矩阵)
str = 'a' : 1 : 'z'
小练习
将 a = [1 0 0;5 0 0;31 0 7] 转化为a = [1 0 0;5 0 0]
即消掉第三行
solution1(重新赋值).
a = a([1:2],[1:3]) (索引访问)
solution2(赋成[]空向量)a(3,:) = []
syntax:A() = [] delete rows or columns of A,从A中删除行或者列
5.矩阵拼接
a = [a b]增广矩阵a = [a;b]换到下一行拼接的矩阵a = [a:b]矩阵a起始坐标作为开始点,b起始坐标 作为结束点 的行向量
6.矩阵运算
k = 2(常数) a = [1:3;2:4] b = [3:5;7:9]a = a + k 每个元素加a = a / k 每个元素除a = a./ k 还是每个元素除a = a^2 等价于 a*a 矩阵乘法a = a.^2 矩阵每个元素2次幂a' a的逆矩阵a+b 对应位置每个元素相加a * b 对应维数相同的矩阵 做乘法a .* b 对应位置元素做乘法a./b 对应位置元素除法a / b 近似等价于 a * b'
- some special matrix function
1.
eye(n) nxn的单位阵–
2.zeros(n1,n2) n1xn2元素全为0的矩阵
–
3.ones(n1,n2) n1xn2元素全部为1的矩阵
–
4.x = rand() 随机数小数x = rand(n) nxn的数组x = rand(x,y,z,...) x*y*z*...的数组x = rand([a b]) 等价于 x = rand(a,b) [a b]为大小向量
–
5.x = randi([a b],n,m)x = randi([a b],[n m])生成ab之间的nxm大小的随机整数矩阵x2中生成num个点`
–
6.diagonal 对角的
由矩阵作为参数返回第k个对角线上的元素diag(a)diag(a,k)
–
由向量作为参数创建对角阵diag(a)diag(a,k)
向量a作为第k条对角线
–
7.linspace(x1,x2) 缺省是100个点
`linspace(x1,x2,num) 生成线性间距向量,num是x1
8.some matrix related function
1.
max(a)每一列最大值
2.max(max(a))无论是行向量还是列向量返回最大值
3.min(a)每一列最小值
4.sum(a)每一列加和
5.mean(a)每一列的平均值
–
1.sort(a)每一列都重新排序
2.sortrows(a,k)每行的顺序按照第k列(每一行的第k个)来排,只有行变换
3.size(a)返回行向量,包括每一维度的长度size(a,k)返回第k维的长度
4.length(a)返回矩阵最大维度的长度 等价于max(size(a))
本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!