function [RA,ZA,fA,m] = movieRZGauss(N,beta,a,b,delta,tauf,AT)
%function [R,Z,f] = movieRZGauss(N,beta,a,b,tau0,L) nos va a generar una carta de puntos (R,Z) en el instante que yo le diga
%utilizando como parametros:

%   N:         Numero de puntos a utilizar
%   beta:      Parametro beta que modela el comportamiento gaussiano en la direccion radial que vamos a utilizar.
%   a:         Hace referencia a la altura maxima del cilindro
%   b:         Hace referencia a la distancia radial maxima del sistema que vamos a estudiar
%   delta:     Parametro beta que modela el comportamiento gaussiano en la direccion Z que vamos a utilizar.
%   tauf:      Instante hasta el que voy a generar una pelicula.
%   AT:        Saltos de tiempo que tendra mi pelicula

%En este programa estamos suponieno que el perfil va a ser gaussiano en R, controlado a traves del parametro beta, y tambien gaussiano en Z,
%controlado a traves del parametro delta. Beta y delta se especificaran mas adelante, una vez estudiado el comportamiento del laser y como la
%optica podria modificar el resultado.

    [Am,betam] = coefAs(N,beta,b);
    
%Temperaturas o niveles de temperatura que estamos buscando

    v = linspace(0,1.0,20);
    
%Vamos a tratar de generar una pelicula analizando que ocurre en diferentes instantes de tiemp

    B=0;i=1;k=1;
    Ra=-b:0.2:b;
    Za=0:0.2:a;
    
    l=1;
    
    for t=0:AT:tauf
        Btau = 1/sqrt(1+4*t/delta);
        for Z=0:0.2:a
            for R=-b:0.2:b
        
                for n=1:1:N
                    B = B + Am(n)*besselJ(0,betam(n)*R)*exp(-1*t*betam(n)^2);
                end
        
                f(k,i) = B*(erf(Z/(4*t)) - Btau*exp(-(Z^2)*(Btau^2)/delta)*erf(Btau*Z/sqrt(4*t)));
                i=i+1;
                B = 0;
            end
            k = k + 1;
            i=1;
        end
        pcolor(Ra,Za,real(f))
        shading interp
        caxis([0,1]);
        title('Beta=1.5 delta=1.0');
        B=0;i=1;k=1;
        m(l) = getframe;
        l = l + 1;
    end
    cla
    %movie(m);
    movie2avi(m,'prueba_02.avi');
