Dear Robert,

Thanks a lot for the quick solution. That's a whole new support
experience!

I was hoping I could define
z=y.subs(locals())
so that z would automatically adapt if the local variables change, but
it does not. Every time I change the local variables, I have to
redefine z=y.subs(locals())
to update it. Whereas this is better than writing y(a=3,b=4), it would
be even more convenient if I could define a function that
automatically takes the actual local variables.
Almost there...

Thanks again,
Stan

On Jun 5, 11:47 am, Robert Bradshaw <[EMAIL PROTECTED]>
wrote:
> On Jun 5, 2008, at 2:34 AM, Stan wrote:
>
>
>
> > Dear all,
>
> > I would like to use Sage as an alternative to Mathematica and I am
> > quite amazed about the demonstrated functionality of Sage. I just have
> > a very basic problem with the way I am used to do calculations. Often,
> > I define a set of equations with different variables in them, then I
> > solve the equations for example for y, set some of the variables to
> > prescribed values and plot y as a function of the free variable. In
> > Sage, a symbolic function does not replace the variables by numbers if
> > the variables have values assigned to them.
>
> > Example:
>
> > sage: var ('x a b')
> > (x, a, b)
> > sage: y=2*x^a+b
> > sage: a=3;b=4
> > sage: y
> > 2*x^a + b
> > sage: y(a=3,b=4)
> > 2*x^3 + 4
>
> > In the above example, y only uses the values of a and b if they are
> > explicitly included in the call. This would become very tedious for a
> > system of equations if I want to plot several of them with the same
> > parameter values.
>
> > Is there a way of formulating equations that will automatically
> > evaluate if their variables have values assigned to them?
>
> I would try something like
>
> sage: var ('x a b')
> (x, a, b)
> sage: y=2*x^a+b
> sage: a=3;b=4
> sage: y
> 2*x^a + b
> sage: y.subs(locals())
> 2*x^3 + 4
>
> This will take all the local variables (with their names) and plug
> their values in.
>
>
>
> > Same example in Mathematica:
>
> > In[282]:=
> > y=2*x^a+b
>
> > Out[282]=
> > b + 2 x^a
>
> > In[283]:=
> > a=3;b=4;
> > y
>
> > Out[284]=
> > 4 + 2 x^3
>
> > Thanks for your help!
>
> > Stan

--~--~---------~--~----~------------~-------~--~----~
To post to this group, send email to sage-support@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/sage-support
URLs: http://www.sagemath.org
-~----------~----~----~----~------~----~------~--~---

Reply via email to