Items tagged with subs subs Tagged Items Feed

I've got a pair of equations :

x^3-4x=y and y^3-4y=x

 which I've defined as eqns:={,}

and 9 solutions as solns1:={,,..}

and being stored as s1,s2,..s9

when I run a command such as testeq(subs(s1,eqns[1])=subs(s1,eqns[2])

I get an error of passing invalid arguments into testeq. What I essentially need to show is that on substituting for x,y from each s1,..s9; both equations get the same result. What am I doing incorrectly?

I've also noticed that just subs(s1,eqns[1]) returns an equality; I don't quite understand why


I have a question: why does the following not work and how can I make it work:


The result is f(x) a b but I want f(x) y. What can I do? I also tried eval.

Thanks and best regards.


I use the VectorCalculus package to calcutate derivative formula for geometric functions, and met difficulity simplifying the result expression.

For example, I define some vectors P, S, V like below:

P:=<Px, Py, Pz>, S:=<Sx, Sy, Sz>, V:=<Vx, Vy, Vz>

then define an intermediate variable Q:=P - S,

then define a function d:= sqrt(DotProduct(Q, Q)-(DotProuct(Q,V))^2)

by calculating the function's derivative w.r.t Px I got a very complex result expression:

dpx:=1/2 * (2Px - 2Sx - 2 ( (Px - Sx) Vx + (Py - Sy) Vy + (Pz - Sz)Vz )Vx ) / (sqrt( (Px-Sx)^2 + (Py-Sy)^2 + (Pz-Sz)^2 - .....)


Apparently this expression can be simplified by substituting its sub-expression with pre-defined variables like Q and d.

I know I can use subs, eval, and subsalg to do it manually:

subs(1/(sqrt( (Px-Sx)^2 + (Py-Sy)^2 + (Pz-Sz)^2 - .....) = 1/dv, dfdpx)

subs((Px - Sx) Vx + (Py - Sy) Vy + (Pz - Sz)Vz = dotproduct_q_v, dfdpx)

and I can get a simplified expression like this:



But it's like my brain does the simplification first, and Maple only does the text substitution for me.

Is there any way to do it automatically?





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? 




1 2 3 4 5 Page 1 of 5