Which mldivide ('\') function is better
3 ビュー (過去 30 日間)
古いコメントを表示
Dear,
I have a 9x9 float matrix M, when I use it to \ function and got pretty much diferent result (P) between Matlab 2008 and 2015.
P = M \ eye(size(M))
My question is - Which one is better ? mldivide() in 2015 or mldivide() in 2008 Matlab version ? (suppose later is better ?)
Thanks,
--Dan
0 件のコメント
採用された回答
Bruno Luong
2018 年 12 月 3 日
編集済み: Bruno Luong
2018 年 12 月 3 日
Use pseudo inverse PINV to get more stable solution. Never use "\" on nearly singular matrix. You are happy with 2008 is just pure luck.
0 件のコメント
その他の回答 (2 件)
the cyclist
2018 年 11 月 29 日
I highly doubt that a bug was found in mldivide later than 2008, so I doubt the later function is "more correct" or "more accurate". Instead, I suppose that there was some minor algorithmic change (e.g. some kind of time optimization).
How big is the difference between the two results? I'm guessing it is very small -- the order of normal floating point error -- such that the difference is down around the level of the overall accuracy of the calculation in the first place.
Can you upload the matrix M in a MAT file?
0 件のコメント
Dan NG
2018 年 11 月 29 日
3 件のコメント
Walter Roberson
2018 年 11 月 29 日
Differences that big suggest that either you are working with values near 1E-20 or else that your matrix is nearly singular.
参考
カテゴリ
Help Center および File Exchange で Logical についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!