Thomas Richard

Mr. Thomas Richard

1868 Reputation

12 Badges

10 years, 147 days
Maplesoft Europe GmbH
Technical professional in industry or government
Aachen, Germany

MaplePrimes Activity

These are answers submitted by Thomas Richard

If all sublists in A have length 2, this should be the easiest solution:

B,C := op(ListTools:-Transpose(A));

Sure, it's implemented for arbitrary p and q. You need to supply one list with p "upper" parameters, and one with q "lower" parameters, and the argument. Please see ?hypergeom for the whole story. A 3F2 example that has an elementary representation:


simplify(%);  # or simplify(%,hypergeom);

While I'm confident that Carl's answer fully addresses your question, let me please point out that Mathieu equations such as your eq1 are handled by dsolve - so perhaps a trigonometric expansion isn't even necessary? Just a guess.

[I'm currently away from my laptops and PCs, so I cannot run your code before Monday when back in the office.]

I would start with Chapter 15 of the Programming Guide. This can be found interactively in the Help browser's ToC or by entering ?ProgrammingGuide,Chapter15. [Of course, you're not supposed to know that link. Instead, you can simply search for terms like "parallel" etc.]

I wouldn't say it's normal, but I can confirm it. There may be a memory leak in the JVM, I don't know for sure. AFAIK, some memory allocation rules are configurable through java_args in Maple's launch.ini, but I haven't tried it since the Java GUI was introduced many years ago (when memory sizes were much smaller).

My setup is similar to yours: same Maple and OS version, just with 20 GB RAM, and javaw.exe is at 3.3 GB now. But I had more than 50 tabs (up to 10 simultaneously) open in the same Maple session, with long-running calculations and heavy plots, so I wasn't surprised. Machine uptime is close to 27 days now.

The 'foci' option expects a list of two points (i.e. objects of the geometry package), whereas you just provided a list of two lists (with x,y coordinates). These are different data structures. So try this instead:

ellipse(e1, ['foci'=[point(p1,0,1),point(p2,4,1)], 'MajorAxis' = 8],[x,y]);

Most newer packages and their commands have a Compatibility section in their help page. Enter ?PolynomialTools,AnnihilatingPolynomial to see a detailed example, or ?CurveFitting,Lowess for a very short one.

For others, you can always ask here on MaplePrimes - though there is no guaranteed answer, of course.

It's possible to determine the parameter values, but the output (warning message and plot) will tell you that your model function is not really a good fit to your experimental data:

f := 1-(8*a*b+6*c*d/(b*k*x))/(2*a*b+c*b*(1/(b*k*x)));
X := Vector([seq(200+s,s=0..90,10)]):
xmin := min(X): xmax := max(X):
Y := Vector([.4172, .3030, .4668, .3317, .1276, .1303, .1733, .1451, .3466, .4125]):
nlfit := NonlinearFit(f, X, Y, x, output='parametervalues');
a, b, c, d, k;
points := pointplot([X,Y]):
func := plot(f, x=xmin..xmax):

Even a polynomial fit like f := a*x^4+b*x^3+c*x^2+d*x+e will do better. If you agree, try the PolynomialFit command instead and experiment with the degree.

In Maple 2016, the Worksheet package contains an undocumented command WorksheetToMapleText which takes an mw file and emits its "textual" content as centered strings. Not (yet) precisely what you asked for, but could be a start for your own post-processing. To view its implementation, use the eval or print command (after setting interface(verboseproc=2)) or showstat as usual.

I do not know the plans for the next version, but I would guess this command will be fully functional and documented then.


Note: this feature is available since Maple 18.

I confirm tomleslie's observation that pdsolve gets stuck here; I cancelled it after lunch break (about 1h).

However, you can still find special types (or forms) of solutions. Just to give you a start:

infolevel[pdsolve]:=1: # optionally
pde[1] := diff(u(x, t), t)-DD*diff(u(x, t), x, x) = alpha*u(x, t)*(1-v(x, t));
pde[2] := diff(v(x, t), t)-EE*diff(v(x, t), x, x) = beta*v(x, t)*(1-u(x, t));
pdesys := [pde[1],pde[2]]:

TWSols := TWSolutions(pdesys,parameters=[DD,EE,alpha,beta]);

SimSols := SimilaritySolutions(pdesys);

I've stopped here, but there are several other specialized commands in PDEtools, as you can see from its export list. You may have to play with command options to expand or to restrict their output.

Note: I replaced constant factor D by DD, as the former is the differential operator in Maple. For cosmetic reasons, I then replaced E by EE as well.

This limitation has been lifted in Maple 2016 (or 2016.1): CycleBasis(g1) returns [[1, 3, "a"]], and CycleBasis(g2) returns [[1, 3, a]].
So I suppose you are running an older version. I'm not aware of any workarounds for that.

If you click on any of the Linkage subsystems, you will see the length parameter L and its value under Parameters in the Properties pane. For instance, Linkage2 is using L=0.62, Effector is using L=0.1.

If you double-click to open the subsystem, you will notice that each of these linkages consists of two RBFs. The left one extends from 0 to -1/2*L (negative X direction), and the right one extends from 0 to 1/2*L (positive X direction). This principle is explained e.g. in Tutorial 4: "Modeling a Planar Slider-Crank mechanism".

Is that what you mean?

Measurements are typically imported to a MapleSim model via Interpolation Tables (Lookup or Time Table). These components can be found under the Signal Blocks palette. Supported file formats are Excel sheets (xls, xlsx) and Comma Separated Values (csv). The file(s) can become part of the model (i.e. attached inside the msim file), or be kept externally. Smaller data sets can also be "inlined".

Maple libraries cannot be imported directly into a MapleSim model (from a user perspective); MapleSim has its own notion (and file format) for component libraries. But you can attach a Maple worksheet to any model and then use all of Maple's features, including libraries. Then use the MapleSim API to link between model and analysis.

One way to achieve that is provided by the InertForm package, introduced in Maple 18:

given := w^2/(w^4+2*w^2+1);
wanted := Value(MakeInert(expand(numer(given)/w^2)/expand(denom(given)/w^2)));
given - normal(wanted);

First 7 8 9 10 11 12 13 Last Page 9 of 32