On Monday, January 14, 2013 8:40:09 AM UTC+13, Hemming wrote: > Hi! > > Im trying to extract a scattering angle for a photon using the Klein-Nishina scattering angle distribution (KN in the code) and for this I need the CDF (of KN) to be able to use the Monte Carlo method when that is achieved. All i've managed so far is to plot the PDF between 0 degrees and Pi to see that it looks alright, and that it has that "peanut shape". Ive tried to use the built in CDF function but it seems very slow. > > > > E_gamma=0.140; > > alpha=0.511; > > P=zeros(3142,1); > > KN_matrix=zeros(3142, 1); > > > > for k=1:3142 > > j=(k-1)/1000; > > PE=1/(1+((E_gamma/alpha)*(1-cos(j)))); > > KN=(PE^2*(PE+(1/PE)-1+(cos(j))^2))/2; > > KN_matrix(k,1)=(KN); > > plot(j,KN_matrix(k,1)) > > hold on > > end > > > > Thanks! > > axis equal
Instead of plotting in a loop, define vectors: j=[0:3141]'/1000; PE=1/(1+((E_gamma/alpha)*(1-cos(j)))); KN_matrix=(PE.^2.*(PE+(1./PE)-1+(cos(j)).^2))/2; plot(j,KN_matrix)
Notice the dots before the operators to get element-by-element multiplication, exponentiation, etc.