How do you code this set of discrete difference equations using for loop?

2 views (last 30 days)
This is where ive got so far with it, but it doesnt seem to be changing the values of x,y and z
%Parameters -- Keep as constants for now.
d = 0.001;
%Parameters - Varying values of a, b and r
a=2;
b=2;
r=3;
%Initial conditions
x(1)=2;
y(1)=2;
z(1)=2;
for n=1:10
x(n+1)=x(n)+(d*a)*(x(n)-y(n));
y(n+1)=y(n)+(d*r)*(x(n)-z(n))*(x(n)-y(n));
z(n+1)=z(n)+(d*((x(n)*y(n))-(b*z(n))));
end
figure(1),
subplot(3,1,1), hold on
plot(x(n), n)
xlabel('n');
subplot(3,1,2), hold on
plot(y(n), n)
xlabel('n');
subplot(3,1,3), hold on
plot(z(n), n)
xlabel('n');
  1 Comment
Akira Agata
Akira Agata on 30 Nov 2018
Edited: Akira Agata on 30 Nov 2018
I think it's due to your initial condition. If you change the initial condition, like x(1) = 1, y(1) = 2, z(1) = 3, then they will change as n increases.

Sign in to comment.

Answers (1)

Md Muzakkir Quamar
Md Muzakkir Quamar on 11 Nov 2020
you need to create an array for x(n), y(n), z(n) to store the values

Categories

Find more on Dynamic System Models in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!