How to fit custom equation in a linear regression?

5 visualizaciones (últimos 30 días)
John Carlo
John Carlo el 18 de Nov. de 2022
Comentada: Rik el 18 de Nov. de 2022
I'd like to fit a custom equation for linear regression. For example y = a1 + a2 * x^4 + a3 * x^5. How do you do this with fitlm function?
  7 comentarios
John Carlo
John Carlo el 18 de Nov. de 2022
This is actually the first time I posted a question so I don't really know how things work. And yes, I've tried cftool and got results through the custom equation fit option. But I also want to know how to do it manually or through codes using fit functions.
Rik
Rik el 18 de Nov. de 2022
And the other questions I asked in my comment? Did you try the code generation tool? What fit options did you use?

Iniciar sesión para comentar.

Respuestas (1)

cr
cr el 18 de Nov. de 2022
Editada: cr el 18 de Nov. de 2022
Presuming you are trying to estimate a1, a2, a3 you can just to a lmdivide. You will need data for x & y with atleast 3 to solve (and 4 for a linear regression).
e.g. with the n observations, you will have n equations a1 + a2xi^4 + a3xi^5 = yi
do
A = X\Y
where A is the 3 x 1 vector of unknowns a1 a2 a3
X is n x 3 matrix of observations x1, x2, x3,...xn
[1 x1^4 x1^5;
1 x2^4 x2^5; ....;
1 xn^4 xn^5]
Y is n x 1 vector
[y1; y2;..;yn]
Regards.
  2 comentarios
John Carlo
John Carlo el 18 de Nov. de 2022
Thanks. And I do have a set of data for x and y (30 points). But I also need to fit a custom equation on the data so a fit function would be needed.
cr
cr el 18 de Nov. de 2022
Editada: cr el 18 de Nov. de 2022
You may use fitlm(X,Y). Note that \ or fitlem can be used only for linear regression and not any equation in general. You will need other functions like nlinfit etc for any equation in general.
Regards.

Iniciar sesión para comentar.

Categorías

Más información sobre Get Started with Curve Fitting Toolbox en Help Center y File Exchange.

Productos

Community Treasure Hunt

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

Start Hunting!

Translated by