function [R,Z,f] = CartaRZLineal(N,b,c,H,betaR,tau0,L)
%function [R,Z,f] = CartaRZLineal(N,b,c,H,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
%   c:     Hace referencia a la altura maxima del cilindro pues ahora se trata de una region finita
%   b:     Hace referencia a la distancia radial maxima del sistema que vamos a estudiar
%   betaR: Hace referncia al parametrode control de la gaussiana en la direccion radial
%   tau0:  Instante en el que voy a considerar el campo escalar de temperaturas.
%   L:     Numero de lineas de contorno que quiero que represente en la grafica en cuestion
%   H:     Depende de las condiciones que nosotros impongamos expresa la anchura de la zona de transicion
%En este primer programa tomamos el perfil de temperaturas en el instante inicial como independiente de Z y theta. La dependencia
%radial de dicha distribucion la estamos suponiendo gaussiana de parametro beta.

    [Am,betam] = coefAs(N,betaR,b);

%Queremos obtener los valores de la funcion de temperatura para distintos valores de R y Z, barriendo un amplio
%margen del disco

    B=0;i=1;k=1;D=0;

    for Z=0.01:0.01:c
        
        for n=1:1:N
            etan = n*pi/c;
            D = D + exp(-tau0*etan^2)*(1-(-1)^n)*sin(etan*H)*sin(etan*Z)/(etan^2);
        end
        
        for R=0:0.01:b
        
            for n=1:1:N
                B = B + Am(n)*besselJ(0,betam(n)*R)*exp(-1*tau0*betam(n)^2);
            end
        
            f(k,i) = 2*B*D/(H*c);
            i=i+1;
            B = 0;
        end
        k = k + 1;
        i=1;
        D = 0;
    end
 
 %Una vez generada la carta devolvamos tambien los datos de R y Z por si se requiere alguna representacion adimensional.
 
    R=0:0.01:b;
    Z=0.01:0.01:c;
    
    h = contour(R,Z,f,L);
    clabel(h);title('Carta R,Z en el el instante dado para el caso de Cilindro Finito');