Hallo,
for a given matrix is there an efficient way in matlab to make its small values (e.g. smaller than 0.001) set as zero?
Thanks in advance

 Akzeptierte Antwort

Andrei Bobrov
Andrei Bobrov am 5 Dez. 2011

2 Stimmen

e.g. A - your matrix
A(abs(A)<1e-3)=0

2 Kommentare

Nikolaos
Nikolaos am 5 Dez. 2011
thanx a lot, but what if i want to set zero to the matrix values which have either real part <0.001 and imaginary value <0.001
Walter Roberson
Walter Roberson am 5 Dez. 2011
A(abs(real(A))<0.001 | abs(imag(A))<0.001) = 0;
Note though that if you had a number such as 12345+0i then this would be set to 0, because you asked for the value to be set to 0 if *either* the real or imaginary part were small. You might wish to change the | to &

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (1)

narendra  kumar
narendra kumar am 23 Jul. 2016

0 Stimmen

A(abs(real(A))<0.001

Kategorien

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by