Items tagged with subs subs Tagged Items Feed

Given expr:=sin(n*x); and say I want to find its value at n=1,x=Pi/2, I found I can do

subs({n=1,x=Pi/2},expr); eval(%);

or combine into one

eval(subs({n=1,x=Pi/2},expr); ----(1)

But also one can write

eval(expr,{n=1,x=Pi/2}); ----- (2)

So if someone wants to just find value of expression as above, it seems (2) is much simpler than (1) since no need to call subs, it is done automatically. Is there anything else I am overlooking?

Only problem I see in the above, is that subs() uses different order: subs({},expr), while eval is:  eval(expr,{}); The other way around.

It would have been better if the order was the same in the API, to reduce confusion.



I'm trying to substitute one Differential equation into another differential equation.


eq1:=d*n(t)/dt = (rho(t)-beta)*n(t)/Lambda+lambda*C(t)+q

eq2:=diff(eq1, t)

resulting in -> eq2 := d*(diff(n(t), t))/dt = (diff(rho(t), t))*n(t)/Lambda+(rho(t)-beta)*(diff(n(t), t))/Lambda+lambda*(diff(C(t), t))

then I'm given that (diff(C(t), t)) is given by another equation: 

eq3:=d*C(t)/dt = beta*n(t)/Lambda-lambda*C(t)


At this point I'm trying to substitute equation 3 into equation 2 for diff(C(t),t)

eq4 := subs(diff(C(t), t) = rhs(eq2), eq5)


however no matter what way's I try this I get an error: 

Error, (in simpl/reloprod) invalid terms in product: (d*(diff(n(t), t))/dt = (diff(rho(t), t))*n(t)/Lambda+(rho(t)-beta)*(diff(n(t), t))/Lambda+lambda*(diff(C(t), t)))^-1


I then tried to map it but again i got an error specifically about the first parameter: 

Error, invalid operator parameter name

eq5:=map((d/dt C(t))->beta/Lambda*n(t)-lambda*C(t),eq2)


I'm just wondering if what I am trying to do is even possible in Maple? 

If anyone can help I would greatly appreciate it! 

Hi all

Assume that we have a function, say f(t) and we want to substitute t in it where t is:


by subs or other better command, how can we do it?

best wishes

Mahmood   Dadkhah

Ph.D Candidate

Applied Mathematics Department

Cause CodeTools:-Test will not eval the paramater:

f := x -> x+1;

y := 2;

CodeTools:-Test( f(1), 2); # this will work as normal

CodeTools:-Test( f(1), y); # this will not work because `y` will not eval as 2


So current my solution is

test := subs(y=2, () -> CodeTools:-Test( f(1), y));




I don't know is there any more proper solution for this.

More general, is there a way to force evaluate an `uneval` parameter?


Hi Everyone,

I have an expression that contains a second order derivative: EXPR:=ay''(x) + bz'(x) + cf'(x)+... The variable y  obeys an ordinary differential equation, y''(x) = f(y,x). I would like to replace the second order deriavtive in my expression with f(y,x). So far I have tried applyrule([y''(x)=f(y,x)],EXPR), subs(y''(x)=f(y,x),EXPR) and algsubs(y''(x)=f(y,x),EXPR) and nothing seems to work. Any helpful suggestions?


Hi again,


I am lost... again. I worked with the Physics package and have obtained my result in form of a lengthy equation of commutators of non-commuting objects. So basically my problem is solved, except that I now want to compute some examples to see, if everything is correct. For that purpose I want to replace now the non-commuting objects with explicit matrices, compute the result and see if it agrees with numerical studies. However, I have no clue which command to use, because if I try it with subs, then the multiplication is of the wrong type and Maple won't multiply my matrices. I tried to use eval but wasn't successful.

Here is an exampe to see what I mean.


Thank you for your time



The following MWE shows what I mean:




    local eq;



    return eq;

end proc:


test();  # yields -[-MZ,MY] - [MZ,MY]


%  # yields 0



Any ideas how I can solve this? I would like to return the simplified version.


How can I substitute a function in a matrix? This is what I tried but it's not working at all:

T := GenerateMatrix([lign1, lign2, lign3, lign4],[x, y, z], augmented);

Then I'd like to substitute another function with lign1:

T2:=subs(lign1=lign5, T);

But T2 = T and that wasn't really the point.


Sorry if the answer is obvious no amount of searching has helped me so far. I hope this question isn't too ridiculous.


kappa := Vector(7, [1,w[1]*(1-phi+phi*(1-1/(1+exp(-mu[p]-tau[p3]))))+(1-w[1])*

Download kappa.txt

Here is the expression, I am trying to simplify, given a set of rules.

I have tried different substitutions, using simplify with side rules, applyrule, eval, subs, algsubs.

But none seem to be working as the way I want them to be.


Is there a better way?





Do anyone know the keyboard shortcut to the standard subsribt in Maple 18 on a macbook with OS X? 




I'm working on a complex problem in Composite Materials. I've gotten to a near-result 6x6 matrix, with several cells containing polynomial denominators. I have an equation for simplifying these, which boils the polynomials down to a single variable, but I can't seem to get it to substitute in. Can anyone help me solve this? The problem is also time-sensitive.


Hello people in mapleprimes,


I want to modify the next equation: 

(**)  a:=sigma*omega*alpha = mu(H, H)*s*omega*gamma1*L+mu(F, H)*s*L-mu(F, H)*s*L*gamma1;

to be

(***)    sigma*omega*alpha = mu(H, H)*s*omega*gamma1*L+(1-gamma1)*mu(F, H)*s*L;


For that, first I defined b as


, and substituted this to a with



But, what I could obtain was only the orignal equation (**) not (***).

Please tell me how to use subs to this problem to obtain (***)。

Thanks in advance.



I know


works well as for what I wrote (**) as above.

But, originally, it was a result from substituting various equations into an equation.

For it, (****) does not work well.  



Hi there

I'm taking my first steps with maple and my question is not exactly briliiant

Putting in a simple way, I'm trying to solve sth that looks like this

> li := a*[cos(7*x+8*x*y+9*y)*cos(-7*x-8*x*y-9*y)];
             a [cos(7 x + 8 x y + 9 y) cos(-7 x - 8 x y - 9 y)]

and i want to replace


getting (if i do it by hand)

> algsubs(7*x+8*x*y+9*y = 20*y, li);
                    a [cos(20 y) cos(-7 x - 8 x y - 9 y)]

my question, is there an elegant way to do it? sth that would look like this?



thank you for any tips

1 2 3 4 Page 1 of 4