Решение задачи Коши для дифференциального уравнения второго порядка (линейное уравнение с постоянными коэффициентами)
Рассмотрим следующее дифференциальное
уравнение:

Оно имеет начальные условия:
,
.
Сначала решим его «вручную».

Решение дифференциального уравнения
будем искать как сумму решений частного
неоднородного
и общего однородного
дифференциальных уравнений.
Найдем
.
Рассмотрим соответствующее однородное
дифференциальное уравнение:
.
Характеристическое уравнение однородного
уравнения имеет вид:

Значит, решение общего однородного
дифференциального уравнения имеет видл
,
где
Теперь найдем частное решение
.




Частное решение найдем методом
неопределенных коэффициентов, приравняв
коэффициенты при одинаковых степенях
правой и левой части исходного
дифференциального уравнения.


Таким образом, решение исходного
дифференциального уравнения имеет вид
,
где
Найдем
.


Значит

Теперь решим это уравнение в MatLab. Для
этого сначала необходимо представить
его в виде системы дифференциальных
уравнений:

где
.
Создадим m-файл функцию yp7.m, описывающую
правую часть нашей системы дифференциальных
уравнений. Ее можно создать двумя
способами:
function
dy=yp7(t,y)
dy=[y(2);-y(1)+4*t*exp(t)];
Второй способ:
function
dy=yp7(t,y)
dy=zeros(2,1);
dy(1)=y(2);
dy(2)=-y(1)+4*t*exp(t);
Решим это дифференциальное уравнение
с помощью процедуры ode45
и найдем погрешность этого решения.
[t,YY]=ode45('yp7',[0
2],[-1 1]);
figure
plot(t,cos(t)+sin(t)+(2*t-2).*exp(t),'b*',t,YY(:,1),'r')
grid
on
title('y(t)=cos(t)+sin(t)+(2*t-2).*exp(2)')
xlabel('t')
ylabel('y(t)')
legend('y(t)','дифференциальное
уравнение');
%
[t,YY]=ode45('yp7',[0
2],[-1 1]);
figure
plot(t,cos(t)+sin(t)+(2*t-2).*exp(t)-YY(:,1),'r')
grid
on
title('погрешность
метода
ode45')
xlabel('t')
ylabel('разность')


28