emendes

395 Reputation

6 Badges

7 years, 192 days

MaplePrimes Activity


These are questions asked by emendes

Hello

I wonder whether someone out there would give some ideas on how to implement a problem involving monomials (or polynomials if you wish).

dx/dt=f(x,y,z), dy/dt=g(x,y,z) and dz/dt=h(x,y,z) where f, g and h are polynomial functions of x,y,z.   

For instance, I need a test that returns false in:

a) dx/dt=f(x,z), dydt=anything, dz/dt=h(x,z) or 

b) dx/dt=f(x,y), dydt=g(x,y), dz/dt=anything.

c) dx/dt=anything, dy/dt=g(y,z), dz/dt=h(y,z)

that is, if two derivatives are related only between themselves, a false should be returned.  An example where a false should be returned is

[x*y*theta[5]+x*theta[2], x*y*theta[15], x*theta[22]+y*theta[23]+z*theta[24]] = [f(x,y),g(x,y),h(x,y,z)] where theta[5] .. theta[24]  are the coefficients.  

Many thanks.

Ed

PS. I am trying to avoid "for" in the solution in case I need to add another derivative but could not come up with a solution. In that case I need to test 3 variables instead of 2 and then 2 variables (as in the examples).

Hello

I wonder if there is a way to see the progress of a specific procedure.  I have checked the forum for some answers and found that some of them propose a progress bar. However the progress bar doesn't seem to fit within a procedure.   

I don't need anything fancy but I need to see the progress of the loop inside of the procedure (over 3,000,000 times).   

Any suggestions?   

Many thanks

 

PS. I am running Maple 2016 too but I would rather see a solution that works on Maple 14 too, if possible.

Hello

Unfortunately I got stuck again when trying to work with monomials.  Consider the following set of set of monomials:

f := [theta[1]*y+theta[2]*z,theta[3]+theta[4]*x+theta[5]*y+theta[6]*z+theta[7]*x*y+theta[8]*x*z+theta[9]*y*z,theta[10]*x+theta[11]*y+theta[12]*z+theta[14]*x*y+theta[15]*x*z+theta[16]*y*z+theta[17]*x^2+theta[18]*y*y+theta[19]*z*z+theta[20]];

 

x, y and z are the variables and thetas are the coefficients.  The coefficients theta can be zero and I need to classify the resulting set as valid or not.   Here are some examples of not valid sets

fff:=[theta[1]*y+theta[2]*z,theta[5]*y,theta[10]*x+theta[11]*y+theta[12]*z+theta[14]*x*y+theta[15]*x*z+theta[16]*y*z+theta[17]*x^2+theta[18]*y*y+theta[19]*z*z+theta[20]];

ffff:=[theta[1]*y+theta[2]*z,theta[5],theta[10]*x+theta[11]*y+theta[12]*z+theta[14]*x*y+theta[15]*x*z+theta[16]*y*z+theta[17]*x^2+theta[18]*y*y+theta[19]*z*z+theta[20]];

fffff :=[theta[1]*y+theta[2]*z,theta[3]+theta[4]*x+theta[5]*y+theta[6]*z+theta[7]*x*y+theta[8]*x*z+theta[9]*y*z,theta[12]*z+theta[19]*z*z+theta[20]];

that is, the first coordinate of the set cannot be a function of x alone, the second coordinate cannot be a function of y alone and the third coordinate cannot be a function of z only.  

 

I could not figure out how to do that automatically, can you help me, please?

 

Many thanks.

 

 

 

Hello

Thanks to the help of several list members I managed to translate and update some old procedures.  These procedures were part of a packcage and they all had help files.   Here is an example

 

# E. Mendes - 25/04/94

`help/text/sampling`:=TEXT(``,
`FUNCTION: sampling - finds the discretized model`,
` `,
`CALLING SEQUENCE:`,
` sampling(f)`,
` sampling(f,k)`,
` sampling(f,k,vars)`,
`PARAMETERS:`,
` f - state space`,
` k - order of approximation`,
` vars - variables`,
``,
`SYNOPSIS:`,
`- sampling(f,k) returns a discrete approximation for a continuous`,
` system`,``,
` dx(t)/dt=f(x(t),u(t)) `,
``,
`EXAMPLE: `,``,
`> with(linalg):`,
`> f:=vector([x2,x3,-x1+x2^2+2*x3]):`,
`> sampling(f,1)`,
``,
` 2`,
` [- x1, x2 + x1 ]`,``,
`SEE ALSO: fixpoind, fixpoinc`):

 

I have browsed the help documentation but I must confess I don't feel comfortable to modify the help database.  Do I have to wrap all the functions up as a package and then write the help files?   I am lost here.  Any help will be most welcome.

Many thanks

 

Ed

 

Hello

I am working my way back to use Maple for some calculations I did in the past.   ListTools seems to have some of the functions I need but I couldn't find anything that gives me the position of all groups of repeated elements in a list of a list.  For instance, ListTools:~MakeUnique removes the copies of all repeated elements but it seems that there is no counterpart function that gives the position of the repeated elements, is there?

Search and SearchAll return position but they seem to be the only ones.  

Example:

a:=[[x+y+z],[2*x+y+z],[x-y+z],[2*x+y+z]];

and the expected output would be

pos:=[[1],[2,4],[3]];

Many thanks

Ed

 

First 10 11 12 13 Page 12 of 13