Maple Toolboxes Questions and Posts

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

I want to simulate Inelastic collision



There has 2 ball which I can change  Quality and Radius.




one ball  move to another stirless ball with diferent angle

Dear Friends,

My present problem is to calculate the coefficients  

of ODES based on the experiment data. In order to simulate the actual experiment, a set of  is given with . Then the experiment data (yexp) can be calculated. Finally, the least-squares method (lsq) is used to calculate the coefficient values. Now the NLPSolve function can be used. However, the globalsolve cant run.


If it is convenient for you, wish you can solve it.




cdm_ode := diff(y1(t), t) = c0*(y6(t)*(1-y3(t))/(s0*(1-y4(t)*(1-y5(t)))))^n/(1-y2(t)), diff(y2(t), t) = ks*y2(t)^(1/3)*(1-y2(t)), diff(y3(t), t) = h1*(1-y3(t)/h2)*c0*(y6(t)*(1-y3(t))/(s0*(1-y4(t)*(1-y5(t)))))^n/(sigma*(1-y2(t))), diff(y4(t), t) = (1/3)*kp*(1-y4(t))^4, diff(y5(t), t) = A*B*y1(t)^(B-1)*c0*(y6(t)*(1-y3(t))/(s0*(1-y4(t)*(1-y5(t)))))^n/(1-y2(t)), diff(y6(t), t) = y6(t)*c0*(y6(t)*(1-y3(t))/(s0*(1-y4(t)*(1-y5(t)))))^n/(1-y2(t));


tol_t := 3600;
sol := dsolve([cdm_ode, y1(0) = 0, y2(0) = 0, y3(0) = 0, y4(0) = 0, y5(0) = 0, y6(0) = 175], numeric, range = 0 .. tol_t, output = listprocedure, parameters = [c0, n, sigma, s0, ks, h1, h2, kp, A, B]);

sol(parameters = [5.7*10^(-6), 10.186, 175, 200, 5*10^(-8), 10000, .269, 1.5*10^(-7), 1.5, 2]);

t := [seq(i^2, i = 0 .. 50, 1)];

y1data := subs(sol, y1(t));
y1exp := [seq(y1data(t[i]), i = 1 .. 51)];

err := proc (c0, n, s0, ks, h1, h2, kp, A, B) local y1cal, y1val, lsq; sol(parameters = [c0, n, 175, s0, ks, h1, h2, kp, A, B]); y1cal := subs(sol, y1(t)); y1val := [seq(y1cal(t[i]), i = 1 .. 51)]; lsq := add((y1val[i]-y1exp[i])^2, i = 1 .. 51); lsq end proc;

val := NLPSolve(err, 10^(-8) .. 10^(-4), 2 .. 20, 150 .. 250, 10^(-2) .. 1, 100 .. 20000, 10^(-5) .. .4, 10^(-5) .. 1, .5 .. 2, 1 .. 10);
GlobalSolve(err, 10^(-10) .. 10^(-4), 2 .. 20, 150 .. 250, 0 .. 1, 100 .. 15000, 0 .. .5, 0 .. 1, .5 .. 2, 1 .. 5);

Error, (in GlobalOptimization:-GlobalSolve) `InertForms` does not evaluate to a module






I would like to pay attention to a series of applications by Samir Khan
My congratulations to the author on his work well done. New capacities of Global Optimization Toolbox are spectacular. For example, in the first application  an optimization
problem in 101 variables under 5050 nonlinear  constraints
(other than 202 bounds) is solved.
I think it requires a very powerful comp and much time.
I tried that  problem for n=20 with the good old DirectSearch
on my comp (4 GB RAM, Pentium Dual-Core CPU E5700@3GHz) by

soln2 := DirectSearch:-GlobalSearch(rc, {cons1, cons2, rc >= 0,
seq(`and`(vars[i] >= -70, vars[i] <= 70), i = 1 .. 2*n), rc <= 70},
variables = vars, method = quadratic, number = 140, solutions = 1,
evaluationlimit = 20000)

and obtained not so bad rc=69.9609360106765 (whereas gives rc=58.4005674790451137175957) in about one hour.
For n=50 the memory of my comp cannot allocate calculations or the obtained result by the Search command is far away from the one in packomania.


I want to get numerical solution of the Eqs.ode(see the folowlling ode and ibc)in Maple.However,when i run the following procedure,it prompts an error "Error, (in dsolve/numeric/bvp) cannot determine a suitable initial profile, please specify an approximate initial solution". How to solve the issue? Please help me.

n := 1.4; phi := 1; beta := .6931; psi := 1

> restart;
> n := 1.4; phi := 1; beta := .6931; psi := 1;

> s := proc (x) options operator, arrow; evalf(1+(phi*exp(beta*psi)*h(x))^n) end proc;

> Y := proc (x) options operator, arrow; evalf(f-(1/2-(1/2)/n)*ln(s(x))+2*ln(1-(1-s(x))^(-1+1/n))) end proc;

> ode := diff(h(x), `$`(x, 2))+(diff(Y(x), x))*(diff(h(x), x)+1) = 0;

> ibc := h(0) = 0, ((D(h))(10)+1)*s(10)^(-(1-1/n)*(1/2))*(1-(1-1/s(10))^(1-1/n))^2 = 0;

> p := dsolve({ibc, ode}, numeric);
Error, (in dsolve/numeric/bvp) cannot determine a suitable initial profile, please specify an approximate initial solution

Hi Mapleprimers,

I was wondering if there way a way to use restart(); and clear Maple's memory, but protect the memory in a certain variable?  I would like to return the memory to the operating system, but keep a symholic function in memory.

Alternatively, is there a way to save a symbolic function to a file, then reload it at a seperate time?


Hi MaplePrime-ers,

I'm using Maple17 in Matlab 2012b to evaluate a symbolic function over a grid of values.  The number of values is generally ~500k, and therefore I have a loop that dumps the solutions into MATLAB where the values are parsed and stored more efficiently.

I put this proceess in an optimization routine, and I keep getting crashes.  The crashes are NOT repeatable.  They generally happen after 4-10 times the routine has been called.  

This is one of the stack dumps.  Anybody have any ideas?  I talked to MATLAB support, but they weren't very useful (they started pointing fingers).

Segmentation violation detected at Wed Jun 4 17:38:11 2014

Crash Decoding : Disabled
Current Visual : 0x24 (class 4, depth 24)
Default Encoding: UTF-8
GNU C Library : 2.15 stable
MATLAB Root : /opt/Matlab/R2012b
MATLAB Version : (R2012b)
Operating System: Linux 3.2.0-37-generic #58-Ubuntu SMP Thu Jan 24 15:28:10 UTC 2013 x86_64
Processor ID : x86 Family 6 Model 23 Stepping 6, GenuineIntel
Virtual Machine : Java 1.6.0_17-b04 with Sun Microsystems Inc. Java HotSpot(TM) 64-Bit Server VM mixed mode
Window System : The XFree86 Project, Inc (40300000), display wildnode0:15.0

Fault Count: 1

Abnormal termination:
Segmentation violation

Register State (from fault):
RAX = 00007f3bcc0a80c0 RBX = 00007f3b97fe6000
RCX = 0000000000000000 RDX = 00007f3bcc0a84a0
RSP = 00007f3b8cb29d60 RBP = 0000000000000003
RSI = 5851f42d4c957f2d RDI = 00007f3bde026360

R8 = 65a1566174cc9e28 R9 = 0000000000000002
R10 = 00007f3b8cb29d90 R11 = 0000000000002e88
R12 = 0000000000000001 R13 = 00007f3b8cb29df0
R14 = 0000000000000000 R15 = 0000000000000003

RIP = 00007f3b977d0604 EFL = 0000000000010283

CS = 0033 FS = 0000 GS = 0000

Stack Trace (from fault):
[ 0] 0x00007f3c962b01de /opt/Matlab/R2012b/bin/glnxa64/ _ZN2fl4diag15stacktrace_base7captureERKNS0_14thread_contextEm+000158
[ 1] 0x00007f3c962b14b2 /opt/Matlab/R2012b/bin/glnxa64/
[ 2] 0x00007f3c962b2ffe /opt/Matlab/R2012b/bin/glnxa64/ _ZN2fl4diag13terminate_logEPKcRKNS0_14thread_contextE+000174
[ 3] 0x00007f3c9559f093 /opt/Matlab/R2012b/bin/glnxa64/ _ZN2fl4diag13terminate_logEPKcPK8ucontext+000067
[ 4] 0x00007f3c9559bb9d /opt/Matlab/R2012b/bin/glnxa64/
[ 5] 0x00007f3c9559d835 /opt/Matlab/R2012b/bin/glnxa64/
[ 6] 0x00007f3c9559da55 /opt/Matlab/R2012b/bin/glnxa64/
[ 7] 0x00007f3c9559e0fe /opt/Matlab/R2012b/bin/glnxa64/
[ 8] 0x00007f3c9559e295 /opt/Matlab/R2012b/bin/glnxa64/
[ 9] 0x00007f3c93a86cb0 /lib/x86_64-linux-gnu/
[ 10] 0x00007f3b977d0604 /opt/maple17/bin.X86_64_LINUX/
[ 11] 0x00007f3b977cfc48 /opt/maple17/bin.X86_64_LINUX/
[ 12] 0x00007f3b977d2f88 /opt/maple17/bin.X86_64_LINUX/
[ 13] 0x00007f3b9763d63f /opt/maple17/bin.X86_64_LINUX/
[ 14] 0x00007f3c93a7ee9a /lib/x86_64-linux-gnu/
[ 15] 0x00007f3c937ab3fd /lib/x86_64-linux-gnu/ clone+000109

If this problem is reproducible, please submit a Service Request via:

A technical support engineer might contact you with further information.

Thank you for your help.




I'm using the Global Optimization Toolbox to solve some examples and fit equations to a given data, finding "unknown" parameters. I generated the data on Excel, and I already know the values of these parameters.

The XY case is (there is no problem here, I just put as a example I follow):

> with(GlobalOptimization);
> with(plots);

> X := ExcelTools:-Import("F:\\Data.xlsx", "Plan1", "I5:I25");
> Y := ExcelTools:-Import("F:\\Data.xlsx", "Plan1", "J5:J25");

> XY := zip( (X, Y) -> [X, Y] , X, Y);
> fig1 := plot(XY, style = point, view = [.9 .. 3.1, 6 .. 40]);

> Model := A+B*x+C*x^2+D*cos(x)+E*exp(x):
> VarInterv := [A = 0 .. 10, B = 0 .. 10, C = -10 .. 10, D = 0 .. 10, E = 0 .. 10];

> ModelSubs := proc (x, val)

    subs({x = val}, Model)

    end proc;

> SqEr := expand(add((ModelSubs(x, X(i))-Y(i))^2, i = 1 .. 21));
> CoefList := GlobalSolve(SqEr, op(VarInterv), timelimit = 5000);

> Model := subs(CoefList[2], Model):


I could find the right values of A, B, C, D and E. 


My problem is in the XYZ case, where I don't know how to "write" the right instruction. My last attempt was:

> with(GlobalOptimization);
> with(plots);

> X := ExcelTools:-Import("F:\\Data.xlsx", "Plan1", "Q5:Q25"); X2 := convert(X, list);
> Y := ExcelTools:-Import("F:\\Data.xlsx", "Plan1", "R5:R25"); Y2 := convert(Y, list);
> Z := ExcelTools:-Import("F:\\Data.xlsx", "Plan1", "S5:S25"); Z2 := convert(Z, list);
> NElem := numelems(X);

> pointplot3d(X2, Y2, Z2, axes = normal, labels = ["X", "Y", "Z"], symbol = box, color = red);


> Model := A*x+B*y+C*sin(x*y)+D*exp(x/y);

> VarInterv := [A = 0 .. 10, B = 0 .. 10, C = 0 .. 10, D = 0 .. 10];

> ModelSubs:=proc({x,y},val)


end proc:
Error, missing default value for option(s)

> SqEr := expand(add((ModelSubs(x, y, X(i), Y(i))-Z(i))^2, i = 1 .. NElem));
> CoefList := GlobalSolve(SqEr, op(Range), timelimit = 5000);
Error, (in GlobalOptimization:-GlobalSolve) finite bounds must be provided for all variables


My actual problem involves six equations, six parameters and four or five independent variables on each equation, but I alread developed a way to solve two or more equations simultaneously.


Hi MaplePrimers,

I'm trying to solve a system of algebraic equations using 'solve' [float].  I'd prefer to use 'solve' over 'fsolve', as 'solve' solves my system in about 0.05s, whereas fsolve takes about 5 seconds.  I need to solve the system repeatedly at a different points, so time is important.  I don't know why there is such a large difference in time ... 

I have a few piecewise functions of order 3 to 5.  It solves fine with the other (piecewise) equations, but adding one piecewise function which gives me an error while trying to solve:

Error, (in RootOf) _Z occurs but is not the dependent variable.

I think this is due to solve finding multiple solutions.  Is there a way to limit solve to only real solutions?

Thanks in advance!

How would i go about integrating



I know it has to do something with arc tan but it doesnt match up completely what would I be able to do?

In this article I want to discuss the right way to store and build Maple code.

As mentioned in the Introducing the Maple IDE post, over 90 percent of the algorithms built into Maple are implemented using Maple language. The code of the algorithms is stored as Maple Libraries (.mla files).


Everyone knows that Maple combines a smart user interface with a highly sophisticated mathematical engine, where common tasks are performed quickly and seamlessly with point, click and drag operations. Of equal importance, however, is the fact that Maple is also backed by a comprehensive programming language. Also called "Maple", this language combines elements from procedural languages (like C), functional languages (like Lisp) as well as object oriented languages (like C++...


I've bought NAG C Library for my mac in order to use it in Maple.

However, it seems that Maple doesn't know where to search for it.
Indeed, it returns

Error, (in NAG:-h03abc) external linking: error loading external library libnagc_nag.dylib: dlopen(libnagc_nag.dylib, 129): image not found 

I've installed NAG C Library in usr/Library


Thank you very much for your help 

One of the most basic decisions a baseball manager has to make is how to arrange the batting order.  There are many heuristics and models for estimating the productivity of a given order.  My personal favourite is the use of simulation, but by far the most elegant solution from a mathematical perspective uses probability matrices and Markov chains.  An excellent treatment of this topic can be found in Dr. Joel S. Sokol's article,

We have just released a new, more powerful version of the Maple Global Optimization Toolbox.  

For this new release, Maplesoft has partnered with Noesis Solutions to develop a new version of the Maple Global Optimization Toolbox that is powered by Optimus technology. Optimus, from Noesis Solutions, is a platform for simulation process integration and design optimization that includes powerful optimization algorithms. This advanced technology is now available...

Hello everybody,

I' m trying to run completely The optmization template from a batch file (.bat) and wonder how to :

  1.  Make the buttons working automatically.
  2.  What  command should be used in a batch file to execute utterly a maple program
  3. What kind of script file can be perfect for Matlab / Maple.

The point is to run in parallel Matlab and Maple, using a script file(.bat) or another external script format.

1 2 3 4 5 6 7 Page 3 of 8