私はこのマトリックスを持っています:
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)
と、returnsa=[]
と。を返します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.
誰かがここで何が悪いのか教えてもらえますか?ありがとう。