Я хочу иметь возможность моделировать гиперболическое уравнение на характеристических кривых (линиях). Начну с основного. u_{t}+2u_{x}=u^{2} с начальными данными u(x,0)=cos(x). Решение u(x,t)=cos(x-2t)/(1-t*cos(x-2t)) где характеристическая кривая x=2*t+x_{0}. Итак, решение определяется по характеристикам (метод характеристик).
x=zeros(10,5);
u=zeros(10,5);
x0=linspace(0,10,10);
t=linspace(0,5,5);
for i=1:length(x0)
for j=1:length(t)
x(i,j)=2*t(j)+x0(i);
if t(j)*cos(x(i,j)-2*t(j))==1
u(i,j)=0;
else
u(i,j)=cos(x(i,j)-2*t(j))/(1-t(j)*cos(x(i,j)-2*t(j)));
end
end
end
Я буду благодарен, если кто-нибудь увидит мою ошибку.