plotting the graph changing by the range

3 visualizzazioni (ultimi 30 giorni)
the given equation is
n=~20
x(n+1)=1.4x(n) for 0<x<0.5
x(n+1)=1.4(1-x(n)) for 0.5<x<1
I tried to use 'if' and 'elseif', but I can't make it repeat.

Risposta accettata

Walter Roberson
Walter Roberson il 26 Apr 2020
x(1) = something
for n = 2 : number of iterations
if x(n) has some property
x(n+1) = some formula
elseif it has some other property
x(n+1) = some other formula
else
give an error because the situation is not defined
end
end
  2 Commenti
Joo Seo Lee
Joo Seo Lee il 26 Apr 2020
thanks for the answer, but
x(1) = 0.2
for n = 2 : 20
if 0<x(n)<0.5
x(n+1) = 1.4*x(n)
elseif 0.5<x(n)<1
x(n+1) = 1.4*(1-x(n))
else
give an error because the situation is not defined
end
end
only is done once and gives an error message that index exceeds the number of array elements.
Walter Roberson
Walter Roberson il 26 Apr 2020
In MATLAB,
if 0<x(n)<0.5
means the same as
if ((0<x(n))<0.5)
The first test, 0<x(n) gives a logical result that is 0 (false) or 1 (true). Then the second test compares that 0 or 1 to 0.5. That code does not test to see if a variable is in a particular range. To test for a particular range, use seperate tests:
if 0 < x(n) & x(n) < 0.5
I should have written for
for n = 1 : 20-1

Accedi per commentare.

Più risposte (0)

Tag

Community Treasure Hunt

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

Start Hunting!

Translated by