2205 Reputation

19 Badges

4 years, 265 days

MaplePrimes Activity

These are questions asked by C_R

I found this option mentioned in help(MapleSim,Multibody,Dynamic_Exports).

For the example of the help page I tried

SliderCrank:-GetDynEQs(AugType = Reaction);
SliderCrank:-GetDynEQs(AugType = Lagrange);

but the output is the same (which I would expect since GetDynEQs is not defined with parameters).

In the help system I only find deprecated commands that use this option

How can this option be set in newer versions of MapleSim without using deprecated commands?

The below is not properly rendering in my browser. You probably have to open the worksheet

De Morgan's law from https://en.wikipedia.org/wiki/De_Morgan%27s_laws


iff(not (P or Q), `and`(not P, not Q))

not (P or Q) implies not (P or Q)


iff(not (P and Q), `or`(not P, not Q))

not (P and Q) implies not (P and Q)




Edit: Asking differently: Which symbol from the palettes can be used for equivalence (in a logic context)?

Edit2: Title changed. Original title: Why does Maple replace the equivalence symbol by an implication symbol

Download De_Morgans_law.mw

In help(EllipticF): Why is the parameter k not called “the modulus of the elliptic function” as in the definition of the inverse Jacobi functions in help(InverseJacobiPQ)?

Instead, it is called “the parameter” which can be confused with the parameter m=k^2 used in other notations (which is refered to "a parameter m" in the EllipticF help page).

Is there a reason for this, or should the parameter definitions of the first, second and thrid elliptic integrals not be aligned with the parameter definitions of the Jacobi functions and their inverses?

DLMF for example defines k as modulus for both, the Elliptic Integrals and the Jacobian Elliptic Functions.

A user who wants to transfer an expression from a different notation to Maple might misinterpret parameters.

Sometimes the canvas in the 2d-workspace of a subsystem (or component) is grayed out and the parameters in the parameter pane cannot be changed.

Example from the Model Gallery where the mass cannot be changed

Another example of a CAD geometry where I would like to change color and transparency:  seeshell.msim

How to unprotect the parameters?

I have observed that copy and pasting (Edit2: in a new document) and deleting the original component and copy/paste back into the original document and reconnection of the pasted  component works. Are there shorter ways to unprotect? 

And: How to do the reverse action (i.e. protecting a component)?

(I could not find a "when" and "why" for the protection in the documentation. Maybe I overlooked something)


Other reasons why to unprotect are suppressions of components and highlight of multibody ports and axes.

Adding or reformating automatically generated ports (Edit3).


I make more and more use of the FunctionAdvisor. I have started to apply rules from the advisor to expressions. Here are two examples with questions:


Expression to apply an identiy to

JacobiSN(sin((1/2)*`ϕ__0`)*t, csc((1/2)*`ϕ__0`)) = JacobiSN(z, k)

JacobiSN(sin((1/2)*varphi__0)*t, csc((1/2)*varphi__0)) = JacobiSN(z, k)


map(op, JacobiSN(sin((1/2)*varphi__0)*t, csc((1/2)*varphi__0)) = JacobiSN(z, k))

(sin((1/2)*varphi__0)*t, csc((1/2)*varphi__0)) = (z, k)


solve([(rhs-lhs)((sin((1/2)*varphi__0)*t, csc((1/2)*varphi__0)) = (z, k))], {k, z})[]

k = csc((1/2)*varphi__0), z = sin((1/2)*varphi__0)*t


Using the following identity from Maples FunctionAdvisor and the correspondence in (3)

FunctionAdvisor(identities, JacobiSN(z, 1/k))[5]

JacobiSN(z, k) = JacobiSN(z*k, 1/k)/k


convert(subs(k = csc((1/2)*varphi__0), z = sin((1/2)*varphi__0)*t, JacobiSN(z, k) = JacobiSN(z*k, 1/k)/k), sincos)

JacobiSN(sin((1/2)*varphi__0)*t, 1/sin((1/2)*varphi__0)) = sin((1/2)*varphi__0)*JacobiSN(t, sin((1/2)*varphi__0))


That worked. Q1: But is it a good way to do so?

Now  a new example: Converting InverseJacobinAM to InverseJacobiSN



FunctionAdvisor(identities, InverseJacobiSN(z, k))[3]

InverseJacobiSN(z, k) = InverseJacobiAM(arcsin(z), k)


InverseJacobiAM((1/2)*`ϕ__0`, sqrt(2)/sqrt(1-cos(`ϕ__0`))) = rhs(InverseJacobiSN(z, k) = InverseJacobiAM(arcsin(z), k))

InverseJacobiAM((1/2)*varphi__0, 2^(1/2)/(1-cos(varphi__0))^(1/2)) = EllipticF(z, k)


map(op, InverseJacobiAM((1/2)*varphi__0, 2^(1/2)/(1-cos(varphi__0))^(1/2)) = EllipticF(z, k))

((1/2)*varphi__0, 2^(1/2)/(1-cos(varphi__0))^(1/2)) = (z, k)


solve({(rhs-lhs)(((1/2)*varphi__0, 2^(1/2)/(1-cos(varphi__0))^(1/2)) = (z, k))}, {k, z})

{k = 2^(1/2)/(1-cos(varphi__0))^(1/2), z = (1/2)*varphi__0}


This is of course wrong since comparing the InverseJacobiAM expression in (6) and (7) z should be

(1/2)*`ϕ__0` = arcsin(z)

(1/2)*varphi__0 = arcsin(z)


solve((1/2)*varphi__0 = arcsin(z), {z})

{z = sin((1/2)*varphi__0)}


Q2: How to avoid simplification of InverseJacobiAM(arcsin(z), k)to EllipticF(z, k)

Any advice?

Download Applying_identities_from_FunctionAdivisor.mw

First 8 9 10 11 12 13 14 Last Page 10 of 27