Want to remove 'noise' from a matrix.
3 views (last 30 days)
Show older comments
I have a single column matrix with values ranging from around -15 to 50, there's around 19000 values and I wish to remove any values below 20 and set them as 0. This is what I currently have to import the data:
input = xlsread('HiG_67.csv','J:J');
Thanks
1 Comment
Stephen23
on 8 Oct 2015
Do not call your variable input as this is the name of a commonly used inbuilt function input. When you shadow the name of an inbuilt function like this it stops the inbuilt function from working.
For this reason never use the names size, length, input, i, j, cat, length, etc. You can use which to check if a name is already used-
Accepted Answer
Dennie
on 8 Oct 2015
If input is a non-negative single column then you can use the following simple filter:
FilterValue=20;
input(input<FilterValue)=0;
If there are also negative values that you wish to keep then you can try:
input(abs(input)<FilterValue)=0;
If you only want to filter the positive noise:
filter=input<FilterValue & input>=0;
input(filter))=0;
Dennie
4 Comments
See Also
Categories
Find more on Descriptive Statistics in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!