matlab编程 剔除错误点

来源:百度知道 编辑:UC知道 时间:2024/05/16 00:16:47
希望哪位高手能给我个程序:
有一组数据他们是成y=ax+b的线性关系的 在这组数据中有个别点是错误的他们不成这个线性关系 怎样把他们从这组数据中提取出来 或成图在图像上能看出来他们不在直线上,我相用matlab编程 用最小二乘法来算 这样行么?

用robust回归。例如:

x = (1:10)';
y = 10 - 2*x + randn(10,1); y(10) = 0;
bls = regress(y,[ones(10,1) x])
brob = robustfit(x,y)
scatter(x,y)
hold on
plot(x,brob(1)+brob(2)*x,'r-', x,bls(1)+bls(2)*x,'m:')