线性代数1-向量相加,向量乘以标量

作者: 赵阳_c149 | 来源:发表于2019-12-10 12:38 被阅读0次

    向量的基本操作

    向量的基本操作包括:向量相加,向量乘以标量。

    • 标量
      标量(scalar):一个标量就是一个单独的数,我们在使用标量时,一般都要明确给出它是那种类型的数【1】。
      \vec{v} * a,其中 a \in \mathbb{R}
      从图像上说,向量乘以标量,是使得向量拉伸或者收缩了。例如,如果a>1,就是将向量拉伸了a倍;如果 0<a<1,就是使得向量收缩到了原来的1/a。这一拉伸或者收缩的过程用英语描述就是scale,因此称这个实数a称为scalar

    实数域公理

    • 元素0
      在实数域 \mathbb{R^n}中,它是由元素0组成的向量:\vec{x}=\begin{bmatrix} 0 \\ 0 \\ 0 \\ : \\0 \end{bmatrix}
    • 元素1
      在实数域 \mathbb{R^n}中,它是由元素1组成的向量:\vec{x}=\begin{bmatrix} 1 \\ 1 \\ 1 \\ : \\1 \end{bmatrix}

    上述运算遵守实数域公理

    • 结合律
    • 交换律
    • 分配律
    • 单元性(定义加上零乘以一
    • 逆元(定义加减逆元乘除逆元

    python代码演示

    绘制二维向量

    # Import NumPy and Matplotlib
    %matplotlib inline
    import numpy as np
    import matplotlib.pyplot as plt
    
    # Define vector v 
    v = np.array([1,1])
    
    # Plots vector v as blue arrow with red dot at origin (0,0) using Matplotlib
    
    # Creates axes of plot referenced 'ax'
    ax = plt.axes()
    
    # Plots red dot at origin (0,0)
    ax.plot(0,0,'or')
    
    # Plots vector v as blue arrow starting at origin 0,0
    ax.arrow(0, 0, *v, color='b', linewidth=2.0, head_width=0.20, head_length=0.25)
    
    # Sets limit for plot for x-axis
    plt.xlim(-2,2)
    
    # Set major ticks for x-axis
    major_xticks = np.arange(-2, 3)
    ax.set_xticks(major_xticks)
    
    
    # Sets limit for plot for y-axis
    plt.ylim(-1, 2)
    
    # Set major ticks for y-axis
    major_yticks = np.arange(-1, 3)
    ax.set_yticks(major_yticks)
    
    # Creates gridlines for only major tick marks
    plt.grid(b=True, which='major')
    
    # Displays final plot
    plt.show()
    

    将二维向量与标量相乘并绘制结果

    # Define vector v 
    v = np.array([1,1])
    
    # Define scalar a
    a = 3
    
    # TODO 1.: Define vector av - as vector v multiplied by scalar a
    av = v * a
    
    # Plots vector v as blue arrow with red dot at origin (0,0) using Matplotlib
    
    # Creates axes of plot referenced 'ax'
    ax = plt.axes()
    
    # Plots red dot at origin (0,0)
    ax.plot(0,0,'or')
    
    # Plots vector v as blue arrow starting at origin 0,0
    ax.arrow(0, 0, *v, color='b', linewidth=2.5, head_width=0.30, head_length=0.35)
    
    # TODO 2.: Plot vector av as dotted (linestyle='dotted') vector of cyan color (color='c') 
    # using ax.arrow() statement above as template for the plot 
    ax.arrow(0, 0, *av, color='c', linestyle='dotted', linewidth=2.5, head_width=0.30, head_length=0.35)
    
    
    # Sets limit for plot for x-axis
    plt.xlim(-2, 4)
    
    # Set major ticks for x-axis
    major_xticks = np.arange(-2, 4)
    ax.set_xticks(major_xticks)
    
    
    # Sets limit for plot for y-axis
    plt.ylim(-1, 4)
    
    # Set major ticks for y-axis
    major_yticks = np.arange(-1, 4)
    ax.set_yticks(major_yticks)
    
    # Creates gridlines for only major tick marks
    plt.grid(b=True, which='major')
    
    # Displays final plot
    plt.show()
    

    将两个向量相加并绘制结果

    # Define vector v 
    v = np.array([1,1])
    
    # Define vector w
    w = np.array([-2,2])
    
    # TODO 1.: Define vector vw by adding vectors v and w 
    vw = None
    
    # Plot that graphically shows vector vw (color='b') - which is the result of 
    # adding vector w(dotted cyan arrow) to vector v(blue arrow) using Matplotlib
    
    # Creates axes of plot referenced 'ax'
    ax = plt.axes()
    
    # Plots red dot at origin (0,0)
    ax.plot(0,0,'or')
    
    # Plots vector v as blue arrow starting at origin 0,0
    ax.arrow(0, 0, *v, color='b', linewidth=2.5, head_width=0.30, head_length=0.35)
    
    # Plots vector w as cyan arrow with origin defined by vector v
    ax.arrow(v[0], v[1], *w, linestyle='dotted', color='c', linewidth=2.5, 
             head_width=0.30, head_length=0.35)
    
    # TODO 2.: Plot vector vw as black arrow (color='k') with 3.5 linewidth (linewidth=3.5)
    # starting vector v's origin (0,0)
    vw = v + w
    ax.arrow(0, 0, *vw, linestyle='dotted', color='k', linewidth=3.5, 
             head_width=0.30, head_length=0.35)
    
    # Sets limit for plot for x-axis
    plt.xlim(-3, 2)
    
    # Set major ticks for x-axis
    major_xticks = np.arange(-3, 2)
    ax.set_xticks(major_xticks)
    
    
    # Sets limit for plot for y-axis
    plt.ylim(-1, 4)
    
    # Set major ticks for y-axis
    major_yticks = np.arange(-1, 4)
    ax.set_yticks(major_yticks)
    
    # Creates gridlines for only major tick marks
    plt.grid(b=True, which='major')
    
    # Displays final plot
    plt.show()
    

    【1】https://blog.csdn.net/baishuo8/article/details/81165078

    相关文章

      网友评论

        本文标题:线性代数1-向量相加,向量乘以标量

        本文链接:https://www.haomeiwen.com/subject/zvzwgctx.html