plotting the graph changing by the range

1 次查看(过去 30 天)
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.

采纳的回答

Walter Roberson
Walter Roberson 2020-4-26
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 个评论
Joo Seo Lee
Joo Seo Lee 2020-4-26
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 2020-4-26
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

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Testing Frameworks 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by