Which mldivide ('\') function is better
3 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
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 Commenti
Risposta accettata
Bruno Luong
il 3 Dic 2018
Modificato: Bruno Luong
il 3 Dic 2018
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 Commenti
Più risposte (2)
the cyclist
il 29 Nov 2018
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 Commenti
Dan NG
il 29 Nov 2018
3 Commenti
Walter Roberson
il 29 Nov 2018
Differences that big suggest that either you are working with values near 1E-20 or else that your matrix is nearly singular.
Vedere anche
Categorie
Scopri di più su Logical in Help Center e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!