Skip to main content

TOTAL DISPLACEMENT OF LOOPLESS RANDOM WALK


## A for good and evil as well as loopless
## total displacement function of random walk
## that takes in the step numbers as an
## argument and returns the displacement
## of the rnd walker.Note that the probabilities
## to turn rigth and left are equal but the left
## step is twice the rigth step.
## Usage : rw_uneven(N)
function rw_uneven(N)
rn=rand(N,1); ## If the element of a random vector
r=-(rn<0.5); ## is smaller than 0.5, then return -1,
li=find(r == 0); ## Else return 2(equal probability).
r(li)=2;
x=sum(r) ## total displacement
endfunction

Comments

Popular posts from this blog

FACTORIAL

## Function that calculates the factorial of a number ## Usage : f=factorial(n) function f=factorial(n) ## Initialize the output f=1; ## Check whether the input is correct if ( (n<0) || (rem(n,1)~=0) ) printf("n cannot be a negative number. Exiting...\n"); return endif for num=1:n f*=num; endfor endfunction

NEWTON’S METHOD FOR MINIMUM

##Newton's Method to find ##the minimum of the function F(x)=(x-2)^4-9 ##with the initial guess xmin=1.0 ##Constants and initializations xmin=[]; ##The empty array of x that minimizes the F(x) xmin(1)=1.0; ##Initial value of the xmin Fmin=[]; ##Minimum values of F(x) x=0.0:0.1:4.0; ##Only for plotting purposes F=[]; ##Our examined Function evaluated on x-space Fp=[]; ##First derivative of F(x) wrt x Fpp=[]; ##Second derivative o F(x) wrt x NSteps=50; ##Step number of iteration ##Algorithm for n=1:NSteps Fmin(n)=(xmin(n)-2)^4-9; Fp(n)=4*(xmin(n)-2)^3; Fpp(n)=12*(xmin(n)-2)^2; xmin(n+1)=xmin(n)-Fp(n)/Fpp(n); Fmin(n+1)=(xmin(n+1)-2)^4-9; endfor printf("x*, at which F(x) is minimum, is %1.6f\n",xmin(n+1)) printf("Minimum of F(x) is %1.6f\n",Fmin(n+1)) F=(x-2).^4-9; subplot(2,1,1) plot(x,F) title('Newton^,s Method-F(x) vs x'); xlabel('x'); ylabel('F(x)'); text(2,-7,'\downarrow') text(1.7,-5.6,'(xmin,Fm...

Second Harmonic Generation

gnuplot> set xrange [-180:180] gnuplot> set yrange [-180:180] gnuplot> set pm3d gnuplot> set hidden3d  gnuplot> set title 'SHG' gnuplot> splot sin(cos(x*pi/180))*sin(cos(x* pi/180))/(cos(x*pi/180)*cos(x* pi/180))*sin(cos(y*pi/180))* sin(cos(y*pi/180))/(cos(y*pi/ 180)*cos(y*pi/180)) title 'N=1 '