Федеральное агентство по образованию
Санкт-Петербургский государственный электротехнический
университет ˝ЛЭТИ˝
Отчёт
Лабораторная работа №9
«Решение дифференциальных уравнений»
Выполнил студент гр.3401 Преподаватель:
Петров Д.А. Шубин Р.В.
Санкт-Петербург
2013
Цель работ. Изучение возможностей, предоставляемых MatLab, для численного решения обыкновенных дифференциальных уравнений произвольного порядка и систем с начальными условиями, т. е. задачи Коши.
Задание 1. Уравнение, описывающее движение, имеет вид y’’ + 2·y’ + 10·y = sin t. Предположим, что координата точки в начальный момент времени равнялась единице, а скорость – нулю. Тогда соответствующие начальные условия выглядят так y(0) = 1, y’(0) = 0. Решить дифференциальное уравнение и показать его графическое решение.
Ход работы. Создадим файл-функцию и решим данное уравнение, используя солвер ode 45
function F=diff1(t,y)
F=[y(2);-2*y(2)-10*y(1)+sin(t)];
end
Y0=[1;0];
[T,Y]=ode45('diff1',[0 15],Y0);
plot(T,Y(:,1),'r')
hold on
plot(T,Y(:,2),'k--')
title('Solve {\ity}\prime\prime+2{\ity}\prime+10{\ity}=sin{\itt}')
xlabel('\itt')
ylabel('{\ity}, {\ity}\prime')
legend('coordinates','speed',4)
grid on
hold off
Задание 2. Решите систему дифференциальных уравнений
у1′ = y2 ;
у2′ = –1/t2
на отрезке [а, 100] при начальных условиях у1(а) = ln а, у2(а) = 1/а, взяв а=0.001.
Ход работы. Создадим файл-функцию и решим данное уравнение, используя солвер ode 45, с точным и приближенным решением.
function F=diff2(t,y)
F=[y(2);(-1)/t^2]
end
a=0.001;
Y0=[log(a);1/a];
options=odeset('RelTol',1.0e-3);
[T,Y]=ode45('diff2',[a 100],Y0,options);
plot(T,Y(:,1),'k:')
options=odeset('RelTol',1.0e-4);
[T,Y]=ode45('diff2',[a 100],Y0,options);
hold on
plot(T,Y(:,1),'k--')
options=odeset('RelTol',1.0e-6);
[T,Y]=ode45('diff2',[a 100],Y0,options);
hold on
plot(T,Y(:,1),'k-')
t=[a:4:100];
y=log(t);
hold on
plot(t,y,'ko')
xlabel('\itt')
ylabel('\ity')
title('Comparison of the decision at various errors')
legend('10^{-3}','10^{-4}','10^{-6}','The exact decision',4)
grid on
hold off
Вывод. MatLab позволяет решать дифференциальные уравнения любого порядка, а также задачи Коши.