MATLAB Answers

0

Trouble with difference equation

Asked by Debanita Das on 22 May 2019 at 6:50
Latest activity Commented on by Debanita Das on 22 May 2019 at 17:56
clc; close all; clear all;
b=0.9; d=0.25;
nn=200;
t=[0:0.1:100];
for a=0:0.01:11
for n=1:nn
x(1)=0.4;
y(1)=2.9;
x(n+1)=x(n)+(d*((a*x(n))*(1-x(n))-((b*x(n)*y(n))/(x(n)+y(n)))));
y(n+1)=y(n)+(d*(((b*x(n)*y(n))/(x(n)+y(n)))-y(n)));
stem(y,x)
end
end
i have been trying to run this code in order to plot difference equation curves but this code isn't yielding any output. Can anyone suggest any other codes or point out my mistake?

  0 Comments

Sign in to comment.

Tags

1 Answer

Answer by Raj
on 22 May 2019 at 7:33
Edited by Raj
on 22 May 2019 at 7:36
 Accepted Answer

1) For which value of 'a' are you trying to plot the stem graph? If for all the values from a=0:0.01:11 then shift the plot outside first for loop like this:
for a=0:0.01:11
for n=1:nn
x(1)=0.4;
y(1)=2.9;
x(n+1)=x(n)+(d*((a*x(n))*(1-x(n))-((b*x(n)*y(n))/(x(n)+y(n)))));
y(n+1)=y(n)+(d*(((b*x(n)*y(n))/(x(n)+y(n)))-y(n)));
end
stem(y,x)
hold on
end
If you want to plot for a particular value of 'a' then the first for loop makes no sense.
2) what is the use of 't'?
3) Use of close all, clear all etc are not recommended. See here.

  1 Comment

Thank you so much for rectifying my mistake.

Sign in to comment.