Re: Solve can solve it with some help
- To: mathgroup at smc.vnet.net
- Subject: [mg115414] Re: Solve can solve it with some help
- From: Bob Hanlon <hanlonr at cox.net>
- Date: Mon, 10 Jan 2011 02:39:57 -0500 (EST)
eqn = {0 == (1/2)*m*vf^2 + 0 - m*g*(R - R*Cos[theta]),
m*(vf^2/R) == m*g*Cos[theta]};
For your Solve you need to specify two variables
theta /. Solve[eqn, {vf, theta}] // Union
Solve::ifun: Inverse functions are being used by Solve, so some solutions may not be found; use Reduce for complete solution information. >>
{-ArcCos[2/3], ArcCos[2/3]}
You can extract from Reduce
Cases[Reduce[eqn, theta],
_?(! FreeQ[#, theta] &), {4}] // Union
{theta == -ArcCos[2/3] + 2 \[Pi] C[1] ||
theta == ArcCos[2/3] + 2 \[Pi] C[1]}
Depending on the complexity of the result you will have to change the level specification for Cases.
Bob Hanlon
---- Eduardo Cavazos <wayo.cavazos at gmail.com> wrote:
=============
Hello,
Solve doesn't come up with anything for these two equations:
{
0 == 1/2*m*vf^2 + 0 - m*g*(R - R*Cos[\[Theta]]),
m*vf^2/R == m*g*Cos[\[Theta]]
};
Solve[%, \[Theta]]
If you manually solve one of them for vf, Solve can take care of the
rest:
0 == 1/2*m*vf^2 + 0 - m*g*(R - R*Cos[\[Theta]]);
% /. Solve[m*vf^2/R == m*g*Cos[\[Theta]], vf][[2]];
Solve[%, \[Theta]]
{{\[Theta] -> -ArcCos[2/3]}, {\[Theta] -> ArcCos[2/3]}}
Of course, Reduce can handle the original set. However, Solve is nice
due to the brevity of output. (Side question: is there a way to extract
an equation from the results of Reduce based on variable name? Sometimes
the results from Reduce can be so verbose, it'd be nice to say "extract
equation for theta".)
My main question: is there a way to get Solve to solve the original set
of two equations without taking the manual approach?
Ed
--
Bob Hanlon