How to fit custom equation in a linear regression?
Show older comments
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 Comments
Rik
on 18 Nov 2022
I don't think this is a linear regression anymore. Are you sure it is?
You can fit equations to your data with many functions. Do you specifically need fitlm?
John Carlo
on 18 Nov 2022
Rik
on 18 Nov 2022
If you attach example data (it doesn't have to be real data, just vaguely similar) we can help you directly fit your equation to the data.
If you have the curve fitting toolbox, you can also use cftool to explore your options.
John Carlo
on 18 Nov 2022
Rik
on 18 Nov 2022
Why didn't you attach the data to your post? Do you have problems with the licencing terms if you would do so?
You should have the option to generate code from the cftool. Have you tried to do so? What options did you use to get the fit you wanted?
John Carlo
on 18 Nov 2022
Rik
on 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?
Answers (1)
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.
Categories
Find more on Get Started with Curve Fitting Toolbox in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!