15 Reputation

3 Badges

4 years, 302 days

MaplePrimes Activity

These are questions asked by mnpjf


I get an error when I try to create a modelica block including a piecewise function with one of its expressions including csgn function.

similarly when I use the piecewise And for its conditions.

are these not supported in Modelica?


I was wondering why when I want to equate

arctan(0, z)

Maple returns

arctan(0, z)

I know that the maple arctan(x,y) (or atan2) plots from Pi/..-Pi/2, but at x = 0, depending on the sign of y, it should either return Pi/2 or -Pi/2. but the equation returned wouldnt do that, It will plot only from Pi/2 to 0. see below.

plot(arctan(0,z), z = -1..1)

first, why does maple evaluate it to that particular expression of csgn?
second, how to get a "correct" result?


Ive been trying to use the global optimization toolbox to optimize a model I extract from the maplesim environment.
It works fine with the regular Optimization toolbox. but when I run the optimization on the Global toolbox I get this error:

Warning, Error at t=0.0000000000000000e+000: index-1 and derivative evaluation failure

to explain a little,
I use the getCompiledProc command to turn the maplesim model into a module to be used in maple.


Hi I was wondering if theres a way to smoothen a signal in maplesim.
I was trying to create a simple moving average but it doesnt seem to be able to create a feed back loop?
Much appreciate any help, or if there are other ways within maplesim to do it.



I was playing around with the example "Simple Inverse Kinematic Problem" and found somethings to be odd:

the angular motion seems to be calculated from between pi and negative pi and this has some effects when using position block to move a joint.

the original angular displacement is graph below

the angular displacement after ik calculations have been performed:

if you run the simulation it seems to copy and mirror the input pendulum, however if you disable one of the IK solutions you see that infact its motion isn't like the input.

this becomes more prevailant when you use a position block to force rotation on a joint instead of using the 'prescribed rotation' blocks that comes with the example.

My question then:
why does this happen?
how do I work around this?

the importance that the motion is follow precisely becomes more prevailent when we want to extract other values such as vel, accel, torque. they are incorrect and very jumpy. Also simply put the angular displacement is wrong, how do I fix it?

(side note: I'm thinking  it has to do with the way arctan is calculated in maple limits it to stay in range -pi to pi
"For real arguments x, y, the two-argument function arctan(y, x), computes the principal value of the argument of the complex number x+Iy, so −π < arctan(y,x) ≤ π." from


1 2 Page 1 of 2