Error in Chaotic attracter

2 次查看(过去 30 天)
lilly lord
lilly lord 2021-2-24
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 个评论
lilly lord
lilly lord 2021-2-24
% Initialize
t0=c-6/(1+x0^2+y0^2);
w(1)=1+u*(w0*cos(t0)-s0*sin(t0));
s(1)=u*(w0*sin(t0)-s0*cos(t0));
x(1)=1-a*s0^2+b*w0;
y(1)=mu*w0*(1-s0);
%%%%%%%fot one indexing
% Simulate
for i=1:n
t(i)=c-6/(1+x(i)^2+y(i)^2);
w(i+1)=1+u*(w(i)*cos(t(i))-s(i)*sin(t(i)));
s(i+1)=u*(w(i)*sin(t(i))-s(i)*cos(t(i)));
x(i+1)=1-a*s(i+1)^2+b*w(i+1);
y(i+1)=mu*w(i+1)*(1-s(i+1));
end
plot(x,y,'.','MarkerSize',4);
Modified but got even worst image
Walter Roberson
Walter Roberson 2021-2-24
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);

请先登录,再进行评论。

回答(0 个)

类别

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

Community Treasure Hunt

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

Start Hunting!

Translated by