function parvdm(a,b,n,T,r,theta)
%% Reakció-diffúzió feladat 1D-ben adott kezdeti és Dir. feltétellel
%
%       d_t u(t,x)=d_xx u(t,x), x\in[a,b], t\in[0,T]
%           u(t,a)=u(t,b)=0 Dirichlet peremfeltétel
%           u(0,x)=u0 kezdeti feltétel
%
%% Bemenõ paraméterek listája
%
%       a   Az intervallum kezdõpontja   
%       b   Az intervallum végpontja 
%       n   A rács belsõ pontjainak száma
%       T   Az idõintervallum végpontja
%       r   A delta/h^2 értéke (EE esetén stabilitáshoz r=<0.5 kell)
%   theta   A theta-módszer paramétere (=0 EE =1 IE =0.5 CN)

%% Elõkészületek

h=(b-a)/(n+1);
x=h*1:n;
delta=r*h^2;
kmax=round(T/delta);
u0=sin(x);

%% A lépésmátrix konstrukciója

N=sparse(2:n,1:n-1,ones(n-1,1),n,n);
I=speye(n);
Q=-2*speye(n)+N+N';
Q1=I-theta*((delta/h^2)*Q);
Q2=I+(1-theta)*((delta/h^2)*Q);
kezdeti=u0';

%% Az egyes idõlépések plottolása
for k=1:kmax
kezdeti=Q1\(Q2*kezdeti);
plot(a:h:b,[0,kezdeti',0],'bo')
axis([a,b,-1.2,1.2])
xlabel('x','FontSize',14)
ylabel('u(t,x)','FontSize',14)
title(['A t= ',num2str(k*delta,'%2.4f idõpillanatban a numerikus megoldás')],'Color','r','FontSize',14)
pause(delta*50)
end;