Services & Resources / Wolfram Forums / MathGroup Archive
-----

MathGroup Archive 2009

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

Search the Archive

Re: Re: SetDelayed::write ... [x_] is protected

  • To: mathgroup at smc.vnet.net
  • Subject: [mg97938] Re: [mg97899] Re: [mg97863] SetDelayed::write ... [x_] is protected
  • From: DrMajorBob <btreat1 at austin.rr.com>
  • Date: Thu, 26 Mar 2009 05:20:55 -0500 (EST)
  • References: <16449487.41188.1237895183797.JavaMail.hanlonr@127.0.0.1>
  • Reply-to: drmajorbob at bigfoot.com

> Thanks for the Flatten, now it seem that it works (without any error
> messages), but in fact it doesn't work.

No, it doesn't seem to work... since it doesn't work.

But this does:

Clear[x, myfun]
sol = {{i1 -> 220/x}, {i2 -> 100 + x}};
myfun[x_] = 50*i1 + 2*i2 /. Flatten[sol]

11000/x + 2 (100 + x)

myfun[1]

11202

or this:

Clear[x, myfun]
sol = {{i1 -> 220/x}, {i2 -> 100 + x}};
myfun[x_] := Evaluate[50*i1 + 2*i2 /. Flatten[sol]]

myfun[1]

11202

Bobby

On Wed, 25 Mar 2009 05:42:59 -0500, Serych Jakub <Serych at panska.cz> wrote:

> Thanks for the Flatten, now it seem that it works (without any error
> messages), but in fact it doesn't work.
>
> sol = {{i1 -> 220/x}, {i2 -> 100 + x}};
> myfun[x_] := 50*i1 + 2*i2 /. Flatten[sol]
> (no errors here) but:
>
> In: myfun[1]
>
> Out: 11000/x + 2 (100 + x)
>
> and not 11202 which would be result for argument 1.
>
> So it cannot recognize (or connect together with the pattern x_) the =
> variable
> x in the result from sol.
>
> What to do with it?
>
> Thanks
>
> Jakub
>
>
>> -----Original Message-----
>> From: Bob Hanlon [mailto:hanlonr at cox.net]
>> Sent: Tuesday, March 24, 2009 12:46 PM
>> To: Serych Jakub
>> Cc: mathgroup at smc.vnet.net
>> Subject: RE: [mg97863] SetDelayed::write ... [x_] is protected
>>
>> sol = {{i1 -> 220/x}, {i2 -> 100 + x}};
>>
>> myfun[x_] = 50*i1 + 2*i2 /. Flatten[sol]
>>
>> 2*(x + 100) + 11000/x
>>
>>
>>
>> Bob Hanlon
>>
>>
>> On Tue, Mar 24, 2009 at 7:46 AM , Serych Jakub wrote:
>>
>> > Dear M users,
>> > I have solution of equations which is dependend on one
>> parameter lets
>> > say:
>> > sol={{i1->220/x}, {i2 -> 100+x}} and I need to define
>> function based
>> > on this solution with the x as argument lets say:
>> myfun[x_]:=50*220/x
>> > + 2 (100+x);
>> >
>> > I'm trying to do it like this:
>> >
>> > myfun[x_]:=50 * i1 + 2 * i2 /. sol
>> >
>> > But it prints the error message: "SetDelayed::write ... [x_] is
>> > protected".
>> >
>> > Does anybody know what's the problem and how to define such
>> function?
>> >
>> > Thanks in advance
>> >
>> > Jakub
>>
>



-- 
DrMajorBob at bigfoot.com


  • Prev by Date: What's going on here (Table-generated lists)?
  • Next by Date: Re: solving nonlinear simultaneous equations
  • Previous by thread: Re: SetDelayed::write ... [x_] is protected
  • Next by thread: Re: SetDelayed::write ... [x_] is protected