How to fit custom equation in a linear regression?

6 visualizzazioni (ultimi 30 giorni)
John Carlo
John Carlo il 18 Nov 2022
Commentato: Rik il 18 Nov 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 Commenti
John Carlo
John Carlo il 18 Nov 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 il 18 Nov 2022
And the other questions I asked in my comment? Did you try the code generation tool? What fit options did you use?

Accedi per commentare.

Risposte (1)

cr
cr il 18 Nov 2022
Modificato: cr il 18 Nov 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 Commenti
John Carlo
John Carlo il 18 Nov 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 il 18 Nov 2022
Modificato: cr il 18 Nov 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.

Accedi per commentare.

Prodotti

Community Treasure Hunt

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

Start Hunting!

Translated by