matrix limits

3 次查看(过去 30 天)
andrew
andrew 2012-3-7
Hello,
I currently have a set of about 200 2 by 200 matrices (can be split into 400 1 by 200 if it is easier). I need to remove some values that are over a maximum value.
For example, most of the values range from 1 to 200, but there is one point with a value of 600, how do I remove the 600?
Each matrix can have 1,2 or 3 values over the maximum, therefore I need to set a limit.
I appreciate this is probably a very simple issue for you guys.
Cheers
EDIT: Yer,I want to remove these points. Using this way works, when the point is above the x and y co-ord:
Suppose your matrix is called "M1", and your maximal value is MAXVAL,
M1(M1>MAXVAL)=[ ]; %to remove
M1(M1>MAXVAL)=-1; %to replace it with a value
However some of the points are inside the Y limit but outside the X limit.
Is there a way to set a limit for the first column (X) and remove the correspond co-ord on the same row in the second column (Y).
Remembering that there maybe more then 1 row to delete in each matrix.
Sorry if this confuses.

采纳的回答

Dev-iL
Dev-iL 2012-3-7
What do you want to do with the 600? Delete it (making the vector shorter)? replace it with a different number? replace it with a char?
Suppose your matrix is called "M1", and your maximal value is MAXVAL,
M1(M1>MAXVAL)=[ ]; %to remove
M1(M1>MAXVAL)=-1; %to replace it with a value

更多回答(1 个)

Christian Noack
Christian Noack 2015-10-12
I got a similar question. I also have a matriz which is [1000 5] so, in each column I want to put a limit, so if the number in [i,k] surpass the limit in column k, then it replace the number as the limit. Which is the efective way to do something like that?

类别

Help CenterFile Exchange 中查找有关 Logical 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by