1. 程式人生 > >非科班程式設計師才不知道的向量

非科班程式設計師才不知道的向量

  程式的功能單位不宜過大,太大的函式容易掩蓋錯誤,就像一個大城市隱藏著逃犯一樣。這樣的軟體很難閱讀,很難測試,也很難除錯。(《自下而上的程式設計》,by Paul Graham)

  向量

  為什麼線性代數這麼重要?從研究一個數拓展到研究一組數

  一組數的基本表示方法——向量(Vector)

  向量(Vector)是線性代數研究的基本元素(一組有序的數)

  一個數:666 一組數:(6,66,666)

  最基本的出發點:表示方向

  

圖片描述

 

  兩個視角看似不同,但可以互相轉換

  一個方向,就是一個點(有向線段 ≈ 空間中的點)

  空間中的一個點,可以看做從原點指向這個點的一個方向

  在學習初始,使用方向的視角,更直觀,更形象

  定義

  和向量相對應,一個數字,稱為標量

  代數,用符號代表數。和標量相區別,向量的符號畫箭頭

  個別情況下,尤其是幾何學中,我們會考慮向量的起始點

  

圖片描述

 

  向量相加

  先向x移動5個單位

  再向y移動2個單位

  再向x移動2個單位

  再向y移動5個單位

  先向x移動5個單位

  再向y移動2個單位

  再向x移動2個單位

  再向y移動5個單位

  總共向x移動7個單位

  總共向y移動7個單位

  

圖片描述

 

  

圖片描述

 

  數量相乘

  k×(a,b)^T= (ka,kb)^T

  向x移動k次a個單位

  再向y移動k次b個單位

  總共向x移動ka個單位

  總共向y移動kb個單位

  

圖片描述

 

  基本性質

  

圖片描述

 

  

圖片描述

 

  零向量

  零向量O沒有箭頭

  

 

 

 

  

 

 

  長度(向量的模)

  

 

  

 

 

 

  單位向量 unit vector

  

 

 

 

 

  

 

 

  點乘

  

 

 

  

 

 

  直觀化理解

  

 

  x1和y2沒有關係,結果為零;x2和y1沒有關係,結果為零