%Задание 2 (вариант 5)
 
%Создание сетки
x=0:0.01:5;    
h=0.01;         %шаг сетки
t=0:0.001:0.5; 
Tau=0.001;      %шаг сетки
% Задаём начальные и граничные условия
U=zeros(501,501);
U(1,:)=cos(2*pi*x);    %u(0,x)
U(:,1)=U(:,2);         %u_x(t,0)=0
U(:,501)=U(:,500);     %u_x(t,5)=0
% Задаем коэффициенты для разностной схемы
A=Tau/(h^2);
C=1 + 2*Tau/(h^2);
for k=1:1:500  
    %прямой ход прогонки
    Alf=zeros(501);
    Bet=zeros(501);
    for i=2:1:500       
        F(i)=U(k,i);
        Alf(i+1)=A./(C-A.*Alf(i));
        Bet(i+1)=(A.*Bet(i)+F(i))./(C-A.*Alf(i));
    end;
    %обратный ход прогонки
    for n=500:-1:2 U(k+1,n)=Alf(n+1).*U(k+1,n+1)+Bet(n+1); end;
end;
[X,T] = meshgrid(x,t);
Z=U;
mesh(X,T,Z); %график решения
