how to turn elements in matrix to 0?

18 visualizaciones (últimos 30 días)
Kobi
Kobi el 8 de Oct. de 2014
Editada: José-Luis el 8 de Oct. de 2014
i have this matrix:
arround this shape the elements are close to zero (in a small values for example: xe-20-xe-10) is there a simple way to take the elements only around this shape and change them into zero?
  1 comentario
Kobi
Kobi el 8 de Oct. de 2014
i tried to do this in this way but i don't understand what is wrong
[col,row]=find(abs(diag(T))<0.2); T(row,col)=0;
i'm expecting to zero only a square around the shape in this way

Iniciar sesión para comentar.

Respuestas (2)

Chad Greene
Chad Greene el 8 de Oct. de 2014
If you'd like to change all values in T that are less than some threshold (we'll call the threshold thresh), all you need is
T(T<thresh)=0;
  2 comentarios
Kobi
Kobi el 8 de Oct. de 2014
not for all the values only for a square of zeros i managed to do this in a way that i don't really like i create a threshold for the diognal values of the matrix and take 10% from the scale
treshold=(max(max(abs(diag(T))))-min(min(abs(diag(T)))))*0.1; ind=find(abs(diag(T))<treshold);
but i don't like this because i need to set the threshold manually
any suggestions?
José-Luis
José-Luis el 8 de Oct. de 2014
Editada: José-Luis el 8 de Oct. de 2014
Well, a threshold is subjective, even when applying complex statistical methods. You are going to have to select something. Even if you use a function, the choice is subjective.
I guess what I am trying to ask is how do you want to set that limit?

Iniciar sesión para comentar.


Chad Greene
Chad Greene el 8 de Oct. de 2014
If it's a matter of numerical noise eps may help.

Categorías

Más información sobre Matrix Indexing en Help Center y File Exchange.

Etiquetas

Productos

Community Treasure Hunt

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

Start Hunting!

Translated by