plotting the graph changing by the range

1 Ansicht (letzte 30 Tage)
Joo Seo Lee
Joo Seo Lee am 26 Apr. 2020
Kommentiert: Walter Roberson am 26 Apr. 2020
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.

Akzeptierte Antwort

Walter Roberson
Walter Roberson am 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 Kommentare
Joo Seo Lee
Joo Seo Lee am 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 am 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

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu Testing Frameworks finden Sie in Help Center und File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by