Groups | Search | Server Info | Login | Register
Groups > comp.soft-sys.math.mathematica > #16929
| From | Bob Hanlon <hanlonr357@gmail.com> |
|---|---|
| Newsgroups | comp.soft-sys.math.mathematica |
| Subject | Re: Numerical solution from Module |
| Date | 2014-05-12 04:42 +0000 |
| Message-ID | <lkpjfc$ljt$1@smc.vnet.net> (permalink) |
| References | <20140509060707.C211C6AE5@smc.vnet.net> |
| Organization | Time-Warner Telecom |
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@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
>
>
>
Back to comp.soft-sys.math.mathematica | Previous | Next | Find similar
Re: Numerical solution from Module Bob Hanlon <hanlonr357@gmail.com> - 2014-05-12 04:42 +0000
csiph-web