Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Лабораторная работа №5

.doc
Скачиваний:
10
Добавлен:
30.03.2016
Размер:
61.44 Кб
Скачать

Лабораторная работа № 5 Графическое сравнение решений задачи математической физики для уравнения диффузии,полученных аналитическими и численными методами

В М-файле:

function u=func0(m,n,h,tau)

u=zeros(m,n);

for i=1:m

if i<=1+m/5

u(i,1)=2*h*(i-1);

elseif i>1+2*m/5

u(i,1)=0;

else

u(i,1)=8-2*h*(i-1);

end

end

for j=1:n

u(1,j)=0;

u(m,j)=0;

end

for j=1:n-1

for i=2:m-1

u(i,j+1)=(20*tau/h^2)*(u(i-1,j)+u(i+1,j))+u(i,j)*(1-2*20*tau/h^2);

end

end

u=u'

end

В режиме прямых вычеслений

>> u=func0(11,11,1,0.025)

u =

0 2 4 2 0 0 0 0 0 0 0

0 2 2 2 1 0 0 0 0 0 0

0 1 2 1.5 1 0.5 0 0 0 0 0

0 1 1.25 1.5 1 0.5 0.25 0 0 0 0

0 0.625 1.25 1.125 1 0.625 0.25 0.125 0 0 0

0 0.625 0.875 1.125 0.875 0.625 0.375 0.125 0.0625 0 0

0 0.4375 0.875 0.875 0.875 0.625 0.375 0.21875 0.0625 0.03125 0

0 0.4375 0.65625 0.875 0.75 0.625 0.42188 0.21875 0.125 0.03125 0

0 0.32813 0.65625 0.70313 0.75 0.58594 0.42188 0.27344 0.125 0.0625 0

0 0.32813 0.51563 0.70313 0.64453 0.58594 0.42969 0.27344 0.16797 0.0625 0

0 0.25781 0.51563 0.58008 0.64453 0.53711 0.42969 0.29883 0.16797 0.083984 0

>> surf(u)

>> hold on

В М-файле

function u=funcBTB(x,t,n)

u=zeros(length(t),length(x));

for m=1:n

u=u+80*sin((pi*m)/5).*(1-cos((pi*m)/5)).*exp(((-(pi*m).^2)*t)/5).*sin((pi*m*x)/10)/(pi*m).^2;

end

В прямых вычислениях

>> x=0:0.5:10;

>> t=0:0.5:10

>> u=funcBTB(x,t,40);

>> mesh(u)