I carried out a physics experiment and I wanted to analysis the problem with matlab. I have some code in matlab that "works" as in it gives ok result but the numbers used are quite nonsensical, I need help making the reworking the equation with real numbers. I am not sure if this is the correct thread, if not sorry. Here is my code: Code (Matlab M): format long; clear all; I0=39546.95973; i=sqrt(-1); r=0.0; fid=fopen('plot.txt','w') %Êý¾ÝÐ´ÔÚplot.txt for m=1:300 p(m)=m*0.0001-0.015; %¿ÉÒÔµ÷Õû×÷Í¼²½³¤ In(m)=0; dddr=0.00001; for r=0.0:dddr:0.010 %¸ù¾ÝÊÕÁ²ÐÔµ÷Õû»ý·ÖÉÏÏÞºÍ²½³¤ In(m)=In(m)+r*besselj(0,5500000*r*p(m))*exp(-4.325259515570934*10^6*r*r)*exp(-i*(5500000*r*r-27.014528191562999*exp(-4.325259515570934*10^6*r*r))); end I(m)=3.025*10^13*dddr^2*I0*(norm(In(m)))^2; fprintf(fid,'%9.4f %9.4f \n',p(m),I(m)); end fclose(fid) fclose all; hold off plot(p,I); %»Í¼ hold on return; My main problem is using very large numbers like "5500000". What I would like to do, is make the exp(a*exp(b*r^2)) component be the part of the function that determines the number of rings, where a=2Npi and N would determine the number of rings. However I am not sure how to go about normalizing the rest of the constants so that this would be the case. Mod note: I added code tags. Please do that every time you post code.