Приложение 1
Листинг программы task6.5
% Функция решения волнового уравнения d2U/dt2=d2U/dx2
m = 1000 %число шагов по времени
n = 200%число шагов по координате
E=1e10 %модуль упругости материала
ro=600 %плотность материала
L=10 %длина бруска
T=0.01 %время моделирования
dx=L/n %шаг по расстоянию
dt=T/m %шаг по времени
cur=dt/dx*(E/ro)^0.5 %число Курранта
ii=1:n
jj=1:m
%начальные условия
u(1,ii)=sin(pi*ii*dx/L)
u(2,ii)=u(1,ii)
%граничные условия
u(jj,1)=0
%вычисление численного решения
for j=2:m
fori=2:n-1
u(j+1,i)=cur*cur*(u(j,i+1)-2*u(j,i)+u(j,i-1))+2*u(j,i)-u(j-1,i)
end
end
%визуализация результата
mesh(u);
xlabel('x-coordinate');
ylabel('t-time');
zlabel('u(x,t)');