У меня есть эта матрица:
S= 6.84370358358718e-006 -7.45833473076585e-007
-7.45833473076565e-007 7.11723106043725e-006
Он симметричен:
S-S'= 0 -2.00111533788828e-020
2.00111533788828e-020 0
и положительно определен:
eig(S)= 6.22219831321029e-006 and 7.73873633081414e-006
Когда я использую [a b]=cholcov(S)
, он возвращает a=[]
и b=NaN
. В справке MatLab написано, что [T,num] = cholcov(SIGMA)
... If SIGMA is not square and symmetric, num is NaN and T is empty.
Конечно, функция chol(S)
разлагает эту функцию без ошибок. Я не знаю разницы между chol
и cholcov
, да это и не важно, так как у меня нет выбора. Ошибка возникает из функции mvnrnd(zeros(1,2),S)
, когда я пытаюсь сгенерировать некоторые случайные числа:
??? Error using ==> mvnrnd at 118
SIGMA must be a symmetric positive semi-definite matrix.
Кто-нибудь может сказать мне, что здесь не так? Благодарю.