Clear Filters
Clear Filters

2nd Order Polynomial Coefficient Solving

49 views (last 30 days)
Eric
Eric on 28 Aug 2024 at 23:45
Commented: Eric about 6 hours ago
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)

Accepted Answer

Torsten
Torsten on 29 Aug 2024 at 0:13
Edited: Torsten on 29 Aug 2024 at 0:15
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
Torsten about 24 hours ago
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
Eric
Eric about 6 hours ago
Thank you so much. I will now keep my head down and keep working on learning.

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!