Mathematica 9 is now available
Services & Resources / Wolfram Forums / MathGroup Archive
-----

MathGroup Archive 2009

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

Search the Archive

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

  • To: mathgroup at smc.vnet.net
  • Subject: [mg97945] Re: SetDelayed::write ... [x_] is protected
  • From: "Sjoerd C. de Vries" <sjoerd.c.devries at gmail.com>
  • Date: Thu, 26 Mar 2009 05:22:13 -0500 (EST)
  • References: <16449487.41188.1237895183797.JavaMail.hanlonr@127.0.0.1>

I already told you before that you should get rid of the SetDelayed
(:=) and use Set (=) instead for the definition of myfun.

Cheers -- Sjoerd

On Mar 25, 12:41 pm, "Serych Jakub" <Ser... 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:hanl... at cox.net]
> > Sent: Tuesday, March 24, 2009 12:46 PM
> > To: Serych Jakub
> > Cc: mathgr... at smc.vnet.net
> > Subject: RE:  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



  • Prev by Date: Re: SetDelayed::write ... [x_] is protected
  • Next by Date: Re: UNDO and Mathematica - how useless is it?
  • Previous by thread: Re: SetDelayed::write ... [x_] is protected
  • Next by thread: Re: Question about how to graph the vector field for the