MathGroup Archive 2008

[Date Index] [Thread Index] [Author Index]

Search the Archive

Re: Problem with replacement rules

  • To: mathgroup at smc.vnet.net
  • Subject: [mg92043] Re: Problem with replacement rules
  • From: Jens-Peer Kuska <kuska at informatik.uni-leipzig.de>
  • Date: Thu, 18 Sep 2008 06:14:05 -0400 (EDT)
  • References: <ga82r6$re7$1@smc.vnet.net> <gaar52$17m$1@smc.vnet.net> <gapf6a$o03$1@smc.vnet.net>

Hi,

and what does Solve[] ? work with polynomial equations???
So there is no problem, because nobody would use Solve[]
for an equation like Sin[x]-y

Regards
   Jens

magma wrote:
> On Sep 11, 12:16 pm, Jens-Peer Kuska <ku... at informatik.uni-leipzig.de>
> wrote:
>> Hi,
>>
>> makeFunction[expr_, x_] := Module[{var},
>>    var = Complement[Variables[expr], {x}];
>>    Function @@ {var, x /. Solve[expr == 0, x][[1]]}
>>    ]
>>
>> and
>>
>> f = makeFunction[2 + x - y^2, x];
>>
>> Plot[f[z], {z, -2, 2}]
>>
>> ??
>>
>> Regards
>>    Jens
> 
> This code proposed by  Jens-Peer Kuska only works with polynomial
> equations, because Variables only works correctly with polynomials.
> For example,
> 
> makeFunction[Sin[x]-y,x]
> 
> gives as output:
> 
> Function[{y, Sin[x]}, ArcSin[y]]
> 
> which is incorrect and cannot be plotted.
> 
> A more general code is the following:
> 
> invFunction[expr_, x_, vars_List] :=
>  Function @@ {vars, x /. Solve[expr == 0, x][[1]]}
> 
> where the argument x is the dependent variable and  vars_List is the
> list of independent variables.
> 
> Now you have as before:
> f = invFunction[2 + x - y^2, x, {y}]
> 
> Plot[f[z], {z, -2, 2}]
> 
> for your polynomial functions, but also
> 
> f = invFunction[Sin[x] - y, x, {y}]
> Plot[f[z], {z, -2, 2}]
> 
> without a problem.
> 
> An example with multiple indep. variables:
> 
> f = invFunction[Sin[x] - y - z, x, {y, z}]
> Plot3D[f[y, z], {y, -1, 1}, {z, -1, 1}]
> 
> hth
> 


  • Prev by Date: Re: Functional programming?
  • Next by Date: Re: How to separate a sum into terms
  • Previous by thread: Re: Problem with replacement rules
  • Next by thread: Re: Problem with replacement rules