using solve when it involve trigonometrics

2 vues (au cours des 30 derniers jours)
Hamza  Makhamreh
Hamza Makhamreh le 15 Mai 2017
Commenté : Hamza Makhamreh le 15 Mai 2017
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)

Réponse acceptée

Cam Salzberger
Cam Salzberger le 15 Mai 2017
Modifié(e) : Cam Salzberger le 15 Mai 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 commentaires
Hamza  Makhamreh
Hamza Makhamreh le 15 Mai 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 le 15 Mai 2017
@Steven Lord, Could you explain farther? let say my solution is sth. around 0.4156. What shall i do?

Connectez-vous pour commenter.

Plus de réponses (1)

Steven Lord
Steven Lord le 15 Mai 2017
Modifié(e) : Steven Lord le 15 Mai 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.
  1 commentaire
Hamza  Makhamreh
Hamza Makhamreh le 15 Mai 2017
this due to copy-paste issue.

Connectez-vous pour commenter.

Community Treasure Hunt

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

Start Hunting!

Translated by