首先通過一個簡單例子來感性認識一下標量(scalar)、向量(vector)和矩陣(matrix)這 3 個數學概念。
假設我們設計了一款網絡對戰遊戲,在遊戲中,玩家選擇自己的英雄與其他玩家對戰。每個英雄的能力由 3 種屬性描述:智力、敏捷和力量。為了方便表示,不妨用 i 表示智力、a 表示敏捷、s 表示力量。
對於英雄 A,它的設定是智力型英雄,智力被設定為 10,敏捷為 6 以及力量為 2,用數學式子表示為 i = 10, a = 6, s = 2。換句話說,我們用數字表表示各個屬性具體的值,這在數學上就叫作標量,標量其實就是數字。
將這 3 個屬性按照智力、敏捷和力量的順序寫在一起,就可以表示一個英雄的能力了。
比如用A = (10, 6, 2)表示英雄 A。在數學上A被稱為向量,正確地說應該是行向量。直觀上, 行向量是多個數字(標量)排成一行。與之類似的是列向量,即多個數字排成一列。
現在我們設計了另外 3 個英雄,分別為 B、C 和 D,向量表示為B = (3, 4, 10)、C = (5, 10, 4)和D = (6, 9, 5)。將這 4 個英雄的向量排列成矩形陣列,即每一行表示一個英雄,得到圖 3-1 所示的矩陣,而這個矩陣就可以表示所有 4 個英雄的屬性數據。