## 255 Reputation

3 years, 172 days

## Bad odeplot and getting back function fr...

Maple

restart;
g := 9.81;
with(DEtools);
with(plots);

odeplot(dsolve({diff(x(t), t, t) = 0, diff(y(t), t, t) = -g + y(t)^2, x(0) = 1, y(0) = 0, D(x)(0) = 0, D(y)(0) = 0}, numeric), numpoints = 1000);

Hi, do you know why this plot is ragged? and my second question do you know how to get a single function x(t) or y(t) from this numeric solution instead getting parametrization plot [x(t),y(t)]? Thanks in advance.

## How get plot of a function from the nume...

Maple

restart;
with(plots);
g := 32.2;
k := 0.1;
theta := Pi/5;
v := 50;

ode0 := diff(x(t), t \$ 2) = 0, diff(y(t), t \$ 2) = -g

ode1 := diff(x(t), t \$ 2) = -k*diff(x(t), t) - x(t) - 1/6*x(t)^3 + 1/120*x(t)^5, diff(y(t), t \$ 2) = -g - k*diff(y(t), t) - y(t) - 1/6*y(t)^3 + 1/120*y(t)^5

ics := x(0) = 0, y(0) = 0, D(x)(0) = v*cos(theta), D(y)(0) = v*sin(theta)

dsolve([ode1, ics], numeric)

dsolve([ode0, ics])

display(plot([rhs(dsolve([ode0, ics])[1]), rhs(dsolve([ode0, ics])[2]), t = 0 .. 2], color = red), plot([rhs(dsolve([ode1, ics, numeric])[1]), rhs(dsolve([ode1, ics, numeric])[2]), t = 0 .. 2]), view = [0 .. 75, 0 .. 15])

Hi! Do you know maybe how to get this plot of ode1? I guess that computations are ok but I cannot get this plot.

## Export Embed as gif...

Maple

Hi! I want to make animation from the sequence below to download but it's not working I mean that it's ok when I want to see animation on display but it cannot be seen as something like "display(seq(...,a=1..100),insequence=true)" which is easy to export

restart;
with(Fractals:-EscapeTime);
with(ImageTools);
with(plots);
M := seq(Mandelbrot(500, -0.17225 - evalf(a/100000) + (0.660347 + evalf(a/100000))*I, -0.17115 - evalf(a/100000) + (0.66116 + evalf(a/100000))*I, iterationlimit = 3000, output = layer1, cutoff = 10000), a = 1 .. 100);
seq([Embed(M[j])], j = 1 .. 100);

## Evaluating Lyapunov exponent...

Hi! this is another question about chaos dynamic in Maple last question was about invariant denisty measure on which user Carl Love helped me to answer. Below is link to this question:

https://www.mapleprimes.com/questions/233277-How-To-Optimize-Code-For-Counting-Experimental

So now I want to sketch Lyapunov exponent:

restart;
with(plots);
M := 100;
r := evalf([seq(a/M, a = 3*M .. 4*M)]);
x := t -> t;
x0 := 0.2;
iter := 8;

f := x -> r[i]*x*(1 - x)

g := (n, x) -> (f@@n)(x)

L := seq(D(g(iter, x))(x0), i = 1 .. M)

lambda := seq(ln(abs(L[i]))/iter, i = 1 .. M)

pointplot([seq([3 + a/M, lambda[a]], a = 1 .. M)])

here for comparison a better assignment

main problem is to take proper M and iter because iter above 8 takes too much time to calculate and M additonaly extends the time of calculations. M here is about dividing domain of our function lambda and higher M means more accurate value. Iter is from definition of Lyapunov exponent lambda(x0)=lim  1/{iter}( ln(|diff(f^{iter}(x0),x)| ),iter goes to infinity). Iter is for the more irregular shape of the curve.

Thanks in advance and Merry Christmas.

## How to optimize code for counting experi...

Maple

Hi! I have recently started some Maple in chaos in dynamical systems and I am thinking about counting experimental invariant denisty measure (which is in brief  "how often the point visits the given interval") for some discrete mappings (in this case it's logistic mapping 3.7*x*(1-x)).

restart;
with(plots);
x := array(1 .. 10^6 + 2);

x[1] := 0.2;
for i to 10^6 do
x[i + 1] := 3.7*x[i]*(1 - x[i]);
end do;

counter := 0;
for i to 10^6 do
if 0 <= x[i] and x[i] < 0.1 then counter := counter + 1; end if;
end do;
counter;
counter := 0;
for i to 0^6 do
if 0.2 <= x[i] and x[i] < 0.3 then counter := counter + 1; end if;
end do;
counter;
..........

counter := 0;
for i to 10^6 do
if 0.9 <= x[i] and x[i] < 1 then counter := counter + 1; end if;
end do;
counter;
display(plot([[0, 0], [0.3, 0]]), plot([[0.3, 74089], [0.4, 74089]]), plot([[0.4, 57290], [0.5, 57290]]), plot([[0.5, 86726], [0.6, 86726]]), plot([[0.6, 122087], [0.7, 122087]]), plot([[0.7, 269178], [0.8, 269178]]), plot([[0.8, 185490], [0.9, 185490]]), plot([[0.9, 115405], [1, 115405]]))

I don't know how can I automate this code. I need smaller intervals because I took length 0.1 which is not good enough.

I want to get something like this (it is for logistic map such as above but in below example they plotted this graph for 4*x*(1-x) )