MATLAB and Simulink resources for Arduino, LEGO, and Raspberry Pi

Learn moreOpportunities for recent engineering grads.

Apply Today
Asked by Lizan on 22 Nov 2012

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.

Answer by Star Strider on 23 Nov 2012

If you want to determine the parameter confidence intervals from ` polyfit`, I suggest the File Exchange function

## 3 Comments

Direct link to this comment:http://www.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

dmline doesn't look correct to me.Direct link to this comment:http://www.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://www.mathworks.com/matlabcentral/answers/54470#comment_112972

Initially, there was a right parenthesis missing. (You corrected that in your edit.)

The

polyfitdocumentation 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.