MATLAB 向量

  • 向量

    向量是一维数字数组。MATLAB允许创建两种类型的向量-
    • 行向量
    • 列向量
  • 行向量

    while 通过将元素集括在方括号中,并使用空格或逗号分隔元素来创建行向量。
    
    r = [7 8 9 10 11]
    
    尝试一下
    MATLAB将执行上述语句并返回以下结果-
    
    r =
    
       7    8    9   10   11 
    
  • 列向量

    列向量是通过将元素集括在方括号中并使用分号分隔元素来创建的。
    
    c = [7;  8;  9;  10; 11]
    
    尝试一下
    MATLAB将执行上述语句并返回以下结果-
    
    c =
          7       
          8       
          9       
          10       
          11  
    
  • 引用向量的元素

    您可以通过多种方式引用向量的一个或多个元素。向量v的第i个分量称为v(i)。例如-
    
    v = [ 1; 2; 3; 4; 5; 6];        % creating a column vector of 6 elements
    v(3)
    
    尝试一下
    MATLAB将执行上述语句并返回以下结果-
    
    ans =  3
    
    当引用带有冒号的向量时,例如v(:),将列出向量的所有成分。
    
    v = [ 1; 2; 3; 4; 5; 6];        % creating a column vector of 6 elements
    v(:)
    
    尝试一下
    MATLAB将执行上述语句并返回以下结果-
    
    ans =
         1
         2
         3
         4
         5
         6
    
    MATLAB允许您从向量中选择一系列元素。
    例如,让我们创建一个包含9个元素的行向量rv,然后通过编写rv(3:7)引用3至7的元素,并创建一个名为sub_rv的新向量。
    
    rv = [1 2 3 4 5 6 7 8 9];
    sub_rv = rv(3:7)
    
    尝试一下
    MATLAB将执行上述语句并返回以下结果-
    
    sub_rv =
    
       3   4   5   6   7
    
  • 向量运算

    在本节中,让我们讨论以下向量运算-
    向量的加减法
    
    A = [7, 11, 15, 23, 9];
    B = [2, 5, 13, 16, 20];
    C = A + B;
    D = A - B;
    disp(C);
    disp(D);
    
    尝试一下
    向量的标量乘法
    
    v = [ 12 34 10 8];
    m = 5 * v
    
    尝试一下
    向量的转置
    
    r = [ 1 2 3 4 ];
    tr = r';
    v = [1;2;3;4];
    tv = v';
    disp(tr); disp(tv);
    
    尝试一下
    附加向量
    
    r1 = [ 1 2 3 4 ];
    r2 = [5 6 7 8 ];
    r = [r1,r2]
    rMat = [r1;r2]
     
    c1 = [ 1; 2; 3; 4 ];
    c2 = [5; 6; 7; 8 ];
    c = [c1; c2]
    cMat = [c1,c2]
    
    尝试一下
    向量的大小
    
    v = [1: 2: 20];
    sv = v.* v;       %the vector with elements 
                      % as square of v's elements
    dp = sum(sv);     % sum of squares -- the dot product
    mag = sqrt(dp);   % magnitude
    disp('Magnitude:'); 
    disp(mag);
    
    尝试一下
    矢量点积
    
    v1 = [2 3 4];
    v2 = [1 2 3];
    dp = dot(v1, v2);
    disp('Dot Product:'); 
    disp(dp);
    
    尝试一下
    具有均匀间隔元素的向量
    
    v = [1: 2: 20];
    sqv = v.^2;
    disp(v);
    disp(sqv);
    
    尝试一下