Curve Fitting for an equation

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 comentarios

Torsten
Torsten el 28 de Sept. de 2018
Not clear what you are trying to do.
Jay
Jay el 28 de Sept. de 2018
Hello Torsten
I am trying to get the coefficients of the above equation. I have the data points and want to fit the data to the equation.
Thanks
Torsten
Torsten el 28 de Sept. de 2018
Editada: Torsten el 28 de Sept. de 2018
So given points (x1,y1), (x2,y2),...,(x12,y12), you try to find coefficients a,b,c,d such that the points are best fitted by which function/relation depending on x and y?
Jay
Jay el 28 de Sept. de 2018
Yes exactly.
Torsten
Torsten el 28 de Sept. de 2018
Could you write down the function/relation depending on x and y ?
Jay
Jay el 28 de Sept. de 2018
a*(x^2)+ b(y^2)+c((x-y)^2)+d((x12)^2)=1. Here x12 is another variable (shown in figure).
Torsten
Torsten el 28 de Sept. de 2018
Editada: Torsten el 28 de Sept. de 2018
What is x12 ? Is it the x-coordinate of the 12th point you want to fit ? Or is it an additional unknown such that you want to fit a,b,c,d and x12 ?
Jay
Jay el 28 de Sept. de 2018
Editada: Jay el 28 de Sept. de 2018
No, x12 is additional unknown.
Torsten
Torsten el 28 de Sept. de 2018
Sorry, I still don't understand what x12 is.
Given points (-5,-8), (-3,7), (4,6) and (9,-12).
What relations do you want to hold for these 4 points ?
a*(-5)^2+b*(-8)^2+c(-5+8)^2+d*??=1
a*(-3)^2+b*(7)^2+c(-3-7)^2+d*??=1
a*(4)^2+b*(6)^2+c(4-6)^2+d*??=1
a*(9)^2+b*(-12)^2+c(9+12)^2+d*??=1
Image Analyst
Image Analyst el 28 de Sept. de 2018
Jay
Jay el 28 de Sept. de 2018
Editada: Jay el 28 de Sept. de 2018
Hello Torsten
Okay. Can you just eliminate x12 term from the equation and help for the remaining part (a*(x^2)+ b(y^2)+c((x-y)^2)=1). I want to find the values of a,b,c.
Jay
Jay el 28 de Sept. de 2018
Hello Image Analyst
It is not an Ellipse.

Iniciar sesión para comentar.

 Respuesta aceptada

Torsten
Torsten el 1 de Oct. de 2018
Editada: Torsten el 1 de Oct. de 2018

0 votos

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 comentarios

Jay
Jay el 4 de Oct. de 2018
Thank you Torsten.
Jay
Jay el 11 de Feb. de 2019
Hello Torsten
Could you please help me with plotting this implicit function
Thanks
Torsten
Torsten el 11 de Feb. de 2019
https://de.mathworks.com/help/matlab/ref/fimplicit.html
Jay
Jay el 8 de Mayo de 2019
Hello Torsten
Do you how to implement this code in python?

Iniciar sesión para comentar.

Más respuestas (1)

Pratik Bajaria
Pratik Bajaria el 28 de Sept. de 2018

0 votos

Hello,
Did you try cftool? It does have provision of adding custom equations too.
Regards, Pratik

4 comentarios

Jay
Jay el 28 de Sept. de 2018
Hello Pratik
I tried the cftool as well. It did not worked.
Thanks
Pratik Bajaria
Pratik Bajaria el 28 de Sept. de 2018
Hello,
Go through this example --> (https://in.mathworks.com/help/curvefit/custom-nonlinear-models.html), probably it can help.
Regards, Pratik
Jay
Jay el 28 de Sept. de 2018
Hello
It does'nt work. As I cannot write the above equation as y= f(x).
Pratik Bajaria
Pratik Bajaria el 29 de Sept. de 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.

Iniciar sesión para comentar.

Productos

Versión

R2017b

Preguntada:

Jay
el 28 de Sept. de 2018

Comentada:

Jay
el 8 de Mayo de 2019

Community Treasure Hunt

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

Start Hunting!

Translated by