Hi, I'd like to adjust a set of points to an expression like this "E=c1*H+c2​*H*T^(-2)+​c3*T", please help!!...Thanks

1 view (last 30 days)
"E=c1*H+c2*H*T^(-2)+c3*T"
where
E,H,T are variables c1, c2, c3 are the regression coefficients
I have all the data necessary of the three variables from a 1 month period, I'd like to know how to obtain the regression coefficients I think that it's a multiple non linear regression but, I don't know what functions of matlab I could use, I'll be thankful for your help.
Thank you very much!!

Answers (2)

Brian B
Brian B on 10 Jul 2014
This is a linear regression problem, since it is linear in the coefficients. Assuming E, H, and T are column vectors, you might simply try:
R = [H H.*T.^(-2) T];
c = R\E;
This finds the least-squares solution for the linear equation E = R*c.

Star Strider
Star Strider on 10 Jul 2014
See if this example does what you want:
H = randi(10, 5, 1); % Define H
T = randi(10, 5, 1)+10; % Define T
c = [3 5 7]'; % Define c
X = [H H./(T.^2) T]; % Design matrix
Y = X*c + 0.1*rand(5,1); % Create dependent variable + noise
c = X\Y % Solve for coefficients
If you have the Statistics Toolbox, see the documentation for the LinearModel class.

Categories

Find more on Linear and Nonlinear Regression in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!