Numerical Garbage value in Matrix

1 visualizzazione (ultimi 30 giorni)
Muhammad
Muhammad il 17 Ott 2018
Modificato: John D'Errico il 17 Ott 2018
Hi, I have two n*n matrices and I am computing their sum. The sum is
[124.449917129290 + 0.00000000000000i -43.6298898009808 - 7.10542735760100e-15i -43.6298898009808 + 7.10542735760100e-15 i 124.449917129290 + 0.00000000000000i]. The bold value should be zero as I am using this result in an optimization problem and these 7^(-15) terms are introducing numerical garbage in my optimization problem. Any suggestions on how to make these terms exact zero when I perform the sum of matrices?
  2 Commenti
KALYAN ACHARJYA
KALYAN ACHARJYA il 17 Ott 2018
Can you clarify more, why zero, its doesn't affect in sum value, (+ and - equal value cancel each other)?
Muhammad
Muhammad il 17 Ott 2018
Hi, Sorry, the sum is a matrix Sum = [124.44+0i -43.629-7.105e-15i; -43.623+7.105e-15i 124.44+0i]... The thing is my matrix is quite big and it is just a snippet of my resultant matrix. As I am utilizing in SDP programming, these tiny imaginary values should be zero. Otherwise, deterministic solvers see the coefficient range as being from a very small value (^-15) to a very large value (which is dependant on other parameters). That's why it should be zero. Any suggestions now on how to deal with this problem?

Accedi per commentare.

Risposte (1)

John D'Errico
John D'Errico il 17 Ott 2018
Modificato: John D'Errico il 17 Ott 2018
help real
Better yet, compare the results of abs(real(A)) to abs(imag(A)). As long as the imaginary part is small, just delete it, replacing the value with real(A).
If abs(imag(A)) is ever too large, then raise a stink, since then you arguably have a problem that cannot just be dismissed as floating point trash. But at least then you know if there was a problem.

Categorie

Scopri di più su Loops and Conditional Statements 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!

Translated by