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 -~----------~----~----~----~------~----~------~--~---