How to write this in matlab?

3 views (last 30 days)
Nazish
Nazish on 28 Jul 2019
Commented: Adam Danz on 18 Jun 2020
How to write this equation in matlab?
f (xn) = x(n+1) = x(n)/a for 0 ≤ x(n) ≤ a
1−x(n)/1−a a ≤ x(n) ≤ 1
Where x0 is the initial value and xn ∈ [0,1]. The control parameter a ∈ (0,1) and when a is not equal to 0.5, system enters a chaotic state.

Answers (1)

Rik
Rik on 28 Jul 2019
Edited: madhan ravi on 29 Jul 2019
Because of the recursion limit (and other factors), it is smarter to implement this in a loop, instead of a recursive function.
The code below has some assumptions about your function you should check, but it shows the general idea.
x0=0.1;
N=30;
a=0.4;
x=zeros(N,1);
x(1)=x0;
for n=1:(N-1)
if 0<=x(n) && x(n)<a
x(n+1)= x(n)/a;
else
x(n+1)= (1-x(n))/(1-a);
end
end
  5 Comments
Rik
Rik on 18 Jun 2020
Eloquently put. What don't you understand about that line?
Adam Danz
Adam Danz on 18 Jun 2020
@Fawrad, X = zeros(sz1,...,szN) check out that link.

Sign in to comment.

Categories

Find more on MATLAB in Help Center and File Exchange

Tags

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!