function [RA,ZA,fA,m] = movieRZGauss(N,b,c,deltaR,deltaZ,tauf,AT)
%function [RA,ZA,fA,m] = movieRZGauss(N,b,c,deltaR,deltaZ,tauf,AT) 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
%   betaR:      Parametro beta que modela el comportamiento gaussiano en la direccion radial que vamos a utilizar.
%   c:         Hace referencia a la altura maxima del cilindro
%   b:         Hace referencia a la distancia radial maxima del sistema que vamos a estudiar
%   tauf:      Instante hasta el que voy a generar una pelicula.
%   AT:        Saltos de tiempo que tendra mi pelicula

%En primer lugar decir, que se tomara un perfil doblemnte gaussiano, tanto en R como en Z, y con un centro situado en el centro del cilindro
%que estamos estudiando y que tendra una altura c y una anchura radial b.

%En el desarrollo de la solucion existen algunos coeficientes que hemos de calcular. Se obtienen con las funciones siguientes:

    [Am,betam] = coefAs(N,deltaR,b);
    [Qn,etan] = coefQn(N,deltaZ,c);
    
%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;D=0;
    Ra=-b:0.2:b;
    Za=0:0.2:c;
    
    l=1;
    
    for t=0:AT:tauf
        
        for Z=0:0.2:c
        
            for n=1:1:N
                D = D + Qn(n)*sin(etan(n)*Z)*exp(-1*t*etan(n)^2);
            end
        
            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*D;
                i=i+1;
                B = 0;
            end
            k = k + 1;
            i=1;
            D = 0;
        end
        
        pcolor(Ra,Za,real(f))
        shading interp
        caxis([0,1]);
        title('Cilindro finito - Modelo Lineal en Z - Beta=1.5');
        B=0;i=1;k=1;
        m(l) = getframe;
        l = l + 1;
    end
    cla
    movie(m);
    movie2avi(m,'prueba_04.avi');
