Exclude more than one outlier in linear function

2 次查看(过去 30 天)
Hi,
I would like to remove the values under -4.000.000 and over 2.000.000, but I get the following error message: >> outl = find(mdl.Residuals.Raw<-4000000 & mdl.Residuals.Raw>2000000) outl = Empty matrix: 0-by-1 There are definitely values between these two values.. Thank you for your help!

采纳的回答

Star Strider
Star Strider 2014-7-11
You’re asking it to find residuals that are both <-4E6 and >2E6 simultaneously.
Change the statement to:
outl = find(mdl.Residuals.Raw<-4000000 | mdl.Residuals.Raw>2000000)
and see if that does what you want.

更多回答(1 个)

Joseph Cheng
Joseph Cheng 2014-7-11
you'll need to use the logical comparison OR '|' not AND '&'. as you are doing mdl.Residuals.Raw<-4000000 AND mdl.Residuals.Raw>2000000 where there are no intersections where both are true (look up the truth table for AND where both conditions have to be true). You're looking for the values that are <-4000000 or are greater than 2000000. what you have is values that are < and also are > than 2000000

标签

Community Treasure Hunt

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

Start Hunting!

Translated by