using solve when it involve trigonometrics

Hi , I'm trying to solve this simple equaiton, but matlab giving me this message error. Could you help me? I've tried too many ways but its not working with me. 2*V(1-cos(a)) = E*a Where E=70 and V=170; I tried this: syms a1 E=70; V=170 ; eq=2*V -2*V*cos(a)- E*a==0; a = solve(eq, a)

 Respuesta aceptada

Cam Salzberger
Cam Salzberger el 15 de Mayo de 2017
Editada: Cam Salzberger el 15 de Mayo de 2017
If you make the corrections as Steven suggested, you'll get:
Warning: Cannot solve symbolically. Returning a numeric approximation instead.
> In solve (line 304)
a =
0
Not all equations can be solved symbolically. If you want to check your answer, here's a good way to do it:
>> eq
eq =
340 - 340*cos(a) - 70*a == 0
fplot(340-340*cos(a)-70*a)
hold on
fplot(0)
If you pan around a bit, you'll notice that there are only about 5 solutions to that equation.

3 comentarios

Steven Lord
Steven Lord el 15 de Mayo de 2017
And you can use the plot (with panning) to identify approximate locations for those solutions. Once you have found intervals bracketing your roots from the plot, you could convert your symbolic expression into an anonymous function with matlabFunction then call fzero on that anonymous function, specifying each of those bracketing intervals in turn to obtain a root inside the specified interval.
Hamza  Makhamreh
Hamza Makhamreh el 15 de Mayo de 2017
Thanks for you Mr. Cam, I tried it, it works fine, but what i was trying to find the solution in symbolic form though.
Hamza  Makhamreh
Hamza Makhamreh el 15 de Mayo de 2017
@Steven Lord, Could you explain farther? let say my solution is sth. around 0.4156. What shall i do?

Iniciar sesión para comentar.

Más respuestas (1)

Steven Lord
Steven Lord el 15 de Mayo de 2017
Editada: Steven Lord el 15 de Mayo de 2017

0 votos

You're missing a comma between the end of your syms command and the start of the next command. You also have a typo: you define the symbolic variable a1 then use the variable a in your code.

Preguntada:

el 15 de Mayo de 2017

Comentada:

el 15 de Mayo de 2017

Community Treasure Hunt

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

Start Hunting!

Translated by