Residuals from Regress
12 次查看(过去 30 天)
显示 更早的评论
I'm trying to get the residual error from a linear fit between two variables and the residuals I get from the regress function make no sense and don't match what I get from the data fitting gui (which looks correct). What is the difference in the procedures here and how can I programmatically get the residuals I see through the data fitting menu option?
1 个评论
采纳的回答
Richard Willey
2011-4-14
% Generate some random data
X = linspace(1,100,100)';
Y = X + randn(100,1);
% Use Curve Fitting Toolbox to generate a fit
% In your workflow, you'd create the fit in cftool and then export the
% model to MATLAB as a fit object
foo = fit(X,Y,'poly1')
% Calculate residuals
resid1 = Y - foo(X)
% Use regress to compute residuals
b = regress(Y, [ones(length(X),1) X])
Yhat = [ones(length(X),1) X]*b;
resid2 = Y - Yhat
% Check that the residuals are the same
resid1./resid2
2 个评论
Richard Willey
2011-4-14
Easy mistake to make. regress gives you really fine grained control over your design matrix. However, in turn you need to do things like add a ones vector for your constant and the like...
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Interpolation 的更多信息
产品
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!