3.7 Programs
45
DMN=zeros(N,NR);
raizdt=sqrt(2*D*dt);
x=zeros(N-1,NR);
V=zeros(N-1,NR);
dV=zeros(N-1,NR);
dw=raizdt*randn(N,NR);
for j=1:NR
for i=1:N-1
Pat1at = 0.5*(1. + exp(-i*dt/tau)); % Probability to stay in (-1)
Pat2at1 = Pat1at;
Pat1bt = 0.5*(1. - exp(-i*dt/tau)); % Transition Probability (1) to (-1)
Pat2bt1 = Pat1bt;
Pbt2bt1 = 0.5*(1. + exp(-i*dt/tau)); % Probability to stay in (1)
Pbt1bt = Pbt2bt1;
Pbt1at = 0.5*(1. - exp(-i*dt/tau)); % Transition Probability (-1) to (1)
Pbt2at1 = Pbt1at;
R=unifrnd(0,1);
if(Pat1at R)
eta(i+1,j)=-1.;
else eta(i+1,j)=1.;
end
if(Pat1at ≺ R || Pat1at R)
R1=unifrnd(0,1);
elseif(Pat2bt1 R1 || Pat2at1 R1)
eta(i+2,j)=-1.;
else eta(i+2,j)=1.;
end
end
end
for j=1:NR;
for i=1:N-1;
xij=x(i,j);
dV(i,j)=(cos(2.*pi*xij) - 0.5*cos(4.*pi*xij));
%DMN(i,j) = 0.5*(eta(i,j)+1.); x(i+1,j)=xij - 0.5*(eta(i,j)+1.)*D*Vo*dV(i,j)*dt +
D*F*dt+ dw(i,j);
%x(i+1,j)=xij - D*Vo*dV(i,j)*dt + D*F*dt+ dw(i,j);% DMN=1.
end
end
MEANXR=(sum(x,2))/NR;
%MEANdw=(sum(dw,2))/NR;
%MEANDMN=(sum(DMN,2))/NR;
%MEANeta=(sum(eta,2))/NR;
t=(1:N)*dt;
figure(1); plot(t,MEANXR); grid;
save MEANXR.DAT MEANXR -ascii;
45
DMN=zeros(N,NR);
raizdt=sqrt(2*D*dt);
x=zeros(N-1,NR);
V=zeros(N-1,NR);
dV=zeros(N-1,NR);
dw=raizdt*randn(N,NR);
for j=1:NR
for i=1:N-1
Pat1at = 0.5*(1. + exp(-i*dt/tau)); % Probability to stay in (-1)
Pat2at1 = Pat1at;
Pat1bt = 0.5*(1. - exp(-i*dt/tau)); % Transition Probability (1) to (-1)
Pat2bt1 = Pat1bt;
Pbt2bt1 = 0.5*(1. + exp(-i*dt/tau)); % Probability to stay in (1)
Pbt1bt = Pbt2bt1;
Pbt1at = 0.5*(1. - exp(-i*dt/tau)); % Transition Probability (-1) to (1)
Pbt2at1 = Pbt1at;
R=unifrnd(0,1);
if(Pat1at R)
eta(i+1,j)=-1.;
else eta(i+1,j)=1.;
end
if(Pat1at ≺ R || Pat1at R)
R1=unifrnd(0,1);
elseif(Pat2bt1 R1 || Pat2at1 R1)
eta(i+2,j)=-1.;
else eta(i+2,j)=1.;
end
end
end
for j=1:NR;
for i=1:N-1;
xij=x(i,j);
dV(i,j)=(cos(2.*pi*xij) - 0.5*cos(4.*pi*xij));
%DMN(i,j) = 0.5*(eta(i,j)+1.); x(i+1,j)=xij - 0.5*(eta(i,j)+1.)*D*Vo*dV(i,j)*dt +
D*F*dt+ dw(i,j);
%x(i+1,j)=xij - D*Vo*dV(i,j)*dt + D*F*dt+ dw(i,j);% DMN=1.
end
end
MEANXR=(sum(x,2))/NR;
%MEANdw=(sum(dw,2))/NR;
%MEANDMN=(sum(DMN,2))/NR;
%MEANeta=(sum(eta,2))/NR;
t=(1:N)*dt;
figure(1); plot(t,MEANXR); grid;
save MEANXR.DAT MEANXR -ascii;
