How to use filloutliers for only positive numbers of a data array?

3 views (last 30 days)
so if data is stored in Variable 'a'
a = [ 2 1 23 -1 2 5 -36 6 -1]
so it should perform filloutliers only on positve number
when i use b = filloutlier(a) it repalces both '23' and '-36' but i wish it should only perform functionallity on positve number that is '23' and ignore negative numbers.
one method is to filter the data and stored them in a seperate variable or secondly we can remove negative values but because variable 'a' is accessed on many occasions in code so want to perform this on variable 'a' instead of a new variable,
Lets say if i do a(a<0) = 0,
then b = filloutlier(a,'Linear');
it give filloutlier of only positive numbers but my orignal data is change..
kindly suggest a solution... if i again summarize my question basically i want to remove only positve peaks in my data...

Accepted Answer

Ameer Hamza
Ameer Hamza on 20 Nov 2020
Try this
a = [ 2 1 23 -1 2 5 -36 6 -1]
a(a>0) = filloutliers(a(a>0),'Linear')

More Answers (0)

Categories

Find more on Large Files and Big Data in Help Center and File Exchange

Products

Community Treasure Hunt

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

Start Hunting!