problem using variables solving trigonometric equation with "solve('...')
3 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Hi all,
I am trying to solve a trigonometric equation. It works just fine if I put a number in the solver, but return an error if I type a variable.
For example:
syms x;
solve('sin(x) = x -1')
works perfectly.
However, when I try:
syms x;
a = 1;
solve('sin(x) = x -a')
I get the error:
Warning: Explicit solution could not be found.
> In solve at 81
ans =
[ empty sym ]
As the equation in integrated in some code, it is of no use if I cannot solve it with the variable. If someone has an idea it would be great!
Cheers, Flavien
0 comentarios
Respuestas (2)
Aaditya Kalsi
el 1 de Abr. de 2012
It may be better to define 'a' as a symbolic variable and not a double.
syms x;
a = sym('1');
f = sin(x) -x + a;
myVal = solve(f, x);
1 comentario
Walter Roberson
el 1 de Abr. de 2012
Defining it as a symbolic variable doesn't matter.
a = 1
f = sin(x) - x + a;
myVal = solve(f,x);
Walter Roberson
el 1 de Abr. de 2012
syms x;
a = 1;
solve(subs(sym('sin(x) = x -a')));
The MATLAB-level value of a variable is not used within a quoted string (such as you were solving for) unless you use the subs() operation to request the substitution.
0 comentarios
Ver también
Categorías
Más información sobre Calculus en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!