Thomas Richard

Mr. Thomas Richard

2273 Reputation

12 Badges

11 years, 216 days
Maplesoft Europe GmbH
Technical professional in industry or government
Aachen, North Rhine-Westphalia, Germany

MaplePrimes Activity

These are answers submitted by Thomas Richard

If I interpret and transfer the example given on the help page correctly, it works like this:

p1 := contourplot([r,theta,psi], r = 0 .. 1, theta = 0 .. 3*Pi*(1/8), coords=cylindrical, contours=20);
p2 := contourplot([r,theta,phi], r = 0 .. 1, theta = 0 .. 3*Pi*(1/8), coords=cylindrical, contours=20);

Is that what you need?

BTW: You don't need LinearAlgebra for this (unless your code snippet is just part of a longer worksheet).

I suppose you meant to write cos(t)^6, right? If so, then my suggestion is


You could even omit the 'trig' option, but I find it easier to read.

Alternatively, you could go the "manual" or stepwise way:


You can infer that simply from the 1st bullet item of the description: The FetchRow command returns value of all columns for the current row.

Furthermore, if we take a look at the output of showstat(FetchRow), there is no column parameter in the proc definition.

Please submit an SCR via MaplePrimes - thanks.

By entering the assignment operator := you have tried to assign the result of a Simulate call to A, but the correct way is to call the Simulate procedure of the module A that was created by calling LinkModel before. Note that :- is the so-called module member selection operator; see ?colondash or ?:- for help. Thus,


will do the job.

BTW: your Excel file is contained in your msim file, hence no need to upload it separately to MaplePrimes.

Apart from that, let me point out that GetCompiledProc is much more efficient than Simulate (which is essentially equivalent to hitting F5 or pressing the blue triangle button in MapleSim). But that comes later, when delving deeper into the API.

The inequal function is not recognized (as part of the plots package) because the with command inside the proc is ineffective - which the startup code editor tells you. If you remove the with line, and call plots:-inequal rather than just inequal, the error will disappear. The with command is really made for interactive usage at the top level only, i.e. outside any procs or modules.

Furthermore, the "value" keyword should be enclosed in double quotes, which you did everywhere except for line 13.

The sum command implements far more advanced methods than simply adding each term. For a start, set


before calling sum. I won't go into details, though.

Moreover, if you don't like the default behaviour of factorial(-1), you can modify it as follows:

NumericStatus( division_by_zero );
NumericStatus( division_by_zero );
MyHandler := proc(operator,operands,default_value)
   # MyHandler issues a warning, clears the status flag, and then
   # continues with the default value.
   WARNING("division by zero in %1 with argument(s) %2", operator, operands);
   NumericStatus( division_by_zero = false );
   return default_value;
end proc:
NumericStatus( division_by_zero );

More details can be found under ?NumericEventHandler. Note that we're not modifying the factorial command as such!

It might be easily overlooked, but there is a short paragraph on that topic in the Description section of the ?assume help page:

Assumptions made on names can be removed by unassigning names. For example, having made assumption(s) on x, x := 'x' clears them.

The interface setting that nm is referring to just determines the way assumptions are displayed.

If you don't need the flexibility of ListDirectory, and want to save a few keystrokes, the older listdir command will suffice.

Kitonum is right; the colorscheme option was added in Maple 2016. Please see for the details.

Have you seen the book list at

Currently 65 entries for that category, including non-English books.

There are various way to extract points from a plot and to store them in a spreadsheet. Attached is one that I find simplest: let BodePlot just output data Matrices (where column 1 contains the frequency), combine them into one, and write that to a file, using defaults:
(I have chosen a filename that is more specific than, making it easier to find.)

You could also write to other cell ranges, to separate sheets in the same file, or to separate files. Please review the ?ExcelTools,Export help page carefully, notably the examples.

For other plot commands, plottools:-getdata is convenient to extract point coordinates.

Recently (weeks ago) I had the same problem on one of my machines, and it turned out to be a side effect of a certain Physics update that had meanwhile been fixed. So if you are using the Physics package, make sure to keep it updated.

If the problem persists, please tell us the output of Physics:-Version();

You got it almost right; the command is SetProperty rather than setProperty.

Furthermore, I would check "Continuous update on drag" (or "Update continuously while dragging"  in older versions) in the Component Properties dialog for the slider.

If so, then I guess the answer is obvious. ;-)

But if you have specific feature suggestions, feel free to send them to and/or discuss them here.

You didn't provide any executable example (code snippet or worksheet), but this is how it is done in principle. Suppose sol is your procedure returned by dsolve/numeric. Then, after the halt has been triggered:


For the details, please see section "Interactive features" under ?dsolve,numeric,Events.

About question 2: insert


before calling sol.

But I would not suppress warnings globally. In general, they are useful. I've set warnlevel to 4 in my initialization file. Default value is 3.

5 6 7 8 9 10 11 Last Page 7 of 35