Advertisement
Guest User

ou_msd

a guest
Oct 23rd, 2018
82
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.38 KB | None | 0 0
  1. clear all; clc;
  2.  
  3. ph1=0.08245;
  4. ph2=0.3674;
  5. beta1=0.008526;
  6. beta2=0.3829;
  7.  
  8. gamma=0.441689378;
  9. dt=0.001;
  10. %countR=0;
  11. %D=1;
  12. D=0.078570873;
  13.  
  14. msd=zeros(1000);
  15. X=zeros(1000);
  16. Y=zeros(1000);
  17. cou=zeros(1000);
  18.  
  19. vx=0;
  20. vy=0;
  21. x=0;
  22. y=0;
  23. t=0;
  24.  
  25.  
  26. for ksss=1:100
  27.  
  28.  
  29.  
  30. for kjkj=1:1000
  31.  
  32. for ssss=1:1000
  33.  
  34. r1 = normrnd(0,1);
  35. r2 = normrnd(0,1);
  36.  
  37. vx1=vx-gamma*vx*dt+sqrt(dt*D*2)*r1;
  38. vy1=vy-gamma*vy*dt+sqrt(dt*D*2)*r2;
  39.  
  40. vx=vx1;
  41. vy=vy1;
  42.  
  43. X(kjkj)=x+vx*dt; %подсчет координаты x
  44. Y(kjkj)=y+vy*dt; %подсчет координаты y
  45.  
  46. %X(kjkj)=x;
  47. %Y(kjkj)=y;
  48.  
  49. t=t+dt;
  50. end
  51.  
  52. end
  53.  
  54. %подсчет MSD
  55.  
  56. for tt=1:1000
  57. for tt0=1:1000
  58.  
  59. dd=tt+tt0;
  60.  
  61. if (dd <1000)
  62. msd(tt)=msd(tt)+(X(dd)-X(tt0))^2+(Y(dd)-Y(tt0))^2;
  63. cou(tt)=cou(tt)+1;
  64. end
  65.  
  66. end
  67. end
  68.  
  69. fid = fopen('OU_msd.dat','w');
  70.  
  71.  
  72. for ll=1:300
  73. tr=msd(ll)/cou(ll);
  74. analytic=4*D*(gamma*ll+exp(-gamma*ll)-1)/gamma^3;
  75. fprintf(fid, '%d;%.12f;%.12f \r\n',ll,tr,analytic);
  76. %fprintf(fid, '%d;%.12f \r\n',ll,analytic);
  77. end
  78.  
  79. fclose(fid);
  80.  
  81. ksss
  82.  
  83. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement