MatLab矩阵操作一

矩阵的建立
 直接输入元素:
  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') 删除重复的行
  

---恢复内容结束---

posted @ 2013-07-19 18:55  上弦白月  阅读(567)  评论(0)    收藏  举报