Getting only one root for a quadratic function with mutiple variables

16 views (last 30 days)
I am facing an issue finding the parameter ‘a’ that gives the least square difference (LSD) between two function:
f(x,y,n,g,a)= ((1-exp(-g*(x*y^n))) / (1-exp(-g)))
q(x,y,n,g,a)= ((a+1-sqrt((1+a)^2-(4*a*(((1-exp(-g*(x))) / (1-exp(-g))))*( ((1-exp(-g*(y^v))) / (1-exp(-g)))))))/(2*a))
LSD(x,y,n,g,a) = (f(x,y,n,g,a)-q(x,y,n,g,a))^2
However, when I do the differentiation and set it to 0, I do not get two values of the parameter ‘a’ even that the function is quadratic. Anyone knows how to solve this issue?
The code I used:
>> syms x y n g a
f(x,y,n,g,a)= ((1-exp(-g*(x*y^n))) / (1-exp(-g)))
q(x,y,n,g,a)= ((a+1-sqrt((1+a)^2-(4*a*(((1-exp(-g*(x))) / (1-exp(-g))))*( ((1-exp(-g*(y^v))) / (1-exp(-g)))))))/(2*a))
LSD(x,y,n,g,a) = (f(x,y,n,g,a)-q(x,y,n,g,a))^2
D=diff(LSD,a)
Parameter=solve(D,a)
f(x, y, n, g, a) =
(exp(-g*x*y^n) - 1)/(exp(-g) - 1)
q(x, y, n, g, a) =
(a - ((a + 1)^2 - (4*a*(exp(-g*x) - 1)*(exp(-g*y^v) - 1))/(exp(-g) - 1)^2)^(1/2) + 1)/(2*a)
LSD(x, y, n, g, a) =
((exp(-g*x*y^n) - 1)/(exp(-g) - 1) - (a - ((a + 1)^2 - (4*a*(exp(-g*x) - 1)*(exp(-g*y^v) - 1))/(exp(-g) - 1)^2)^(1/2) + 1)/(2*a))^2
D(x, y, n, g, a) =
2*(((2*a - (4*(exp(-g*x) - 1)*(exp(-g*y^v) - 1))/(exp(-g) - 1)^2 + 2)/(2*((a + 1)^2 - (4*a*(exp(-g*x) - 1)*(exp(-g*y^v) - 1))/(exp(-g) - 1)^2)^(1/2)) - 1)/(2*a) + (a - ((a + 1)^2 - (4*a*(exp(-g*x) - 1)*(exp(-g*y^v) - 1))/(exp(-g) - 1)^2)^(1/2) + 1)/(2*a^2))*((exp(-g*x*y^n) - 1)/(exp(-g) - 1) - (a - ((a + 1)^2 - (4*a*(exp(-g*x) - 1)*(exp(-g*y^v) - 1))/(exp(-g) - 1)^2)^(1/2) + 1)/(2*a))
Warning: The solutions are valid under the following conditions: exp(g) ~= 1 & ((0 < real(n) | n == 0) & (0 < real(v) | v == 0)
| y ~= 0) & exp(g)*exp(2*g*x*y^n) + exp(g*y^v)*exp(g*x)*exp(2*g*x*y^n) + exp(g*y^v)*exp(g*x)*exp(g)*exp(g*x*y^n) ~=
exp(g*y^v)*exp(g*x)*exp(g*x*y^n) + exp(g*y^v)*exp(g)*exp(2*g*x*y^n) + exp(g*x)*exp(g)*exp(2*g*x*y^n) & (4*(exp(-g*x) -
1)*(exp(-g*y^v) - 1)*(exp(g)*exp(2*g*x*y^n) - exp(g*y^v)*exp(g*x)*exp(g*x*y^n) + exp(g*y^v)*exp(g*x)*exp(2*g*x*y^n) -
exp(g*y^v)*exp(g)*exp(2*g*x*y^n) - exp(g*x)*exp(g)*exp(2*g*x*y^n) + exp(g*y^v)*exp(g*x)*exp(g)*exp(g*x*y^n)) + (exp(-g) -
1)^2*((exp(g)*exp(2*g*x*y^n) - exp(g*y^v)*exp(g*x)*exp(g*x*y^n) + exp(g*y^v)*exp(g*x)*exp(2*g*x*y^n) -
exp(g*y^v)*exp(g)*exp(2*g*x*y^n) - exp(g*x)*exp(g)*exp(2*g*x*y^n) +
exp(g*y^v)*exp(g*x)*exp(g)*exp(g*x*y^n))/(exp(g*y^v)*exp(g*x)*exp(g) - exp(g*y^v)*exp(g*x)*exp(g*x*y^n) +
exp(g*y^v)*exp(g*x)*exp(2*g*x*y^n) - exp(g*y^v)*exp(g*x)*exp(g)*exp(g*x*y^n)) - 1)^2*(exp(g*y^v)*exp(g*x)*exp(g) -
exp(g*y^v)*exp(g*x)*exp(g*x*y^n) + exp(g*y^v)*exp(g*x)*exp(2*g*x*y^n) - exp(g*y^v)*exp(g*x)*exp(g)*exp(g*x*y^n)) ~= 0 | exp(g) +
exp(2*g*x*y^n) == exp(g*x*y^n) + exp(g)*exp(g*x*y^n)).
To include parameters and conditions in the solution, specify the 'ReturnConditions' option.
> In solve>warnIfParams (line 508)
In solve (line 357)
Parameter =
-(exp(g)*exp(2*g*x*y^n) - exp(g*y^v)*exp(g*x)*exp(g*x*y^n) + exp(g*y^v)*exp(g*x)*exp(2*g*x*y^n) - exp(g*y^v)*exp(g)*exp(2*g*x*y^n) - exp(g*x)*exp(g)*exp(2*g*x*y^n) + exp(g*y^v)*exp(g*x)*exp(g)*exp(g*x*y^n))/(exp(g*y^v)*exp(g*x)*exp(g) - exp(g*y^v)*exp(g*x)*exp(g*x*y^n) + exp(g*y^v)*exp(g*x)*exp(2*g*x*y^n) - exp(g*y^v)*exp(g*x)*exp(g)*exp(g*x*y^n))
  1 Comment
John D'Errico
John D'Errico on 10 Jul 2019
A quadratic is of the form:
a1*x^2 + a2*x + a3
What you have written has square roots of functions of a in it, you divde by a.
In what mathematics is what you have written quadratic? Just because you call something a quadratic does not make it so.

Sign in to comment.

Answers (0)

Categories

Find more on Physics in Help Center and File Exchange

Tags

Products


Release

R2017a

Community Treasure Hunt

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

Start Hunting!