Polynomial fitting with multiple independent variables
30 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Oleksandr
el 27 de En. de 2014
Comentada: Matt J
el 29 de En. de 2014
Can someone provide example how to perform Polynomial fitting (let's say of 2 or 3-rd order) with multiple independent variables? I have 3 variables: pressure, temperature and concentration (p,t,c) and expectation values of rate of reaction (r) depending on this 3 variables. My question is how to find functional form f(p,t,c)=r and how to perform fitting. (all three variables separetely f(p)=r etc. agree well with linear regresion model).
Thanks a lot
0 comentarios
Respuesta aceptada
Matt J
el 27 de En. de 2014
There are several multi-dimensional polynomial fitting routines on the File Exchange. To name a few,
12 comentarios
Más respuestas (1)
dpb
el 27 de En. de 2014
Editada: Andrei Bobrov
el 27 de En. de 2014
Z=zeros(size(p)); % intercept term
X=[Z p t c p.*p t.*t c.*c p.*t p.*c t.*c]; % 2nd order design matrix
c=r\X; % LS solution
You will need a good-sized dataset to have sufficient DOF left after estimating all the terms and while it's a good sign that the "one at a time" plots seem to fit reasonably well that doesn't guarantee a good fit overall.
One would wish that Matlab would have all this built into one of the Toolboxes with a resulting ANOVA table and all but afaict while there are some additional tools in Curve Fitting and Stat toolboxes they really didn't build a general regression model toolset a la SAS, say, unfortunately. You're still on your own for that portion AFAIK.
2 comentarios
dpb
el 27 de En. de 2014
Z p t c p.*p t.*t c.*c p.*t p.*c t.*c
In order, as written above the design matrix is
intercept
3 variables
3 quadratic terms
three cross terms
The coefficients will be in that order in the return vector. You can reorder in whatever order suits you.
Ver también
Categorías
Más información sobre Linear and Nonlinear Regression en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!