Re: Defining Solve results as variable
- To: mathgroup at smc.vnet.net
- Subject: [mg70056] Re: Defining Solve results as variable
- From: dimmechan at yahoo.com
- Date: Sun, 1 Oct 2006 04:10:25 -0400 (EDT)
- References: <eflebs$deg$1@smc.vnet.net>
Dear Diana, The following example will demonstrate you one way to follow. Suppose you solve the quadratic equation. Here is the list of solutions. sols = x /. Solve[a*x^2 + b*x + c == 0, x] {(-b - Sqrt[b^2 - 4*a*c])/(2*a), (-b + Sqrt[b^2 - 4*a*c])/(2*a)} And here is one way to define two functions. sols[[j]] is equivalent yo Part[sols,j], (j=1,2). f[b_, a_] := Evaluate[sols[[1]]] g[b_, a_] := Evaluate[sols[[2]]] Information[Evaluate] "Evaluate[expr] causes expr to be evaluated even if it appears as the argument of a function whose attributes specify that it should be held unevaluated." Attributes[Evaluate] = {Protected} And here is some verification that this method works. {f[2, 3], g[3, 4]} {(1/6)*(-2 - Sqrt[4 - 12*c]), (1/8)*(-3 + Sqrt[9 - 16*c])} Solve[f[b, a] == g[b, a], c] {{c -> b^2/(4*a)}} Regards Dimitris Anagnostou Î?/Î? Diana ÎγÏ?αÏ?ε: > Hi, > > I am trying to write a program which defines a variable with the > results of a Solve equation. > > So, if I write > > Solve[x+1=2,x] > > I get {{x -> 1}} > > I have not been able to figure out how to define a variable to the > result, so that if I then type > > x1 = %, for example, it defines x1 as 1. > > I know this must be simple, but I didn't find it in the Help material. > > Thanks in advance, > > Diana