Thomas Richard

Mr. Thomas Richard

1868 Reputation

12 Badges

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

MaplePrimes Activity


These are replies submitted by Thomas Richard

@acer You wrote:

> Perhaps it would help to think of error as a language keyword.

Yes. That's precisely why it is listed on the ?keyword help page.

@tomleslie That's right, and I suspect that the inconsistency was due to mistakes in setting up the equations. You will notice that some coefficients are close to algebraic numbers; try identify(sys) to find some. And the remaining float values satisfy simple relations as well. If we assign them as follows:

a := 2.82063786985032:
b := 1.82063786985032:
c := 2.78876614599445:
d := 0.03966097875175:
e := 0.968128276144127:
f := 0.031871723855875:

Then b = a-1, d = 2*sqrt(2)-c, f = 1-e. Furthermore, a-c+e  = 1, b+d+f = -1+2*sqrt(2); I stopped searching here. The OP will know the exact parameter values, and be able to fix the problem. This is much better than a purely numerical investigation.

@manon22lr This implicit solution cannot be turned into an explicit one. That is not a weakness of dsolve, but simply due to the appearance of y(t) inside both ln and arctan.

What you can obtain instead is a series expansion:

lambdaS:=dsolve(ivp,y(t),'series');
odetest(lambdaS,ivp,'series');
lambdaP:=convert(lambdaS,'polynom');

It reveals how a and eta impact the solution - which is hopefully useful for your parameter studies.

@manon22lr This implicit solution cannot be turned into an explicit one. It's not a weakness of dsolve, but simply because y(t) appears both inside ln and arctan.

What you can get is a series expansion as follows:

lambdaS:=dsolve(ivp,y(t),'series');
odetest(lambdaS,ivp,'series');
lambdaP:=convert(lambdaS,'polynom');

It reveals how a and eta impact the result - which should be useful for your further parameter studies.

 

I also like your worksheet (thumbs up), and I'm sure it was fun to create. However, entering all these equations and figuring out the details of the animation sequences can become tedious, in my opinion.

An alternative approach is MapleSim which (essentially) "knows" the component equations and lets you focus on the Physical Modeling. For multibody mechanisms, it generates the animation on-the-fly, and lets you export it into various video formats. Have you taken a look at the Jansen two-legs example (https://www.maplesoft.com/products/maplesim/ModelGallery/detail.aspx?id=153) in our Model Gallery?

@vv Here's another value resulting in a reducible polynomial: k=(475/2187)^2, found in a double loop over small numerators and denominators up to 10000 (not just squares, so it took some time)..

While the general answer to the OP's question is "no", there are still interesting cases that he could investigate.

@vv Indeed. Same for k=25/9 that I found just now.

Edit: the case k=64/81 is also solvable, but gives a lengthy output...

@vv That's right. Some further k values are 0, 1/2 and 1/81.

I have deleted some of your posts due to unacceptable and insulting language. Please see https://www.mapleprimes.com/help/guidelines.

@DoingMath2018 See the help page ?sum,details for background info:

s := sum((-1)^n/n*x^n, x=1..infinity,parametric);

 

@rameen hamood Use the green arrow-up button of the message editor. The dialog that opens should be self-explanatory.

The idea of this forum is not about doing someone's homework.

At the very least, show us what you have done in Maple so far, and upload your worksheet (even if incomplete). If you run into problems, please describe them as precisely as possible, and we may be able to help you.

@gawati2611 Try this:

f := unapply(Determinant(M),w1,w2);

The difference between this and your function definition is explained on the unapply help page.

I got a similar question from another customer today, and it turned out that he just needed to load one of the Units packages (recommended is Units[Simple]) to add the expressions.

@nm In addition, the simplified representation appears to be (a bit) longer, but is easier to check:

ot := odetest(sol,ode);
convert(ot,'exp');
ssol := simplify(evalc(sol)) assuming x>0;
odetest(ssol,ode);

 

1 2 3 4 5 6 7 Last Page 1 of 30