You are currently browsing the category archive for the ‘IB HL functions’ category.

Screen Shot 2018-05-16 at 10.36.10 AM

Modelling Chaos

This post was inspired by Rachel Thomas’ Nrich article on the same topic.  I’ll carry on the investigation suggested in the article.  We’re going to explore chaotic behavior – where small changes to initial conditions lead to widely different outcomes.  Chaotic behavior is what makes modelling (say) weather patterns so complex.

Let’s start as in the article with the function:

f(x) = 4x(1-x)

We can then start an iterative process where we choose an initial value, calculate f(x) and then use this answer to calculate a new f(x) etc. For example when I choose x = 0.2, f(0.2) = 0.64. I then use this value to find a new value f(0.64) = 0.9216. I used a spreadsheet to plot 40 iterations for the starting values of x = 0.2 and x = 0.2001. This generated the following spreadsheet (cut to show the first 10 terms):

Screen Shot 2018-05-16 at 7.44.29 AM

I then imported this table into Desmos to map how the change in the starting value from 0.2 to 0.2001 affected the resultant graph.

Starting value of x = 0.2

Screen Shot 2018-05-16 at 7.45.17 AM

Starting value of x = 0.2001

Screen Shot 2018-05-16 at 7.45.04 AM

Both graphs superimposed 

Screen Shot 2018-05-16 at 7.45.31 AM

We can see that for the first 10 terms the graphs are virtually the same – but then we get a wild divergence, before the graphs seem to synchronize more closely again.  One thing we notice is that the data is bounded between 0 and 1.  Can we prove why this is?

If we start with a value of x such that:


then when we plot f(x) = 4x – 4x2 we can see that the graph has a maximum at x = 1/2:
Screen Shot 2018-05-16 at 9.34.26 AM.

Therefore any starting value of x between 0 and 1 will also return a new value bounded between 0 and 1.  Starting values of x > 1 and x < -1 will tend to negative infinity because x2 grows much more rapidly than x.

f(x) = ax(1-x)

Let’s now explore what happens as we change the value of a whilst keeping our initial starting values of x = 0.2 and x = 0.2001

a = 0.8

Screen Shot 2018-05-16 at 10.51.49 AM

both graphs are superimposed but are identical at the scale we are using.  We can see that both values are attracted to 0 (we can say that 0 is an attractor for our system).

a = 1.2

Screen Shot 2018-05-16 at 10.57.01 AM

Again both graphs are superimposed but are identical at the scale we are using.  We can see that both values are attracted to 1/6 (we can say that 1/6 is an attractor for our system).

In general, for f(x) = ax(1-x) with -1≤x≤1, the attractors are given by x = 0 and x = 1 – 1/a, but it depends on the starting conditions as to whether we will end up being attracted to this point.

f(x) = 0.8x(1-x)

So, let’s look at f(x) = 0.8x(1-x) for different starting values 1≤x≤1.  Our attractors are given by x = 0 and x = 1 – 1/0.8 = -0.25.

When our initial value is x = 0 we remain at the point x = 0.

When our initial value is x = -0.25 we remain at the point x = -0.25.

When our initial value is x < -0.25 we tend to negative infinity.

When our initial value is  -0.25 < x ≤ 1 we tend towards x = 0.

Starting value of x = -0.249999:

Screen Shot 2018-05-16 at 12.02.53 PM

Therefore we can say that x = 0 is a stable attractor, initial values close to x = 0 will still tend to 0.

However x = -0.25 is a fixed point rather than a stable attractoras

x = -0.250001 will tend to infinity very rapidly,

x = -0.25 stays at x = -0.25.

x = -0.249999 will tend towards 0.

Therefore there is a stable equilibria at x = 0 and an unstable equilibria at x = -0.25.


Screen Shot 2017-06-15 at 10.54.40 AM

This is a quick example of how using Tracker software can generate a nice physics-related exploration.  I took a spring, and attached it to a stand with a weight hanging from the end.  I then took a video of the movement of the spring, and then uploaded this to Tracker.

Height against time

The first graph I generated was for the height of the spring against time.  I started the graph when the spring was released from the low point.  To be more accurate here you can calibrate the y axis scale with the actual distance.  I left it with the default settings.

Screen Shot 2017-06-15 at 9.06.25 AM

You can see we have a very good fit for a sine/cosine curve.  This gives the approximate equation:

y = -65cos10.5(t-3.4) – 195

(remembering that the y axis scale is x 100).

This oscillating behavior is what we would expect from a spring system – in this case we have a period of around 0.6 seconds.

Momentum against velocity

Screen Shot 2017-06-15 at 10.31.20 AM

For this graph I first set the mass as 0.3kg – which was the weight used – and plotted the y direction momentum against the y direction velocity.  It then produces the above linear relationship, which has a gradient of around 0.3.  Therefore we have the equation:

p = 0.3v

If we look at the theoretical equation linking momentum:

p = mv

(Where m = mass).  We can see that we have almost perfectly replicated this theoretical equation.

Height against velocity

Screen Shot 2017-06-15 at 10.35.43 AM

I generated this graph with the mass set to the default 1kg.  It plots the y direction against the y component velocity.  You can see from the this graph that the velocity is 0 when the spring is at the top and bottom of its cycle.  We can then also see that it reaches its maximum velocity when halfway through its cycle.  If we were to model this we could use an ellipse (remembering that both scales are x100 and using x for vy):

Screen Shot 2017-06-15 at 11.45.41 AM

If we then wanted to develop this as an investigation, we could look at how changing the weight or the spring extension affected the results and look for some general conclusions for this.  So there we go – a nice example of how tracker can quickly generate some nice personalised investigations!

One of the main benefits of flipping the classroom is allowing IB maths students to self-teach IB content. There are currently a good number of videos on youtube which allow students to self teach syllabus content, but no real opportunity to watch videos going through IB Higher Level past paper questions. So, I’ve started to put some of these together:

Playlist, Worked Exam Solutions:

The videos above are all around 10 minutes long and consist of talking through the solutions to 2-3 IB HL maths questions. The best way to use these videos is to pause the video at the start of the question, attempt it, then watch the video to check the answer and make notes on the method. Click on the top left hand corner to change the video being shown in the playlist.

The playlists below combine these worked solutions with the syllabus content videos, all grouped into the relevant syllabus strands:

Playlist 1, Algebra 1:

Sequences, Binomial, Logs, Induction, Permutations, Gaussian elimination:

Playlist 2, Complex numbers:

Converting from Cartesian to Polar, De Moivre’s Theorem, Roots of Unity:

Playlist 3: Functions:

Sketching graphs, Finding Inverses, Factor and Remainder Theorem, Sketching 1/f(x), sketching absolute f(x), translating f(x):

Website Stats


Recent Posts

Follow IB Maths Resources from British International School Phuket on