matlab笔记
  • 1.矩阵

  • MATLAB中最基本的数据结构是二维矩阵,二维矩阵可以方便地存储和访问大量数据,每个矩阵的单元可以是数值类型、逻辑类型、字符类型或者其他任何MATLAB数据类型。
    • 1.1.矩阵的创建

      • 1.1.1使用矩阵构造符号[ ]来创建矩阵

        例如:

        
        >> A=[1 2 3;4 5 6]
        
        A=
        
          1    2    3
        
          4    5    6
        
        
      • 1.1.2向量的创建

        有方向的矩阵,例如[1,2,3]为以1为开始值,1为步长,3为结束值的向量。

        这种向量可以使用from: step: to方式生成,from表示开始值;step表示步长;to表示结束值。

        例如:

        
        >>X=1:0.5:3
        
        X=
        
          1.0000    1.5000    2.0000    2.5000    3.0000
        
        

        当步长为1时,step可省略,即当step省略时默认步长为1。

        例如:

        
        >>Y=3:7
        
        Y=
        
          3    4    5    6    7   
        
        

        当步长>0,而开始值>结束值或步长<0而开始值<结束值,则矩阵为空矩阵。

      • 1.1.3特殊矩阵的创建

        • zeros(m,n):产生m×n的全0矩阵

          例如:

          
          >>zeros(2,3)
          
          ans=
          
              0    0    0
          
              0    0    0
          
          
        • ones(m,n):产生m×n的全1矩阵

          例如:

          
          >>ones(2,3)
          
          ans=
          
              1    1    1
          
              1    1    1
          
          
        • rand(m,n):产生均匀分布的随机矩阵,取值范围0.0~1.0

          例如:

          
          >>rand(2,3)
          
          ans=
          
              0.0975    0.5469    0.9649
          
              0.2785    0.9575    0.1576
          
          
        • randn(m,n):产生正态分布的随机矩阵

          例如:

          
          >>randn(2,3)
          
          ans=
          
              3.0349   -0.0631   -0.2050
          
              0.7254    0.7147   -0.1241  
          
          
        • magic(N):产生N阶魔方矩阵(矩阵的行、列和对角线上元素的和相等,即洛书)

          例如:

          
          >>magic(3)
          
          ans=
          
              8     1     6
          
              3     5     7
          
              4     9     2
          
          
        • eye(m,n):产生m×n的单位矩阵

          例如:

          
          >>eye(3)
          
          ans=
          
              1     0     0
          
              0     1     0
          
              0     0     1
          
          
    • 1.2矩阵大小的改变

      • 1.2.1矩阵的合并

        表达式C=[AB]为在水平方向上合并矩阵A和矩阵B;

        表达式C=[A;B]为在竖直方向上合并矩阵A和矩阵B。

        例如:

        
        >>A=rands(2,3)
        
        A=
        
          0.8147    0.1270    0.6324
        
          0.9058    0.9134    0.0975
        
        >>B=ones(2,3)
        
        B=
        
          1    1    1
        
          1    1    1
        
        >>C=[A B]
        
        c=
        
          0.8147    0.1270    0.6324    1.0000    1.0000    1.0000    
        
          0.9058    0.9134    0.0975    1.0000    1.0000    1.0000    
        
        >>D=[A;B]
        
        D=
        
          0.8147    0.1270    0.6324
        
          0.9058    0.9134    0.0975
        
          1.0000    1.0000    1.0000
        
          1.0000    1.0000    1.0000