List Archives > 
Maple User Group List Archive > 
Archive by date > 
This Month By Date > 
This Month By Topic
[MUG] problems with subs()
| [MUG] problems with subs() |
|
Author: Charles James Leonardo Quarra Cappiello
Posted: Thu, 21 Nov 2002 20:23:31 -0400
|
>> From: "Charles James Leonardo Quarra Cappiello" "charsquarra"
Hi,
Im having problems with subs(), esentially, its behaviour inside a procedure
is different from direct execution:
lets suppose i have this list:
>L;
[ -1/f(z(w)) , (6*f(z(w))-3*D(f)(z(w))*z(w))/f(z(w))^3 , ...(other items) ]
in normal execution, i can eliminate z(w) with subs in the following way:
>subs( z(w)=u , L[2] );
(6*f(u)-3*D(f)(u)*u)/f(u)^3
then i want to make this a function:
>unapply( % , f , u);
(f,u)->(6*f(u)-3*D(f)(u)*u)/f(u)^3
but inside a proc im doing: (P is a function, ord is an integer)
...
func:=0;
for k from 1 to ord do;
temp:=subs( z(w)=u , L[k] );
temp:=unapply(temp ,f ,u);
func:=unapply( apply(func,t)+apply(temp,P,0)*t^k/k! , t);
end do;
...
the weird thing is that when im executing this procedure, the resulting
function 'func' keeps z(w) terms, why subs isnt working properly inside the
procedure?
Greetings,
Charles Quarra
_________________________________________________________________
Add photos to your messages with MSN 8. Get 2 months FREE*.
http://join.msn.com/?page=features/featuredemail
|
| [MUG] Re: problems with subs() |
|
Author: Robert Israel
Posted: Tue, 26 Nov 2002 15:55:22 -0800
|
>> From: Robert Israel "israel"
I don't think you included enough of your procedure to allow us to guess
what's causing your problem. The subs function works exactly the same
inside a procedure as outside. If I put your code fragment into a
procedure, that substitution will occur perfectly well.
One possibility is that your problem is related to the distinction between
global and local variables. If, say, w is a local variable of the
procedure, and z(w) is part of the code of the procedure, then the w
there is the local variable w. But if the w in L[k] comes from outside
the procedure, then that's the global variable w. Maple will not
recognize these as the same variable, even though they look the same to
us.
Robert Israel "israel"
Department of Mathematics http://www.math.ubc.ca/~israel
University of British Columbia
Vancouver, BC, Canada V6T 1Z2
On Thu, 21 Nov 2002, Charles James Leonardo Quarra Cappiello wrote:
> Hi,
>
> Im having problems with subs(), esentially, its behaviour inside a procedure
> is different from direct execution:
>
> lets suppose i have this list:
>
> >L;
>
> [ -1/f(z(w)) , (6*f(z(w))-3*D(f)(z(w))*z(w))/f(z(w))^3 , ...(other items) ]
>
> in normal execution, i can eliminate z(w) with subs in the following way:
>
> >subs( z(w)=u , L[2] );
>
> (6*f(u)-3*D(f)(u)*u)/f(u)^3
>
> then i want to make this a function:
>
> >unapply( % , f , u);
>
> (f,u)->(6*f(u)-3*D(f)(u)*u)/f(u)^3
>
> but inside a proc im doing: (P is a function, ord is an integer)
>
> ...
> func:=0;
> for k from 1 to ord do;
> temp:=subs( z(w)=u , L[k] );
> temp:=unapply(temp ,f ,u);
> func:=unapply( apply(func,t)+apply(temp,P,0)*t^k/k! , t);
> end do;
> ...
>
> the weird thing is that when im executing this procedure, the resulting
> function 'func' keeps z(w) terms, why subs isnt working properly inside the
> procedure?
>
> Greetings,
>
> Charles Quarra
>
>
> _________________________________________________________________
> Add photos to your messages with MSN 8. Get 2 months FREE*.
> http://join.msn.com/?page=features/featuredemail
>
|
Previous by date: [MUG] Re: sorting alphanumeric lists, Maple User Group
Next by date: [MUG] graphing parametric equations in 3d, Han Wesseling
Previous thread: [MUG] ODE with singularity, Jens-Uwe Herrmann
Next thread: [MUG] graphing parametric equations in 3d, Han Wesseling
|