![]() |
Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | |
|
Выразим через остальные значения сеточной функции, входящие в уравнение:
U(0,t) будет определяться из: .
Реализация в Matlab
K=200;
N=10;
x_begin=0;
x_end=1;
t_begin=0;
t_end=8/9;
h=x_end/(N);
tau=t_end/(K);
2*tau-h^2
X=x_begin:h:x_end;
T=t_begin:tau:t_end;
for i=1:N+1
for j=1:K+1
f(i,j)=-9/2*(63/4*X(i)^2-9/4*T(j)-1)/(9/4*X(i)^2+9/4*T(j)+1)^3;
end
end
U=zeros(N+1,K+1);
U(:,1)=2./(9/4*X.^2+1);
U(N+1,:)=8./(13+9.*T);
% Решение по явной схеме __|__
for j=1:K
for i=2:N
U(i,j+1)=(1-2*tau/h^2)*U(i,j)+tau/h^2*(U(i-1,j)+U(i+1,j))+tau*f(i,j);
end;
U(1,j+1)=(1/h*U(2,j+1)+h/(2*tau)*U(1,j)+h/2*f(1,j+1))/(1/h+h/(2*tau));
end;
figure;
mesh(T,X,U);
title('Evident scheme "__|__"');
xlabel('t');
ylabel('x');
zlabel('U(x,t)');
Результат работы:
Дата публикования: 2014-11-29; Прочитано: 210 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!