MATLAB Answers

How to write this in matlab?

6 views (last 30 days)
Nazish
Nazish on 28 Jul 2019
Edited: madhan ravi on 29 Jul 2019
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.

  0 Comments

Sign in to comment.

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

  2 Comments

darova
darova on 29 Jul 2019
Please use tabs to maek your code more readable
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
Rik
Rik on 29 Jul 2019
I'm on mobile so formatting is very annoying and time consuming.
If anyone with editing privileges sees this, feel free to edit. Otherwise I might fix it in a few days.

Sign in to comment.

Sign in to answer this question.

Tags


Translated by