Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
33
Добавлен:
09.02.2015
Размер:
38.8 Кб
Скачать

Федеральное агентство по образованию

Санкт-Петербургский государственный электротехнический

университет ˝ЛЭТИ˝

Отчёт

Лабораторная работа №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 позволяет решать дифференциальные уравнения любого порядка, а также задачи Коши.

Соседние файлы в папке 6d383800_laby-po-informe-s-6-9-matlab-1-kurs