MaplePrimes Questions


I am exploring the Statistics package to see how Maple implements the transformation of random variables.  Unfortunately, I got stuck when trying the following example.

W->X+Y and then X-> W/2

For the first part, I did


but for the second part I could not figure out what to do.

Any suggestions?

Many thanks




Hi everybody,


I'm working under Windows 7 


My need :
A MAPLE code has to be run from an ECLIPSE session (through a cmaple MyCode).
In this ECLIPSE session the user chooses a data file among many, and ECLIPSE then has to tell MyCode what file it has to read.

The solution I figured out :
Step 1 : ECLIPSE  set an environment variable "DataFile" which contains the user's choice, for instance set MyData=NameOfTheFile
Step 2 : Within MyCode I get the value of MyData from these two commands

MyFile := getenv(DataFile):

readdata(MyFile, …)


This doesn't work ( getenv(DataFile) returns [1," "] instead of the desired file name).
In fact it seems that getenv enables access to the “native” environment variables of Windows only (for instance HOMEDIR), not to the user defined environment variables (?)

Is  it possible to fix this and how ?

PS  : I face the same difficulties if I type set MyData=NameOfTheFile directly from a cmd command and try to access the value of MyData from a Maple session

Thanks for your help



solve(diff(-1/x,x) = (-1/x)^(b), b);

originally is 2, but it use ln(....) to express
if start from substitute, it seems need to replace manually.

solve(subs(a(x)=-1/x,diff(a(x),x) = (a(x))^(b)), b);

goal is to find b in equation below
solve(diff((x^2+x+1)/(-1+x)^2,x) = ((x^2+x+1)/(-1+x)^2)^(b), b);
(2*x+1)/(-1+x)^2-(2*(x^2+x+1))/(-1+x)^3 = ((x^2+x+1)/(-1+x)^2)^(b)
solve(diff((x^2+x+1)/(-1+x)^2,x) = ((x^2+x+1)/(-1+x)^2)*(b), b);

Hi, my dear friend,

i am solving 9 ODE with boundary

Eq1 := 2.*F1(eta)+diff(H1(eta), eta) = 0

2.*F1(eta)+diff(H1(eta), eta) = 0


Eq2 := F1(eta)^2-G1(eta)^2+(diff(F1(eta), eta))*H1(eta)-(diff(F1(eta), eta, eta)) = 0

F1(eta)^2-G1(eta)^2+(diff(F1(eta), eta))*H1(eta)-(diff(diff(F1(eta), eta), eta)) = 0


Eq3 := 2*F1(eta)*G1(eta)+H1(eta)*(diff(G1(eta), eta))-(diff(G1(eta), eta, eta)) = 0

2*F1(eta)*G1(eta)+H1(eta)*(diff(G1(eta), eta))-(diff(diff(G1(eta), eta), eta)) = 0


Eq4 := 4*F1(eta)*F3(eta)+H3(eta)*(diff(F1(eta), eta))+H1(eta)*(diff(F3(eta), eta))-2*G1(eta)*G3(eta)-2.*F1(eta)^2-1.5*H1(eta)-(diff(F3(eta), eta, eta)) = 0

4*F1(eta)*F3(eta)+H3(eta)*(diff(F1(eta), eta))+H1(eta)*(diff(F3(eta), eta))-2*G1(eta)*G3(eta)-2.*F1(eta)^2-1.5*H1(eta)-(diff(diff(F3(eta), eta), eta)) = 0


Eq5 := 2*F3(eta)*G1(eta)+4*F1(eta)*G3(eta)+H3(eta)*(diff(G1(eta), eta))-H1(eta)*(diff(G3(eta), eta))-2*F1(eta)*G1(eta)-1.5*H1(eta)*(diff(G1(eta), eta))-(diff(G3(eta), eta, eta)) = 0

2*F3(eta)*G1(eta)+4*F1(eta)*G3(eta)+H3(eta)*(diff(G1(eta), eta))-H1(eta)*(diff(G3(eta), eta))-2*F1(eta)*G1(eta)-1.5*H1(eta)*(diff(G1(eta), eta))-(diff(diff(G3(eta), eta), eta)) = 0


Eq6 := 4.*F3(eta)+diff(H3(eta), eta) = 0

4.*F3(eta)+diff(H3(eta), eta) = 0


Eq7 := 6*F1(eta)*F5(eta)-6*F1(eta)*F3(eta)+3.*F3(eta)^2+H1(eta)*(diff(F5(eta), eta))+H3(eta)*(diff(F3(eta), eta))+H5(eta)*(diff(F1(eta), eta))-1.5*(H1(eta)*(diff(F3(eta), eta))+H3(eta)*(diff(F1(eta), eta)))-G3(eta)^2-2*G1(eta)*G5(eta)-(diff(F5(eta), eta, eta)) = 0

6*F1(eta)*F5(eta)-6*F1(eta)*F3(eta)+3.*F3(eta)^2+H1(eta)*(diff(F5(eta), eta))+H3(eta)*(diff(F3(eta), eta))+H5(eta)*(diff(F1(eta), eta))-1.5*H1(eta)*(diff(F3(eta), eta))-1.5*H3(eta)*(diff(F1(eta), eta))-G3(eta)^2-2*G1(eta)*G5(eta)-(diff(diff(F5(eta), eta), eta)) = 0


Eq8 := 6*G5(eta)*F1(eta)+2*G1(eta)*F5(eta)+4*G3(eta)*F3(eta)-4*F1(eta)*G3(eta)-2*F3(eta)*G1(eta)+H1(eta)*(diff(G5(eta), eta))-1.5*(H1(eta)*(diff(G3(eta), eta))+H3(eta)*(diff(G1(eta), eta)))+H3(eta)*(diff(G3(eta), eta))+H5(eta)*(diff(G1(eta), eta))-(diff(G5(eta), eta, eta)) = 0

6*G5(eta)*F1(eta)+2*G1(eta)*F5(eta)+4*G3(eta)*F3(eta)-4*F1(eta)*G3(eta)-2*F3(eta)*G1(eta)+H1(eta)*(diff(G5(eta), eta))-1.5*H1(eta)*(diff(G3(eta), eta))-1.5*H3(eta)*(diff(G1(eta), eta))+H3(eta)*(diff(G3(eta), eta))+H5(eta)*(diff(G1(eta), eta))-(diff(diff(G5(eta), eta), eta)) = 0


Eq9 := 6.*F5(eta)+F3(eta)+diff(H5(eta), eta) = 0

6.*F5(eta)+F3(eta)+diff(H5(eta), eta) = 0


bcs1 := F1(0) = 0, F3(0) = 0, F5(0) = 0

F1(0) = 0, F3(0) = 0, F5(0) = 0


bcs2 := G1(0) = 1, G3(0) = 0, G5(0) = 0

G1(0) = 1, G3(0) = 0, G5(0) = 0


bcs3 := H1(0) = 0, H3(0) = 0, H5(0) = 0

H1(0) = 0, H3(0) = 0, H5(0) = 0


bcs4 := F1(10) = 0, F3(10) = 0, F5(10) = 0

F1(10) = 0, F3(10) = 0, F5(10) = 0


bcs5 := G1(10) = 0, G3(10) = 0, G5(10) = 0

G1(10) = 0, G3(10) = 0, G5(10) = 0


R := dsolve(eval({Eq1, Eq2, Eq3, Eq4, Eq5, Eq6, Eq7, Eq8, Eq9, bcs1, bcs2, bcs3, bcs4, bcs5}), [F1(eta), F3(eta), F5(eta), G1(eta), G3(eta), G5(eta), H1(eta), H3(eta), H5(eta)], numeric, output = listprocedure)

Error, (in dsolve/numeric/bvp) initial Newton iteration is not converging



Maple Worksheet - Error

Failed to load the worksheet 


then i got this error

Error, (in dsolve/numeric/bvp) initial Newton iteration is not converging

i dont know where i need to change.. could you help me..


i'm using expand cmd, but surprisingly, not only execute the expand but execute simplify cmd. Is there any cmd only execute expand withoud simplify?

Best wishes,

from China

I've derived some system matrices from a equation which represents the dynamics of a mechanical system, I've searched for a way to convert this or represented in state space form but I can't figure out how to do it.


I have three simultaneous equations  with three unknown variables (E, W, T). When I solve these  simultaneous equations with fsolve command without specifying any range for variables, I don't get desirable root ( equation sol4 in maple worksheet- {E = 0.1007672475e-2, T = .7969434549, W = 0.1937272759e-2}). For this problem, I know the correct root {E = 2843.916504, T = .2782913990, W = 5344.844134} beforehand which maximize the objective function TP (equation sol8 in maple worksheet) and when I specify the narrow range of variables around the already known correct root in the fsolve command, then I get correct root ( equation sol5 in maple worksheet). If I don't know the actual answer (correct roots of the simultaneous equation) beforehand, How  could I get the correct root with fsolve command because it is very tedious work to specify different range in fsolve command repetitively to solve it by trial and error.

I also tried Direct Search method as suggested in this forum  but DirectSearch is also not able to provide the correct root (equation sol6 in maple worksheet). If I specify the narrow range around known root in direct search method ( equation sol6a in maple worksheet), then it would provide close to optimal root but if I don't know the correct root beforehand, then I couldn't specify the narrow range of variables, then how can I get correct root through direct search command.

Equation sol10 in maple worksheet  (objective function value at correct root) confirms that {E = 2843.916504, T = .2782913990, W = 5344.844134} is the correct root because it provide the value of objective function (TP) equal to 78285.85621 as opposed to negative value (TP value -12.53348074 in equation sol9)  produced by incorrect root  {E = 0.1007672475e-2, T = .7969434549, W = 0.1937272759e-2}).

Is there any method which would provide all the roots of these simultaneous equations which also include correct root. Maple worksheet is attached.

I am trying fsolve and direct search method with known root so that I could get the proper procedure to get the correct root which I can apply to another problem (set of similar simultaneous equations) for which I don't know correct root beforehand.

Thanks for your anticipated

I'm still quite new to maple and I'm working calculating some dynamic equations.

I want to be able to selectively group certain variables or numbers depending on how I need the equations to be showed, I don't know if that's possible, I´ll explain further.

In typewritting extended format one equation is shown like this:


And maple standard:

The fisrt thing I want is to show the time derivatives in the dot representation, but I also want the 1/2 multiplyting each term of the whole equation like in the maoke standard format. 

I also need to group certain variables in some other equations I have and I was wondering if there is a way to do this.

I have made a small package in a workbook and want to upload it as a package to MapleCloud. According to the help pages, I should select Save To Cloud from the File menu and select the package option for Application Type in the dialog that appears. However, no matter what I do the only option availlable is Maple. What is going on?

Dear Maple users,

I have very interesting problem with evaluating of only symbolic equations.

The problem is: (In document mode)
When I try to evaluate all numeric values for example typing 1+2 and press Enter it successfuly evaluates 3.
But when I try to evaluate symbolic values for example x + y nothing happens.

I tried lots of things to solve this, but no luck.
Shortly if the equation contains only numbers it evaluates successfuly.
And if the equation contains one or more symbolic variables like (x, y, z, variable1, test1), it does nothing.

What could be the problem?

(Because of this problem I cannot use the document mode, so I'm using the worksheet mode. Worksheet mode works good, but sometimes it is not calculating like document mode)



System is Windows 7 x64
Maple 2016
8 x 3.50GHz Xeon CPU
128 GB RAM
Windows Language is Turkish, (I tried with also USA English, but no luck either)
Keyboard is Turkish TR, (I tried with also US English, but no luck either)

Hi every body,

I’m a new member. I have a question about plot command in Maple. My question is “how to plot a vector field v = [v1,v2]=[x^2+y^2,x+y] with (x,y) within an elliptic domain defined by x^2/1+y^2/2 = 1” .

Thanks in advance. 



Suppose,  there are

  • 50 vertices

  • list of coordinates of these 50 vertices


Now I want to create a graph with minimum distance.

The starting point of the graph should be vertice 1. From there,  the closest point has to be added to a list X. and from this point, it should calculate again the closest point and add this value to the same list X.


So actually I want to start in point 1 and I want to see the sequence of how the graph (I think minimum spanning tree?) is created


How can I code this in Maple?


Thanks in advance!


Hi Everybody,

I have a simple question: Does Maple solve systems of partial differential equations with boundary conditions?

Can somebody give me an example? 

I have only found numerical solutions to this kind of systems but no symbolic example.

Thanks a lot for yor help.


To my amazement, the following code hangs

Setup(anticommutativeprefix = psi):

at the last line, or produces the output "Error, (in sprintf) too many levels of recursion" if I wait long enough.

What is going on? Am I just being stupid? The version line verifies to me that I am using the Physics package as shipped with Maple 2017, version date 17th of May 2017. If I outcomment the Setup line, then Dagger does not hang. Do others experience the same behaviour?


I am using codegen to generate code from Maple expressions. More specifically I want to export non quadratic matix. The export works for matrices that have more columns than rows, but not for matrices with more rows than columns. There I receive the error:

Error, (in codegen/array/entry) 2nd index, 3, larger than upper array bound 2

A workaround would be to transpose the matrix before the export, and to transpose on the import (in Matlab) but I don't want to overcomplicate my code. Thanks for your help!

I have attached a demonstration worksheet below.


## test codegen non quadratic returnarray

## works
#Myfun := Matrix(3,3)

## works
#Myfun := Matrix(2,3):Myfun(2,3):= 3*b;

## does not work
Myfun := Matrix(3,2):Myfun(3,2):= 3*b;

Myfun := Matrix(3, 2, {(1, 1) = 0, (1, 2) = 0, (2, 1) = 0, (2, 2) = 0, (3, 1) = 0, (3, 2) = 3*b})


Myfun(1):= 7*a;

Myfun := Matrix(3, 2, {(1, 1) = 7*a, (1, 2) = 0, (2, 1) = 0, (2, 2) = 0, (3, 1) = 0, (3, 2) = 3*b})


## codegen works best with arraybased matrices, and call by reference becomes possible

returnArray:= convert(Myfun,matrix)

returnArray := Matrix(3, 2, {(1, 1) = 7*a, (1, 2) = 0, (2, 1) = 0, (2, 2) = 0, (3, 1) = 0, (3, 2) = 3*b})



Error, (in codegen/array/entry) 2nd index, 3, larger than upper array bound 2



Error, (in codegen/array/entry) 2nd index, 3, larger than upper array bound 2



Error, (in codegen/array/entry) 2nd index, 3, larger than upper array bound 2






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