Curve Fitting for an equation
5 views (last 30 days)
Show older comments
Hello
I have an equation like a*(x1^2)+ b(x2^2)+c((x1-x2)^2)+d((x12)^2)=1. Here I have variables of x1, x2, x12. x12 is the variable in the first quardrant. I have data of 12 Points passing through x1, x2 and x12.
I tried fitting the data to the above equation with different ways. But it did not turned out good. I tried with custom equation and some other methods. Could someone help me with getting the coefficients to this equation.
12 Comments
Accepted Answer
Torsten
on 1 Oct 2018
Edited: Torsten
on 1 Oct 2018
function main xdata = [...]; % x coordinates of your 12 point ydata = [...]; % y coordaintes of your 12 points x0 = [1 1 1]; % initial values for a, b and c x = lsqnonlin(@(x)fun(x,xdata,ydata),x0) end
function res = fun(x,xdata,ydata) res = x(1)*xdata.^2+x(2)*ydata.^2+x(3)*(xdata-ydata).^2-1; end
4 Comments
More Answers (1)
Pratik Bajaria
on 28 Sep 2018
4 Comments
Pratik Bajaria
on 29 Sep 2018
Well all equations can be written in y=f(x). Take any of the variables to be y (let's say x12) and all the other variables can be x. Since you have data points available try to write x12=f(x1,x2) and it must work.
Regards.
See Also
Categories
Find more on Get Started with Curve Fitting Toolbox in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!