A tool to plot bifurcation diagrams using Node.js and Gnuplot.
npm install plotbd
const plotbd = require('plotbd');
/*
The map should have the following pattern
- The current state x(n) as the first argument.
- The control parameter (r) as the second one.
- return the next state x(n+1)
*/
function logisticMap (x, r) {
return r * x * (1 - x);
}
plotbd(logisticMap, {
x0: 0.4, // [required] the initial state
rValues: [0.1, 3.99, 1000], // [required] the control parameter [min, max, numberOfValues]
iterations: 500, // [optional] number of iterations to do for a each r value
density: 100 // [optional] number of "x" values to plot per "r" value.
});
density
must always be less thaniterations
because thex
values to keep are part of iterations.- increasing the number of
r
valuesrValues[2]
anddensity
will enhance the bifurcation diagram plot by adding more details. But, it will decrease the performance on the other hand.