Maple 2018 Questions and Posts

These are Posts and Questions associated with the product, Maple 2018


I have a question regarding the dsolve function in Maple. I am trying to solve a system of 5 first order ODE's. First I solve the differential equations to arrive at the general solution using the dsolve command. Here Maple already produces very large and slow output while I would actually expect a much more compact output. 

Then I want to evaluate the final solution by using the initial conditons. At this point Maple keeps 'evaluating..' and does not come up with a solution. Only when I fill in all the parameters Maple finds a solution ( still very slow ). However as I want to be able to play with the input parameters after evaluation I want a solution without having to fill in the parameters prior to solving the system.

My question is whether I am presenting the system of ODE's in the right way to Maple. Should I rewrite the system for Maple to be able to produce a more dense solution? Or should I for instance use Laplace Transform to simplify the equations prior to solving?

Please help!




eq1 := sig_total-sig2(t)-sig3(t)-sig4(t)-sig5(t)+T1*(-(diff(sig2(t), t))-(diff(sig3(t), t))-(diff(sig4(t), t))-(diff(sig5(t), t))) = u1*(diff(eps(t), t));
eq2 := sig2(t)+T2*(diff(sig2(t), t)) = u2*(diff(eps(t), t));
eq3 := sig3(t)+T3*(diff(sig3(t), t)) = u3*(diff(eps(t), t));
eq4 := sig4(t)+T4*(diff(sig4(t), t)) = u4*(diff(eps(t), t));
eq5 := sig5(t)+T5*(diff(sig5(t), t)) = u5*(diff(eps(t), t));

dsolve({eq1, eq2, eq3, eq4, eq5}, {eps(t), sig2(t), sig3(t), sig4(t), sig5(t)});
sig_total := sig_0;
desys := {eq1, eq2, eq3, eq4, eq5}; ic := {eps(0) = sig_0/(E1+E2+E3+E4+E5), sig2(0) = sig_0/(1+(E1+E3+E4+E5)/E2), sig3(0) = sig_0/(1+(E1+E2+E4+E5)/E3), sig4(0) = sig_0/(1+(E1+E3+E2+E5)/E4), sig5(0) = sig_0/(1+(E1+E3+E4+E2)/E5)};

solution := combine(dsolve(desys union ic, {eps(t), sig2(t), sig3(t), sig4(t), sig5(t)})); assign(solution);

E_total := 33112; a := .1; b := .2; c := .15; d := .2; e := .35;

E1 := a*E_total; E2 := b*E_total; E3 := c*E_total; E4 := d*E_total; E5 := e*E_total; T1 := 1; T2 := 10; T3 := 100; T4 := 1000; T5 := 10000; u1 := T1*E1; u2 := T2*E2; u3 := T3*E3; u4 := T4*E4; u5 := T5*E5; sig_0 := 2;

plot(eps(t), t = 0 .. 672, y = 0 .. 0.12e-3);
y := eval(eps(t), t = 672);



Here are two sequences of commands that should give the same kind of plots. But, while the first one returns the expected display, the second doesn't (look to the labels on the histogram plot).

There is no hidden character that could explain this second display. Just that I proceeded this way:

  1. I executed the second sequence once.
  2. Then I told myself that displaying the histogram was superfluous, so I replaced its final semicolon with a colon.
  3. And I finally thought that, no, the histogram had a real interest and that I should display it; and I restored the semcolon (this is what you can see on the second sequence).
    And this add to the histogram the labels inherited from the second plot ...

Nothing dramatic here, but was the development team aware of this curiosity?



N := 10:
S := Statistics:-Sample(Normal(0, 1), 10)^+:
plots:-logplot(<  < [$1..N]> | S >, labels=["A", "B"]);




N := 10:
S := Statistics:-Sample(Normal(0, 1), 10)^+:
plots:-logplot(<  < [$1..N]> | S >, labels=["A", "B"]);






I am studying the motion of a beam coupled to piezoelectric strips. This continuous system is modelled by two DE:

YI*diff(w(x,t), x$4)-N[0]*cos(2*omega*t)*diff(w(x,t), x$2)+c*diff(w(x,t), t)+`&rho;A`*diff(w(x,t), t$2)+C[em,m]*v(t) = 0;


C[p]*diff(v(t), t)+1/R[l]*v(t) = C[em,e]*(D[1,2](w)(0,t)-D[1,2](w)(ell,t));

where "w(x,t)" stands for the beam's vibration and "v(t)" means the electric voltage, which is constant throught the beam. I would like to numerically solve both DE simultaneosly, but maple will not let me do it. I would like to know why. I am getting the following error:

Error, (in pdsolve/numeric/process_PDEs) number of dependent variables and number of PDE must be the same

I suppose it is because "w(x,t)" depends on "x" and "t", while "v(t)" depends solely on time, but I am not sure. Could someone help me out? Here is my current code:

declare(w(x,t), v(t)):

YI*diff(w(x,t), x$4)-N[0]*cos(2*omega*t)*diff(w(x,t), x$2)+c*diff(w(x,t), t)+`&rho;A`*diff(w(x,t), t$2)+C[em,m]*v(t) = 0;
pde1:= subs([YI = 1e4, N[0] = 5e3, c = 300, omega = 3.2233993, C[em,m] = 1], %):
ibc1:= w(0,t) = 0, D[1,1](w)(0,t) = 0, w(ell,t) = 0, D[1,1](w)(ell,t) = 0, D[2](w)(x,0) = 0, w(x,0) = sin(Pi*x/ell):

C[p]*diff(v(t), t)+1/R[l]*v(t) = C[em,e]*(D[1,2](w)(0,t)-D[1,2](w)(ell,t));
pde2:= subs([C[p] = 10, R[l] = 1000, C[em,e] = 1, ell = 5], %):
ibc2:= v(0) = 0:

pdsolve({pde1, pde2}, {ibc1, ibc2}, numeric);


with(LinearAlgebra); A := `

You can graph Maple in 4 dimensions ... help...





I have a problem using the NonlinearFit function from the Statistics package in Maple 2018.

I want to fit an exponential function which is non-linear in the parameters. The function in itself is working fine but i want to implement an extra condition on the parameters that are fitted. I already implemented the range of each parameter which is from 0 to 1, but I also want to implement the following condition:

a + b + c = 1.0

This is the code that i am using:

X := Vector([0, 100, 200, 300, 400, 500], datatype = float);
Y := Vector([0.2e-2, 0.5e-2, 0.7e-2, 0.75e-2, 0.77e-2, 0.8e-2], datatype = float);
nlfit := NonlinearFit(epsfunc, X, Y, t, parameterranges = [a = 0 .. 1, b = 0 .. 1, c = 0 .. 1], initialvalues = [a = .2, b = .2, c = .2], output = [parametervalues, leastsquaresfunction]);


It there a way to implement the additional condition that a+b+c=1.0?







Epsfunc is the result of solving an ODE using dsolve:

the following code is used:


eq1 := x(t)+(t1+t2)*(diff(x(t), t))+t1*t2*(diff(x(t), t, t)) = (n1+n2)*(diff(eps(t), t))+(n1*t2+n2*t1)*(diff(eps(t), t, t));
tr := n1*n2*(E1+E2)/((n1+n2)*E1*E2);
x := proc (t) options operator, arrow, function_assign; x0 end proc;
solution := dsolve({eq1, eps(0) = x0/(E1+E2), (D(eps))(0) = x0*((n1/E1+n2/E2)/(n1+n2)-1/(E1+E2))/tr}, eps(t)); assign(solution);

E := 500;
E1 := a*E; E2 := b*E; t1 := 100; t2 := c*t1; n1 := E1*t1; n2 := E2*t2; x0 := 2;
epsfunc := eval(eps(t));


Here is an example.  How would I solve this non-homogeneous system of ODEs


I have just upgraded my laptop from Windows 7 to Windows 10.  On starting up Maple 2018,  I receive the attached message on screen.  This is after previously loading the worksheet successfully.   Today,  I am not able to do so.  I need to permanently register my firewall to allow Maple to run; can anyone help?



Dear all 

I need to animate the following function in two dimensions

,u:=  (x, y) -->x^2+y^2+3

((gradplot(u(x, y), x = -10 .. 10, y = -2 .. 2, grid = [8, 8], thickness = 3, arrows = SLIM, color = u(x, y



expand((x-c)^2+(y-d)^2-R^2) = 0; algsubs(-R^2+c^2+d^2 = f, %); P := proc (x, y) options operator, arrow; -2*x*c-2*y*d+x^2+y^2+f = 0 end proc; 2 2 P := (x, y) -> -2 x c - 2 y d + x + y + f = 0 P(a*cos(theta), b*sin(theta)); G := unapply(%, theta); #usage des formules d'Euler simplify(expand(4*(exp(I*theta))^2*subs(cos(theta) = (exp(I*theta)+exp(-I*theta))*(1/2), sin(theta) = (exp(I*theta)-exp(-I*theta))/(2*I), G(theta)))); poly := sort(subs(exp(I*theta) = X, exp((2*I)*theta) = X^2, exp((3*I)*theta) = X^3, exp((4*I)*theta) = X^4, %)); coeff(lhs(poly), X^4)/tcoeff(lhs(poly)); # exp(I*theta1),exp(I*theta2),exp(I*theta3),exp(I*theta4) sont les racines de ce polynôme unitaire : exp(I*theta1)*exp(I*theta2)*exp(I*theta3)*exp(I*theta4) =1 exp(I*(θ1+θ2+θ3+θ4)=1 d'où θ1+θ2+θ3+θ4 ≡ 2*Pi


I'm currently solving an equations where the boundary conditions is at infinity. I'm trying to solve it by using dsolve but i can't seem to find a solutions. Here is my equations:

ode1 := diff(f(eta), eta$3)+(diff(f(eta), eta$2))*f(eta)-(diff(f(eta), eta))^2-M . (diff(f(eta), eta))-A . (diff(f(eta), eta)+(1/2)*(eta . (diff(f(eta), eta$2)))) = 0;

ode2 := diff(theta(eta), eta$2)+Pr*(f(eta) . (diff(theta(eta), eta))-(diff(f(eta), eta)) . theta(eta)-A . (theta(eta)+1/2 . eta . (diff(theta(eta), eta)))) = 0;

and my boundary conditions are:

bcs := f(0) = 0, (D(f))(0) = 1, ((D@@2)(f))(inf) = 0, theta(0) = 1, theta(inf) = 0;

The value of Pr=7, M=1 and A=[0,1,2,4]

I really need your help, please. 

Thank you :)

For convenience, I am looking to extract a sequence of numbers that is generated by a simple procedure.

The attached shows such an example.

In this (simple) case, the output I require is [1,4,9,16,25].

Can anyone suggest a way to do this?

Thank you all ...

  1. Does it have any detail manual for Matlab programming using Maple symbolic engine? (Except help documentation of Maple Symbolic Toolbox in Matlab).
  2. How to maximize the running speed of the codes programmed by Maple symbolic toolbox? Any Notes?
  3. How to use the function 'GenerateMatrix' of Maple in Matlab? What's the syntax to use this function in Matlab?

Best Regards.



I am a student of economics writing my thesis. I have an inverse demand function defined:


where α,β are scalars, i{1,2,}, j {1,2,3}, h/=i and k/=j.

I wanted to know how do i input this kind of function in the program and how do i calculate the function of q[i,j] (the inverse)

Thank you!

Good day.

My question involves a set of prescribed points in the Cartesian plane. The x and y ranges are fixed. The points are connected by (imaginary) horizontal and vertical lines to produce a fixed number of blocks / grids.

An example is given in the attached file.

Now, I wish to reduce the intervals between these points by a scaling factor, n, so as to generate more blocks within the plane that is constrained by the x and y-ranges.

In doing so, I need to find the (x,y)-location of these points in the plane and it would also be great if I could obtain a simple plot.  

As I have several scaling factors to investigate, I was hoping someone may be able to guide me towards a simple routine to help obtain these solutions.

Once again, thanks for taking the time to read this.


1 2 3 4 5 6 7 Last Page 1 of 43