Error in Chaotic attracter
1 vue (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Hi I am trying to plot the following equations
t_n = c - 6/(1+x_n ^2 + y_n^2);
w_n+1 =1+u*(w_n*cos(t_n)-s_n*sin(t_n));
s_n+1=u*(w_n *sin(t_n)-s_n*cos(t_n));
x_n+1=1-a*s_n+1^2 + b*w_n+1;
y_n+1 = mu*w_n+1*(1-s_n+1);
% where a=1.3; b=4; w= 0.1; s=0.1; c=0.4; u=0.9; mu=4;
the possible out come should be

Here is my code and the possible output
a=1.3; b=4; w= 0.1; s=0.1; c=0.4; u=0.9; mu=4;
x(1)=0.1;y(1)=0.1
n=10000;
% Initialize for n=0
%t(1)=0.4-(6/(1+x(1)^2+y(1)^2));
t(1)=0.4-(6/(1+s^2+w^2));
w(1)=1+u*(w*cos(t(1))-s*sin(t(1)));
s(1)=u*(w*sin(t(1))-s*cos(t(1)));
x(1)=1-a*s(1)^2 + b*w(1);
y(1) = mu*w(1)*(1-s(1));
for i=2:n
t(i)=c-(6/(1+s(i-1)^2+s(i-1)^2)); %% may replace with x and y
w(i)=1+u*(w(i-1)*cos(t(i))-s(i-1)*sin(t(i)));
s(i)=u*(w(i-1)*sin(t(i))-s(i-1)*cos(t(i)));
x(i)=1-a*s(i)^2+b*w(i);
y(i)=mu*w(i)*(1-s(i));
end
plot(x,y,'.','MarkerSize',4);
Here is the output.

Can anyone help me .
4 commentaires
Walter Roberson
le 24 Fév 2021
Remember, the following is just changes to style, which also make the code more efficient.
Please check, though, the order that you initialize t w s x y. At the moment the order is important: you use the initial s value to compute t(1) and w(1) and then you assign to s(1) using the t values you calculated. If you changed the order you would get something different.
Perhaps you should be assigning to (2) indices at that point, and loop starting from 3 ?
a=1.3; b=4; c=0.4; u=0.9; mu=4;
n=10000;
x = zeros(1,n); y = zeros(1,n); t = zeros(1,n); w = zeros(1,n); s = zeros(1,n);
x(1) = 0.1; y(1) = 0.1; w(1) = 0.1; s(1) = 0.1;
% Initialize for n=0
t(1) = c-(6/(1+s(1)^2+w(1)^2));
w(1) = 1+u*(w(1)*cos(t(1))-s(1)*sin(t(1)));
s(1) = u*(w(1)*sin(t(1))-s(1)*cos(t(1)));
x(1) = 1-a*s(1)^2 + b*w(1);
y(1) = mu*w(1)*(1-s(1));
for i=2:n
t(i)=c-(6/(1+s(i-1)^2+s(i-1)^2)); %% may replace with x and y
w(i)=1+u*(w(i-1)*cos(t(i))-s(i-1)*sin(t(i)));
s(i)=u*(w(i-1)*sin(t(i))-s(i-1)*cos(t(i)));
x(i)=1-a*s(i)^2+b*w(i);
y(i)=mu*w(i)*(1-s(i));
end
plot(x,y,'.','MarkerSize',4);
Réponses (0)
Voir également
Catégories
En savoir plus sur Nonlinear Dynamics dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!