aboutsummaryrefslogtreecommitdiff
path: root/chaos/src/coupled_logistic.hpp
diff options
context:
space:
mode:
authorTim Blechmann <timblech@users.sourceforge.net>2005-06-09 12:52:17 +0000
committerIOhannes m zmölnig <zmoelnig@iem.at>2015-10-14 15:11:59 +0200
commit2434290915cda6ed855e4dc2249312153b995817 (patch)
treef6c2a4c5c5c82cfcfb931dd8fa91ebb16b982721 /chaos/src/coupled_logistic.hpp
parent5fda6973fd8d94872a61d99d264ee5902824139d (diff)
changed initialisation
svn path=/trunk/externals/tb/; revision=3145
Diffstat (limited to 'chaos/src/coupled_logistic.hpp')
-rw-r--r--chaos/src/coupled_logistic.hpp38
1 files changed, 28 insertions, 10 deletions
diff --git a/chaos/src/coupled_logistic.hpp b/chaos/src/coupled_logistic.hpp
index 85b6928..7cc8602 100644
--- a/chaos/src/coupled_logistic.hpp
+++ b/chaos/src/coupled_logistic.hpp
@@ -21,7 +21,7 @@
#include "map_base.hpp"
// coupled_logistic map: x[n+1] = r * x[n] * (1 - x[n]) + e * (y[n] - x[n])
-// y[n+1] = r * y[n] * (1 - y[n]) + e * (x[t] - y[t])
+// y[n+1] = r * y[n] * (1 - y[n]) + e * (x[n] - y[n])
// 1 <= r <= 4
// taken from Willi-Hans Steeb: Chaos and Fractals
@@ -31,17 +31,19 @@ class coupled_logistic:
public:
coupled_logistic()
{
- m_num_eq = 2;
- m_data = new data_t[m_num_eq];
- CHAOS_SYS_INIT(e, 0.06);
- CHAOS_SYS_INIT(r, 3.7);
- CHAOS_SYS_INIT(x, 0.1);
- CHAOS_SYS_INIT(x, 0.2);
+ CHAOS_PRECONSTRUCTOR;
+
+ CHAOS_PAR_INIT(e, 0.06);
+ CHAOS_PAR_INIT(r, 3.7);
+
+ CHAOS_SYS_INIT(x, 0.1,0);
+ CHAOS_SYS_INIT(y, 0.2,1);
+
+ CHAOS_POSTCONSTRUCTOR;
}
~coupled_logistic()
{
- delete m_data;
}
virtual void m_step()
@@ -61,8 +63,24 @@ public:
return (f > 0) && (f < 4);
}
- CHAOS_SYSVAR_FUNCS(x, 0);
- CHAOS_SYSVAR_FUNCS(y, 0);
+ CHAOS_SYSVAR_FUNCS_PRED(x, 0, m_pred_xy);
+ CHAOS_SYSVAR_FUNCS_PRED(y, 0, m_pred_xy);
+
+ bool m_pred_xy(t_float f)
+ {
+ return (f > 0) && (f < 1);
+ }
+
+ virtual void m_verify()
+ {
+ data_t x = m_data[0];
+ data_t y = m_data[1];
+ if (!m_pred_xy(x))
+ m_data[0] = 0.5;
+ if (!m_pred_xy(y))
+ m_data[1] = 0.5;
+ }
+
};