chaotic sequence generation from chen's hyperchaotic system
9 views (last 30 days)
Show older comments
Hello
I need to generate two chaotic sequences based on chen's hyperchaotic system.It has to be generated from the following four formulas
X=ay-x;
Y=-xz+dx+cy-q;
Y=xy-bz;
Q=x+k;
where a,b,c,d,x,y,z,q are all initialised as follows. I need only X and Y where
X=[x1,x2,...x4n]
Y=[y1,y2,...y4n]
a=36 ;
b=3 ;
c=28 ;
d=16 ;
k=0.2 ;
x=0.3 ;
y=-0.4 ;
z=1.2 ;
q=1 ;
n=256 ;
I tried the following code but i'm not able to get it properly.
clc
clear all
close all
w=imread('C:\Users\Abzz\Desktop\lena.png');
[m n]=size(w)
a=36;
b=3;
c=28;
d=16;
k=0.2;
x(1)=0.3;
y(1)=-0.4;
z(1)=1.2;
q(1)=1;
for i=1:1:4(n)
x(i+1)=(a*(y(i)-x(i)));
y(i+1)=-(x(i)*z(i))+(d*x(i))+(c*y(i))-q(i);
z(i+1)=(x(i)*y(i))-(b*z(i));
q(i+1)=x(i)+k;
end
disp(x);
disp(y);
pls help. thanks in advance.
3 Comments
Answers (1)
Geoff Hayes
on 16 Aug 2014
Abirami - you should provide a reference to a paper or document that describes Chen's Hyperchaotic System with respect to chaotic sequence generation. Or is this something new? From http://www.ijest.info/docs/IJEST11-03-05-262.pdf, there is some text that describes the hyperchaotic Chen dynamics as
xp = a*(y − x) + v
yp = d*x − x*u + c*y
up = x*y − b*u
vp = y*u + r*v
where x,y,u,v are the states of the system and a,b,c,d,r are constant, positive parameters of the system. This is very similar to your lines of code of
x(i+1) = (a*(y(i)-x(i)));
y(i+1) = -(x(i)*z(i))+(d*x(i))+(c*y(i))-q(i);
z(i+1) = (x(i)*y(i))-(b*z(i));
q(i+1) = x(i)+k;
where z and q are u and v respectively from the previous set of equations. Note that there are a couple of differences between the first and last equations in the two sets. As the first set is also similar to that found from http://www.ncnsd.org/proceedings/proceeding09/Paper/49.pdf, how did you decide on how to define your equations?
As for the code that generates the sequences,
for i=1:1:4(n)
x(i+1)=(a*(y(i)-x(i)));
y(i+1)=-(x(i)*z(i))+(d*x(i))+(c*y(i))-q(i);
z(i+1)=(x(i)*y(i))-(b*z(i));
q(i+1)=x(i)+k;
end
Your for loop iterates from 1 to 4(n)...which is just 4 as the (n) seems to be ignored (or rather, just displayed). Why have you chosen this? Are you trying to do this for just four iterations so that a chaotic sequence of length four is generated? Is your idea to generate a chaotic sequence for each pixel as
w=imread('C:\Users\Abzz\Desktop\lena.png');
[m n]=size(w);
% define a,b,c,d
for r=1:m
for s=1:n
% generate new pixel coordinate for img(r,s) using
% four iterations of the chaotic sequence
for k=1:4
% generate sequence
end
% last (fourth iteration) value from x and y sequences defines the
% scrambled pixel coordinate for w(r,s)
end
end
Is that the idea?
3 Comments
Geoff Hayes
on 16 Aug 2014
Abirami - I can't download the pdf (as there is a fee attached to it) so you will have to outline it in more detail. If you need 1024 iterations, then you can just change your code from
for i=1:1:4(n)
% etc.
end
to
for i=1:1:4*n
% etc.
end
Now your X and Y will each have 1024 elements. What is the next step?
See Also
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!