Hi,
I have implemented a code for the slope,
x_ceng = sum(xi)/n; % center of gravity of x
m = sum(xi-x_ceng)*yi/sum(xi-x_ceng)^2; % Slope
di = yi-m*xi-c; % the residuals
D = sum(xi-x_ceng)^2;
% The standard error is then given by;
dm = sqrt(sum(di^2)/D*(n-2))
I have compared m with values of polyfit and it agrees, but I am not certain that the standard error is correct. I am obtaining very low dm that what I would like considering the spread of the data that I obtain.
Is there any function in MATLAB that I can compare dm with?
Many Thanks for any input.
If you want to determine the parameter confidence intervals from polyfit, I suggest the File Exchange function polyparci.
3 Comments
Direct link to this comment:
http://mathworks.com/matlabcentral/answers/54470#comment_112786
If you are estimating two parameters, you should have two standard errors, one for each parameter.
Also, your dm line doesn't look correct to me.
Direct link to this comment:
http://mathworks.com/matlabcentral/answers/54470#comment_112935
I am curious what is it in eq."dm" that does not look correct for you?
Direct link to this comment:
http://mathworks.com/matlabcentral/answers/54470#comment_112972
Initially, there was a right parenthesis missing. (You corrected that in your edit.)
The polyfit documentation outlines a procedure to calculate the covariance matrix from information in the ‘S’ structure, and from that you can calculate the standard errors to check to see how they compare to those you calculated in your code.