Cholesky 分解类型错误 Matlab

Cholesky factorization type error Matlab

我没有做任何复杂的尝试,但无法理解为什么会触发此错误(使用 Matlab 的 R2016a 版本)。

我想在 my_matrix 上计算 Matlab's Cholesky factorization chol(),这是一个 [2x2x3 double]

my_matrix(:,:,1) = [  4.2534    0.4791;  0.4791    0.3522];
my_matrix(:,:,2) = [  0.9729    0.8723;  0.8723    2.6317];
my_matrix(:,:,3) = [  0.9886   -1.2244; -1.2244    3.0187];

chol(my_matrix)

但是这会引发以下错误:

Undefined function 'chol' for input arguments of type 'double' and attributes 'full 3d real'.

正如@Eli Sadoff 所指出的,cholesky 分解采用 2D 矩阵。所以这个错误意味着我使用的是 3D 矩阵而不是 2D 矩阵。所以我将 chol() 应用于最后一个维度。