Curve Fitting for an equation

14 views (last 30 days)
Jay
Jay on 28 Sep 2018
Commented: Jay on 8 May 2019
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
Jay
Jay on 28 Sep 2018
Hello Image Analyst
It is not an Ellipse.

Sign in to comment.

Accepted Answer

Torsten
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
Jay
Jay on 8 May 2019
Hello Torsten
Do you how to implement this code in python?

Sign in to comment.

More Answers (1)

Pratik Bajaria
Pratik Bajaria on 28 Sep 2018
Hello,
Did you try cftool? It does have provision of adding custom equations too.
Regards, Pratik
  4 Comments
Pratik Bajaria
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.

Sign in to comment.

Products


Release

R2017b

Community Treasure Hunt

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

Start Hunting!