Скачиваний:
66
Добавлен:
23.01.2015
Размер:
1.32 Mб
Скачать
      • Решение задачи Коши для дифференциального уравнения второго порядка (линейное уравнение с постоянными коэффициентами)

Рассмотрим следующее дифференциальное уравнение:

Оно имеет начальные условия: ,.

Сначала решим его «вручную».

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

Найдем . Рассмотрим соответствующее однородное дифференциальное уравнение:.

Характеристическое уравнение однородного уравнения имеет вид:

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

, где

Теперь найдем частное решение .

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

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

, где

Найдем .

Значит

Теперь решим это уравнение в 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

Соседние файлы в папке МП-30