Search for fixed points / attractors / shadow map repellents

I need to find the fixed points and attractors of the shadow map function given below:

  x t = (3/2) * x t-1 when 0 <= x <= (2/3)

     and

     x t = 3 * (1-x t-1 ) when (2/3) <= x <= 1

I use the MATLAB code below to create a web diagram (shown below code) to find out if I can get some idea of ​​this particular shadow map function. As you can see, I start by setting t = 1 (and x (1) = 0.2001), but there are an infinite number of possible places to start. How can you identify fixed points / attractors if you are not testing each starting point?

clear close all % Initial condition 0.2001, must be symbolic. nmax=200; t=sym(zeros(1,nmax));t1=sym(zeros(1,nmax));t2=sym(zeros(1,nmax)); t(1)=sym(2001/10000); mu=2; halfm=(2/3) *nmax; axis([0 1 0 1]); for n=2:nmax if (double(t(n-1)))>0 && (double(t(n-1)))<=2/3 % 0 <= x <= (2/3) t(n)=sym((3/2)*t(n-1)); % x(t) = (3/2) * x(t-1) else if (double(t(n-1)))<1 % else (2/3) <= x <= 1 t(n)=sym(3*(1-t(n-1))); % x(t) = 3* (1-x(t-1)) end end end for n=1:halfm t1(2*n-1)=t(n); t1(2*n)=t(n); end t2(1)=0;t2(2)=double(t(2)); for n=2:halfm t2(2*n-1)=double(t(n)); t2(2*n)=double(t(n+1)); end hold on fsize=20; plot(double(t1),double(t2),'r'); x=[0 (2/3) 1];y=[0 mu/2 0]; plot(x,y,'b'); 

The following web diagram for t (1) = 0.2001 enter image description here

+6
source share
4 answers

These are just some of the considerations associated with the problem. I will continue to use Mathematica for now, as this is more convenient (and judging by your code above, you should be able to manage this in MATLAB, if not, I will try to convert it). However, if you have Mathematica and you can test them, that would be great.

Fixed point : the fixed point of the function f(x) is the point at which the solution f(x)=x ; in other words, the point at which the function maps it to itself.

The solution for your function, you get x=0 and x=3/4 as fixed points.

 In:= Solve[Min[3/2 x, 3 - 3 x] - x == 0, x] Out= {{x -> 0}, {x -> 3/4}} 

Indeed, the trajectory that begins at these points will remain at these points forever. You can also interactively observe effects when changing the initial and the number of iterations using

 Manipulate[ CobwebDiagram[xstart, steps], {xstart, 0, 1, 1/1000}, {steps, 1, 200, 1}] 

The nature of fixed points

Let's look at the nature of fixed points. If it is an attractor, points in an arbitrarily small Epsilon neighborhood of a fixed point remain in a neighboring similar size (do not have to be the same size), and if it is repellent, it repels and diverges to a completely arbitrary point outside the neighborhood (my definitions are pretty free here but guesswork will do).

So try the following

 eps = 10^-16; CobwebDiagram[0.75 + eps, 200] 

we get

fig. (1)

enter image description here

which, of course, does not seem to converge to a fixed point. Indeed, if you look at the evolution of x[t] , you will see that it diverges

 Clear[f] f[1] = 0.75 + eps; f[t_] := f[t] = Piecewise[{{3/2 f[t - 1], 0 <= f[t - 1] <= 2/3}}, 3 (1 - f[t - 1])]; ListLinePlot[Table[f[n], {n, 1, 200}]] 

fig. (2)

enter image description here

The result is similar if you break it in another direction, i.e. f[1]=0.75-eps .

For another fixed point (this time it can be perturbed in only one direction, since the function is defined for x>=0 ), you will see that the behavior is the same, and therefore two fixed points appear to be diverging.

fig. (3)

enter image description here

fig. (4)

enter image description here

Now consider the starting point x[1]=18/25 .

 CobwebDiagram[18/25, 200] 

fig. (5)

enter image description here

Wow !! It looks like a terminal cycle !

Limit cycle: The limit cycle is a closed trajectory of the system, from which it is not possible to reach a point not on the trajectory, even as t->Infinity . So, when you look at x[t] , you see something like

fig. (6)

enter image description here

which is repeated by only 3 points (image compression creates an image of moire , but in fact, if you built it for a small number of steps, you will see 3 points. I'm just too sleepy to go back and change it). Three points: 12/25 , 18/25 and 21/25 . Starting at any of these three points, you will end up in the same limit cycle.

Now, if the trajectories close enough to the limit cycle converge to it, this is an attractive / stable limit cycle, otherwise it is a repulsive / unstable limit cycle. Thus, still indignant at eps in any direction, we see that the trajectory diverges (I show only + ve the direction below).

fig. (7)

enter image description here

fig. (8)

enter image description here

Interestingly, starting with x[1]=19/25 18/25 it maps it to 18/25 in the next step, which then continues indefinitely in the trajectory of the limit cycle. It is easy to understand why this is happening, since the line from 19/25 on to y=x is simply an extension of the line from 12/25 to y=x (i.e., from the first part of the function). By the same logic, there should be points corresponding to 18/25 and 21/25 , but I'm not going to find them now. In light of this, I’m not entirely sure whether the limit cycle really attracts or repels here (in accordance with the strict definition of the limit cycle, there should be only one other path that spirals into it, you find three! Perhaps someone who knows more about this, can weigh it).

A few more thoughts

Starting point 1/2 also interesting, as it will take you to 3/4 in the next step, which is a fixed point and therefore stays there forever. In the same way, point 2/3 takes you to another fixed point at 0 .

 CobwebDiagram[1/2, 200] 

fig. (9)

enter image description here

 CobwebDiagram[2/3, 200] 

fig. (10)

enter image description here

Oscillation behavior also tells you about the system. If you look at the trajectory in fig. (2.4), the system takes longer to spiral into chaos for the case with a fixed point 0 than the other. In addition, in both graphs, when the trajectories approach 0 , it takes longer to recover than with 3/4 , where it simply oscillates quickly. They are similar to relaxation vibrations (think that the capacitor is slowly charging and instantly discharging by short circuiting).

That is all I can think of now. Finally, I believe that the exact nature of the fixed points should be analyzed in the general Lyapunov stability setting, but I am not going to get up to it. I hope this answer gave you some options to explore.

+8
source

To simplify the answers to questions for Mathematica verses, here is a version of Mathematica using the code above:

 CobwebDiagram[xstart_, steps_] := Module[{path, x, t}, path = RecurrenceTable[{x[t] == Piecewise[{{3/2 x[t - 1], 0 <= x[t - 1] <= 2/3}}, 3 (1 - x[t - 1])], x[1] == xstart}, x, {t, 1, steps}]; Plot[Piecewise[{{3/2 x, 0 <= x < 2/3}}, 3 (1 - x)], {x, 0, 1}, Epilog -> {Red, Line[Riffle[Partition[path, 2, 1], {#, #} & /@ Rest[path]]]}]] 

enter image description here

+7
source

Somehow, I thought it was a homework question when I first saw it, and OP's answer to Yoda’s answer confirms this. It is not necessary to ask home-based questions incorrectly, but this certainly should be clearly indicated as such. There are some reasonable homework rules for this meta link: https://meta.stackexchange.com/questions/18242/what-is-the-policy-here-on-homework

Given the “no homework, welcome” policy, there is one comment that I would add to the discussion of solutions that I have presented so far. Study the iteration graphs f. By this I mean graphs f (f (x)), f (f (f (x))), etc. For example, the third iteration f (x) = x ^ 2 is f (f (f (x))) = x ^ 8. The intersection points between the graph of the nth iteration f and the line y = x include periodic orbits of order n (and a little more). When studying these photographs, it should become clear that there are many repulsive orbits.

The right way to classify dynamics completely is to use symbolic dynamics, which your class might or might not cover.

+3
source

I can’t say which part of CobwebDiagram comes earlier, and which comes later. I did not find a color function that really works, but an improvement may exist along these lines:

 Clear[cobWebDiagram, f, x] f[x_] = Piecewise[{{3/2 x, 0 <= x <= 2/3}, {3 (1 - x), True}}]; colorName = RandomChoice@ColorData ["Gradients"] color = ColorData@colorName cobWebDiagram[f_, xstart_, steps_, low_, hi_, color_] := Module[{path, x, t, range = color[[3]], scale1}, path = Partition[NestList[f, .75 + eps, steps], 2, 1]; scale1 = Rescale[#, {1, Length@path }, range] &; scale2 = Rescale[#, {1, Length@path }, {0, .005}] &; Show[Plot[ f@x , {x, low, hi}], Graphics@ Table[{ color@scale1 @k, Thickness@scale2 @k, Arrow@path [[{k, k + 1}]]}, {k, -1 + Length@path }]]] eps = 10^-16; cobWebDiagram[f, .75 + eps, 100, 0, 1, color] 

You can experiment with colors using RandomChoice above, or a decent choice might be

 colorName="CMYKColors" 
+1
source

Source: https://habr.com/ru/post/886034/


All Articles