solving an equation with no analytical solution

14 visualizaciones (últimos 30 días)
Assaf Lavi
Assaf Lavi el 2 de Mzo. de 2016
Comentada: John D'Errico el 3 de Mzo. de 2016
Hi everybody, so I'm trying to solve an equation which doesn't have an analytical solution. I tried using numeric::solve but the problem is I have parameters in my equation and it says "Symbolic parameters are not allowed in nonpolynomial equations". "solve" doesn't help either.
The equation is: cos(b*x)=cos(a*b)+b*a*sin(a*b)-b*x*sin(b*a)
While a,b are constant parameters and x is the variable. I want the solution for x as a function of a and b. Is this even possible? Thanks!

Respuesta aceptada

John D'Errico
John D'Errico el 2 de Mzo. de 2016
Editada: John D'Errico el 2 de Mzo. de 2016
Why do you assume that EVERY equation you might possibly write down has a solution?
There is no analytical solution for the problem you have written.
Since your problem has symbolic constants that can take on ANY values, then there also can never be a numerical solution. No numbers, no numerical solution. The two go together. If you substitute values for a and b, then of course it is possible to find a numerical solution, though still not an analytical one in general.
Sorry, but magic only works for Harry Potter, and he left town recently.
  8 comentarios
Assaf Lavi
Assaf Lavi el 3 de Mzo. de 2016
Editada: Assaf Lavi el 3 de Mzo. de 2016
Hi again! I realized my equation was not quite right and now I have a slightly simpler one with just one parameter (yay!):
cos(x)+xsin(a)=asin(a)+cos(a)
Also, I realized I'm only interested in values of -pi<a<pi. How do I do what you did but with only one parameter? I've never worked with Matlab before so I'm confused.
Thanks for all the help!
John D'Errico
John D'Errico el 3 de Mzo. de 2016
ag = linspace(-pi,pi,250);
syms a x
E = cos(x)+x*sin(a) == a*sin(a)+cos(a);
xa = NaN(size(ag));
for i = 1:numel(ag)
xi = vpasolve(subs(E,a,ag(i)),x);
xa(i) = double(xi(1));
end
plot(ag,xa)
It does not seem terribly interesting though, and fairly sensitive to the value of a. There may be multiple solutions for some values of a, I only chose the first one that vpasolve found.

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Mathematics en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by