MaplePrimes Questions

Maple does not evaluate

>Re( (2-I*X)^4) ),  assuming((X, realcons)

or

>assume(X, realcons);

> Re( (2-I*X)^4) );

Why do these simple expression return unevealuated?

 

Hi,

I want to apply a rule to simplify an expression. The applyrule command works, when used directly in the worksheet. When I try to use the command within a procedure, Maple throws an error I cannot decipher:

Error, (in PatternMatching:-AlgStruct:-InsertPattern) first operand of `::' must be a name

 

Here is a full demonstration worksheet:

restart:

anexp:=abs(x)^2;

abs(x)^2

(1)

simplify(anexp);

abs(x)^2

(2)

rmabssq := proc(inexp)
description "removes the abs^2 construct in an expression":
local ruleabssqared1,ruleabssqared2,outexp:
    ruleabssqared1:= abs(''a''::algebraic)^2= ''a''^2:
    ruleabssqared2:= abs('expand'(-''a'')::algebraic)^2= ''a'':
    outexp:= applyrule([ruleabssqared1,ruleabssqared2],inexp):
    return outexp:
end proc;
 

proc (inexp) local ruleabssqared1, ruleabssqared2, outexp; description "removes the abs^2 construct in an expression"; ruleabssqared1 := abs(''a''::algebraic)^2 = ''a''^2; ruleabssqared2 := abs((('expand')(-''a''))::algebraic)^2 = ''a''; outexp := applyrule([ruleabssqared1, ruleabssqared2], inexp); return outexp end proc

(3)

## does not work :(
rmabssq(anexp);

Error, (in PatternMatching:-AlgStruct:-InsertPattern) first operand of `::' must be a name

 

## works!
ruleabssqared1:= abs(''a''::algebraic)^2= ''a''^2:
ruleabssqared2:= abs('expand'(-''a'')::algebraic)^2= ''a'':
newexp:= applyrule([ruleabssqared1,ruleabssqared2],anexp);

x^2

(4)

 


 

Download applyrule_4.mw

Thanks for your help

Hello,

i have a vector-valued function mapping from R^n  -> R^m
I  compute its Jacobian Matrix as well as the Hessian Matrix of each output with regard to the inputs, which works so far.
Now I would like to use the CodeGeneration package to generate optimized C Code to compute these matrices numerically. This is, where i encounter a Problem:

I would like to optimize Code for all matrixes at once, because they contain common subexpressions. However CodeGeneration::C tells me it is unable to optimize the given input and generates unoptimized code.


I appended an exemplary file to illustrate the problem: Jacobian_Hessian_codeGeneration_tryout.mw

short version:

C(Jac, optimize = tryhard, resultname = JacobianMatrix);
C(H1, optimize = tryhard, resultname = Hessian1); 
C(H2, optimize = tryhard, resultname = Hessian2); 
C(H3, optimize = tryhard, resultname = Hessian3)

works, but is suboptimal.

C([JacobianMatrix = Jac, Hessian1 = H1, Hessian2 = H2, Hessian3 = H3], optimize)

fails to optimize and

C([Jac, H1, H2, H3], optimize)

fails completely.

(With Jac beeing a m by n matrix and H1-3 beeing n by n matrices)

If anyone can tell me what I'm missing here I'd really appreciate the help.

Hi guys ,

Actually i dont know how to solve the following complicated differential equations by numerical methods ,

numerical.mw

 

Thank you for your attention to this matter

Hi

Can we sketch a Simulink model using Maple.

 

Dear friend,

please suggest a way for manipulation of derivative of a function symbolically. Assume

Typesetting[Suppress]([f(x)]);
Ex1 :=expand(diff(f(x+y)+x*f(x-y), x)^2)+expand(diff(f(x-y)-y*f(x+y), x)^2);

Result is as needed:

Ex1 := (D(f))(x+y)^2+2*(D(f))(x+y)*f(x-y)+2*(D(f))(x+y)*x*(D(f))(x-y)+f(x-y)^2+2*f(x-y)*x*(D(f))(x-y)+x^2*(D(f))(x-y)^2+(D(f))(x-y)^2-2*(D(f))(x-y)*y*(D(f))(x+y)+y^2*(D(f))(x+y)^2

But later I cannot use D(f) as a function. Expressions

subs((D(f)) = (t -> 1-t), Ex1);
subs(diff(f(x),x) = (t -> 1-t), Ex1);

do not handle it as a function.

Maple 16 code

 

N1 := FileTools[Text][CountLines](g)

I encounter an error message

in FileTools:-Text:-CountLines) permission denied

What  went wrong ?  This never happened before

I  re install  Maple 16, the same error persists.

 

Please help

Martin
 

I am trying Maple 2017 pdsolve for heat PDE in 1D. It seems Maple can solve now  heat PDE with homogeneous dirichlet boundary conditions (good). But when I set the boundary conditions to homogeneous neumann B.C. instead, I get an answer when this B.C. is prescribed to the left side. When this B.C. is on the right side, I get an error. Which is strange.

I am newbie in Maple, so may be I am doing something wrong in the syntax?  In addition, the answer I get when homogeneous neumann B.C. is on the left side, does not match my hand solution, which I know is correct. I'll show this below.

First, here is the case where it works. homogeneous dirichlet boundary conditions on both sides:

restart;
pde:=diff(u(x,t),t)=k*diff(u(x,t),x$2);
bc:=u(0,t)=0,u(L,t)=0;
sol:=pdsolve([pde,bc]) assuming 0<L:

This answer is correct. Now when setting the right side to homogeneous neumann B.C. I get an error

restart;
pde:=diff(u(x,t),t)=k*diff(u(x,t),x$2);
bc:=u(0,t)=0,D[1](u)(L,t)=0;
pdsolve([pde,bc]) assuming 0<L;

I think may be it does not like `L` there in the B.C. But how else to tell it this B.C.? The above is the only syntax I know. And finally, when using homogeneous neumann B.C. on the left side, I get this result

restart;
pde:=diff(u(x,t),t)=k*diff(u(x,t),x$2);
bc:=D[1](u)(0,t)=0,u(L,t)=0;
pdsolve([pde,bc]) assuming 0<L;

The correct answer for this B.C. is

The answer should be series solution as well with eigenvalues. I think if I expand Maple solution in series may be I will get it to match my hand solution. I need to look at this more later.

my question is: Why do I get an error when homogeneous neumann B.C. is on the right side but not on the left side?

I suspect I am not entering the B.C. correctly? If so, How does one enter homogeneous neumann B.C. for this 1D heat PDE?

 

how can I sort a diff EQ by its degree.  Example 4th order with 4 being farthest left in normal reading format?

 

D4 + D3 + D2 +D + C = F(t)

 

my equation display is currently:

C + D + D2.......

Thanks,

Bill

I'm not quite sure how I should put this and the title might be a bit misleading. Basicly when I use variables which I have defined with a value I would like for the equation to be shown with the values of the variables before the results. Not sure if that made sense so I made this picture.

Basicly when I write as in line (1) it just gives me the result, which is fine but I'd like it converted too if that makes any sense as in line (2). I made line (2) myself (just changed the colour of standard mathtype). I'd like the calculations to be shown as in line (2) where first you see the formula: lambda=v/f, then it inserts the values of the variables and finally calculates this. Is there any way to do this?

I couldn't really find anything in the manual or using google.

Regards, Simon

 

  Assume that one has an equation P(a,b,c,d,e,f)=0. How do we solve this equation so that the parameters b and c are in terms of a, and the parameters d and e in terms of f?

hello . how can i get 7 given parameters(b1,a1,b1,a2,b2,.....) in this equation with maple. thanks

 

 

 

1.mw

Imagine we have an ODE system 

odeSys := {diff(x(t),t$2)+diff(x(t),t)+x(t)=f(t),diff(y(t),t$2)+2*diff(y(t),t)+3*y(t)=g(t)};

It is easy to transform this system into a first order form by hand. But for larger systems, the procedure by hand becomes very error prone. Is there an intelligent way to transform a system of n scalar ODEs (order m) into a first order system? I know that the first order form is not unique. It is only important to reduce the system to a system of first order equations.

 

Hi,

this forum has helped me a lot since I'm quite new at maple. There are lot of questions about the solution of _Z in roots but I still can't figure it out.

Here my problem:

f(x,y)= x*y - (V^(alpha)*W)/(V-a*x-b*y)^alpha

x>0, y>0, a>0, b>0, alpha>0, V>0, W>0, V-a*x-b*y>0

I need to find the maximum values for x and y. But all the solutions have got _Z.

How can I eliminate _Z? Thanks!

Best regards,

Won

 

I am learning pdsolve in Maple. When I try to solve a diffusion pde, I get this strange error message, and I do not understand what it means: This is using Maple 2017 on windows 7

restart;
bc:=f(t,0)=0,f(t,1)=1;
ic:=f(0,x)=piecewise(x=0,1,0);
pde:=diff(f(t,x),t)=diff(f(t,x),x$2);
pdsolve({pde,bc,ic},f(t,x));

The error is

Error, (in casesplit/K) this version of casesplit is not yet handling the function: piecewise

Am I writing the initial conditions (ic) wrong?  Maple help shows nothing on this. I think Maple does not like my initial conditions. But do not know how to correct it now.

What causes this error?

 

 

First 973 974 975 976 977 978 979 Last Page 975 of 2429