用于在不使用 for 循环的情况下对矩阵中的每个对角线(或反对角线)求和的高效且紧凑的代码。 适用于大型矩阵。 对于 3D 矩阵输入 A,A(:,:,k) 的对角线总和在sumMat(:,k)。 当 A 是 3D 时,脚本通常比基于 for 循环的方法更快。 该代码对于宽矩阵或高矩阵最有效。 当将代码用作迭代算法的一部分时,请内联代码,以避免重新计算常量索引矩阵。
请注意,使用 diag() 函数的 for 循环实现速度更快,内存要求更低,尤其是在方形 2D 情况下。
2021-11-23 21:43:30
2KB
matlab
1