矩阵的建立
直接输入元素:
A=[1,2,3] B=[1 2 3;4 5 6]
C=[1 3 6
2 4 8]
零矩阵:
A=zeros A为单元素矩阵
B=zeros(4) B为4*4矩阵
C=zeros(2,3)
1矩阵:ones
冒号表达式建立行向量:(1行N列矩阵)
e1:e2:e3
e1起始值 e2步长 e3结尾值
A=1:3:15
A=[1 4 7 10 13]
linspace(a,b,n)函数
a,b分别为首尾元素 n为元素个数
矩阵的操作
索引元素
A=[1 2 3
4 5 6
7 8 9]
A(2,3)是6 注意matlab中坐标从1开始
A(8)为6 matlab中矩阵按列顺序存储
find(A==6)输出为8
[m,n]=find(A==6) m=2 n=3
若有重复元素则将所有位置输出,m,n则作为1*2向量
坐标表示方法转换
sub2ind(size(A),m,n) 第一个参数为矩阵大小,m,n为行列坐标
sub2ind(size(A),2,3) 输出为8 其中size(A)实际为[3 3]
[m,n]=ind2sub(size(A),8) m=2,n=3
重排矩阵
reshape(A,m,n) 将A重新排列为m*n的矩阵若元素个数不符则不可执行
reshape(A,1,9)或reshape(A,9,1)
B=A(:) 将A转变成列矩阵
转置矩阵
B=A\' B和A则互为转置矩阵
矩阵拆分
A(m,n) 获取单个元素
A(m,:) 获取A的m行所有元素
A(:,n) n列的所有元素
A(m:n,j:k) m-n行j-k列的元素
A(m,n:end) m行n到最后列元素,若不知道行列大小情况可以使用end
A([m,n],[k,j]) 获取所有组合到的元素
删除元素
A(1)=[] 第一个元素被删除,剩余元素变为行矩阵
A(m:) 删除第m行元素 也可以直接删除某列
扩展与压缩
repmat(A,[m,n]) 将A的行复制m次,列复制n次
unique(A) 将重复元素删除
unique(A,\'rows\') 删除重复的行
---恢复内容结束---
请发表评论