Re: Numerical solution from Module
- To: mathgroup at smc.vnet.net
- Subject: [mg132711] Re: Numerical solution from Module
- From: Bob Hanlon <hanlonr357 at gmail.com>
- Date: Mon, 12 May 2014 00:42:03 -0400 (EDT)
- Delivered-to: l-mathgroup@mail-archive0.wolfram.com
- Delivered-to: l-mathgroup@wolfram.com
- Delivered-to: mathgroup-outx@smc.vnet.net
- Delivered-to: mathgroup-newsendx@smc.vnet.net
- References: <20140509060707.C211C6AE5@smc.vnet.net>
It is a scoping issue which is why the approach that uses explicit parameters in f works. Alternatively, deconflict the symbols Clear[a, b, c, f, soln]; f[x_] = (a*x + b)*x + c; soln[aa_, bb_, cc_] = Module[{x}, x /. Solve[f[x] == 0, x] /. {a -> aa, b -> bb, c -> cc}]; soln[a, b, c] {(-b - Sqrt[b^2 - 4*a*c])/(2*a), (-b + Sqrt[b^2 - 4*a*c])/(2*a)} soln[1, -3, 2] {1, 2} Bob Hanlon On Fri, May 9, 2014 at 2:07 AM, Rob Y. H. Chai <yhchai at ucdavis.edu> wrote: > > Hello every one, > > > > Here is a simple question. Say I define a function > > > > In[14]:= f[x_] := a*x^2 + b*x + c > > > > Then I use Module to frame the solution of f[x] ==0 > > > > In[15]:= soln[a_, b_, c_] := Module[{}, xsoln = Solve[f[x] == 0 , x]; x /. > xsoln] > > > > When I enter numerical values for parameters a, b, and c in the module, > f[x] > never sees these numerical values, and returns a symbolic solution. > > > > In[11]:= soln[1, -3, 2] > > > > Out[11]= {(-b - Sqrt[b^2 - 4 a c])/(2 a), (-b + Sqrt[b^2 - 4 a c])/(2 a)} > > > > But I want the module to return a numerical solution as: > > {{x -> 1}, {x -> 2}} > > > > My question is: without bringing f[x] explicitly into the Module function, > and without redefining f as f[a_,b_,c_][x] := a*x^2+b*x+c, how can I get > the > module to return a numerical solution? > > > > Thanks - Rob Chai > > >
- References:
- Numerical solution from Module
- From: "Rob Y. H. Chai" <yhchai@ucdavis.edu>
- Numerical solution from Module