程序员数学 08:向量、矩阵与坐标变换
向量可以表示位置、速度,也可以是一组按固定顺序排列的特征。相同长度不代表可以直接比较:两个分量的含义、单位和坐标系必须对应。
向量运算先保留几何含义
位置
二维向量
如果特征是“文件大小(字节)、错误次数”,直接用欧几里得距离会让大数值维度支配结果。需要按任务选择单位转换、归一化或权重,而不是把所有数组都当作同一种几何空间。
点积衡量方向关系
设
余弦公式要求两个向量都非零。向量全为 0 时,分母为 0,应定义业务处理方式,而不是让 NaN 混进排序。余弦比较关注方向,无法替代对大小本身有意义的比较。
矩阵表示线性变换
采用列向量约定,矩阵
把
js
const matrix = [[2, 1], [0, 1]];
const point = [2, 1];
const transformed = matrix.map(row => row[0] * point[0] + row[1] * point[1]);
console.log(transformed); // [5, 1]一般地,
变换顺序通常不能交换
设
列向量约定下,
普通二维线性变换必须把原点映射到原点,所以“整体平移 3 个单位”不能只靠一个普通
练习
归一化后的单位向量是什么? 乘以列向量 得到什么? - 零向量能直接代入余弦相似度公式吗?
查看答案与讲解
- 除以长度 5,得到
,长度为 1。 - 第一分量
,第二分量 ,得到 。 - 不能,分母为 0。可按业务拒绝、跳过或单独定义其相似度,但应明确约定,不能当成公式自然给出的结果。
资料与延伸
MIT 18.06 线性代数 提供从线性方程组到向量空间和特征值的完整课程。本篇只建立向量与变换直觉;线性回归、最小二乘和降维需要继续补充矩阵秩、投影等概念。
继续阅读
- 习题与解析
- 习题与解析
- 习题与解析