Re: How to use the result of Solve in Plot?
- To: mathgroup at smc.vnet.net
- Subject: [mg111649] Re: How to use the result of Solve in Plot?
- From: Helen Read <hpr at together.net>
- Date: Mon, 9 Aug 2010 05:12:23 -0400 (EDT)
- References: <i3m3sv$hi4$1@smc.vnet.net>
- Reply-to: HPR <read at math.uvm.edu>
On 8/8/2010 7:19 AM, Eduardo M. A. M.Mendes wrote:
> Hello
>
> I want to use the result of Solve[{5*x+4*y==12},{y}] in Plot[.,{x,0,2}].
> Plot[Solve[.],{x,0,2}] does not work.
The results of Solve are given as a list of replacement rules. For
example, try the following.
Solve[14 x^2 - 17 x - 6 == 0, x]
The output looks like this:
{{x -> -(2/7)}, {x -> 3/2}}
This is a list of replacement rules, {x->-2/7} and {x->3/2}
Here is how we evaluate x according to a replacement rule.
x/.{x->-2/7}
x/.{x->3/2}
So to get the solutions out of Solve, we do this.
x /. Solve[14 x^2 - 17 x - 6 == 0, x]
You might want to name them when you do it.
solns=x /. Solve[14 x^2 - 17 x - 6 == 0, x]
Try putting solns in a new cell and evaluate. See?
You can also pick out the solutions individually, like this.
a=x /. Solve[14 x^2 - 17 x - 6 == 0, x][[1]]
b=x /. Solve[14 x^2 - 17 x - 6 == 0, x][[2]]
Plot[14x^2-17x-6,{x,a,b}]
Now, go back to your example. For starters, you don't need all those
curly braces, since you have only one equation and one variable to solve
for. (If you have a list of equations to solve simultaneously, and a
list of variables to solve for, enclose the list of equations and the
list of variables in curly braces.)
So you can enter your equation more simply, like this.
Solve[5*x + 4*y == 12, y]
Now, the result is given in the form of a list of replacement rules. You
want to evaluate y according to the replacement rule given by the first
solution (which in the example is the only solution). Since the result
is a function, rather than naming it the way we did in the previous
example, let's define the solution as a function of x.
f[x_] = y /. Solve[5*x + 4*y == 12, y][[1]]
Plot[f[x], {x, 0, 2}]
--
Helen Read
University of Vermont