using solve when it involve trigonometrics

2 views (last 30 days)
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)

Accepted Answer

Cam Salzberger
Cam Salzberger on 15 May 2017
Edited: Cam Salzberger on 15 May 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 Comments
Hamza  Makhamreh
Hamza Makhamreh on 15 May 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 on 15 May 2017
@Steven Lord, Could you explain farther? let say my solution is sth. around 0.4156. What shall i do?

Sign in to comment.

More Answers (1)

Steven Lord
Steven Lord on 15 May 2017
Edited: Steven Lord on 15 May 2017
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.

Community Treasure Hunt

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

Start Hunting!