2nd Order Polynomial Coefficient Solving
4 views (last 30 days)
Show older comments
I have been having very good success with guidance from the community with using Curve Fitter. I now would like to produce coefficients with an added variable.
I have the Data for R,S,P,T.
T = a + b*P + c*S + d*S^2 + e*(S*P) + f*(S^2*P)
Trying to find coefficients a,b,c,d,e,f.
The coefficients would a median seperated by 'R' breakpoints [550 725 950] , so realistically I would have a 6x3 matrix of coefficients.
At the moment linear regression will work, but the affect of P on T is linear, and the affect of R and S on T is non-linear in reality.
I have a 63000 x 4 matrix for data.
R S P T
716 28.5000000000000 291.727272727300 184.407961051320
721 28.5000000000000 291.625000000000 187.140145995908
721 28.5000000000000 291.625000000000 187.220504376631
722.5 28.5000000000000 291.625000000000 187.140145995908
722.5 28.5000000000000 291.625000000000 187.140145995908
I tried this along with a couple other methods to no avail.
Ignore the column indices, that was another iteration from the above data.
TRQ1 = @(c,VAR) c(1).*VAR(:3) + c(2) + c(3).*VAR(:,2) + c(4).*VAR(:,4) + c(5).*VAR(:,5) + c(6).*VAR(:,6);
F_TRQ= linsolve(VAR(:,[1 3] ) , TRQ, TRQ1)
0 Comments
Accepted Answer
Torsten
on 29 Aug 2024
Edited: Torsten
on 29 Aug 2024
I don't see R in your regression equation
T = a + b*P + c*S + d*S^2 + e*(S*P) + f*(s^2*P)
And I assume that "s" means "S".
M = [ones(63000,1),P,S,S.^2,S.*P,S.^2.*P];
y = T;
x = M\y;
a = x(1)
b = x(2)
c = x(3)
d = x(4)
e = x(5)
f = x(6)
11 Comments
Torsten
on 31 Aug 2024
Thank you.
You get 6 coefficients. The first coefficient depends on R. The regression equation solved above is
T = x(1) + x(4)*P + x(5)*S + x(6)*S^2 + x(7)*(S*P) + x(8)*(S^2*P) if R <= 550
T = x(2) + x(4)*P + x(5)*S + x(6)*S^2 + x(7)*(S*P) + x(8)*(S^2*P) if R > 550 & R <=725
T = x(3) + x(4)*P + x(5)*S + x(6)*S^2 + x(7)*(S*P) + x(8)*(S^2*P) if R > 725
More Answers (0)
See Also
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!