how to turn elements in matrix to 0?

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

0 votos

If it's a matter of numerical noise eps may help.

Categorías

Más información sobre Creating and Concatenating Matrices en Centro de ayuda y File Exchange.

Productos

Etiquetas

Preguntada:

el 8 de Oct. de 2014

Editada:

el 8 de Oct. de 2014

Community Treasure Hunt

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

Start Hunting!

Translated by