matlab学习笔记(PCA+KNN实现人脸识别所需函数)

ChainPray 发布于 2023-11-13 248 次阅读


norm函数

求向量的范数,norm(V1-V2)可以实现高维向量的欧几里得距离

diag函数

如果参数是矩阵,返回取对角线元素构成的列向量;如果输入一个向量,返回一个对角矩阵

eig函数

用于计算矩阵的特征值和特征向量。eig 函数的使用方法如下:

  1. 计算矩阵的特征值和特征向量:
    • 如果输入是一个方阵,eig 函数会返回该方阵的特征值和特征向量。
    • 例如,[V, D] = eig(A),其中 A 是一个方阵,V 是每一列对应一个特征向量的矩阵,D 是包含特征值的对角矩阵。
  2. 计算特征值而不计算特征向量:
    • 如果只需要计算矩阵的特征值,可以使用 eig 函数的一个输出参数形式。
    • 例如,D = eig(A),其中 A 是一个方阵,D 是包含特征值的列向量。

mean函数

几种常见用法:

  1. 对整个数组或矩阵计算平均值:
A = [1, 2, 3, 4, 5]; 
avg = mean(A); % 计算整个数组的平均值
  1. 沿指定维度计算平均值:
B = [1, 2, 3; 4, 5, 6]; 
avg_row = mean(B, 1); % 沿列方向计算平均值 
avg_col = mean(B, 2); % 沿行方向计算平均值
  1. 忽略NaN值进行平均值计算:
C = [1, 2, NaN, 4, 5]; 
avg_nan = mean(C, 'omitnan'); % 忽略NaN值进行平均值计算
  1. 对于多维数组,您可以指定要计算平均值的维度:
D = randn(3, 4, 2); % 3x4x2的三维数组 
avg_dim3 = mean(D, 3); % 沿第三个维度计算平均值

sort函数

  1. 对向量进行排序:
    • 如果要对一个向量进行排序,可以使用 sort 函数。
    • 例如,A_sorted = sort(A),其中 A 是要排序的向量,A_sorted 是排序后的向量。
  2. 对矩阵的行或列进行排序:
    • 如果要对矩阵的行或列进行排序,可以指定 sort 函数的第二个参数来指定排序的维度。
    • 例如,B_sorted = sort(B, 2),其中 B 是要排序的矩阵,2 表示按照矩阵的每行进行排序,B_sorted 是排序后的矩阵。
  3. 获取排序的索引:
    • 有时候需要获取排序后的元素在原数组中的索引位置,可以使用 [B_sorted, idx] = sort(B),其中 idx 是排序后的元素在原数组中的索引位置。
深圳大学腾讯创新俱乐部的一名TICer,目前致力于成为全栈工程师
最后更新于 2025-04-10