Error in Chaotic attracter

조회 수: 4 (최근 30일)
lilly lord
lilly lord 2021년 2월 24일
댓글: Walter Roberson 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