Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Лабы / Лабы 2 / OLD / LAB_06

.TXT
Скачиваний:
27
Добавлен:
17.04.2013
Размер:
3.91 Кб
Скачать
Лабораторная работа N6

Тема: Приближенное решение задачи Коши для обыкновенных дифференциальных
уравнений.

1. Проверить аналитически, что функция y=(2*t+1)^0.5 является решением задачи
Коши:

y'=y-2*t/y, y(t0)=1, начальная точка t0=0

и продемонстрировать это преподавателю. Нарисовать в тетради эскиз графика
решения.

2. Методом Эйлера построить таблицу приближенных значений решения y(t)
этого дифференциального уравнения в точках t(i)=t0+i*h на отрезке [0,3]
с шагом h=.01:
Правую часть дифуравнения описать в м-файле функции l5_f.m (для слабых
см. Приложение 1)
Составить м-файл процедуру l5_dif.m решения этого уравнения методом Эйлера
на указанном отрезке с разбиением h (для "слабых" см. Приложение 2)
Графически сравнить приближенное решение с известным точным y=(2*t+1)^0.5.
Повторить расчеты для различных h и на других отрезках. Оценить погрешность
решения. Какие можно сделать выводы?

3. Запустить демонстрационную программу решения дифференциальных уравнений
методом Рунге-Кутта (см. файл odedemo.m). Изучить работу программ
ode23.m и ode45.m (help ode23 и help ode45)

4. С помощью этих программ решить задачу Коши п. 1 и и сравнить полученное решение
с точным и приблеженным (полученным методом Эйлера). Исследовать различные
случаи.

Примеры процедур п.4:

[tt,yy]=ode23('l6_f',0,3,1,1e-3,1);plot(tt,yy,tt,(2*tt+1).^.5,'*',t,y)

yy - решение методом Рунге-Кутта 2-3 порядка; y - приближенное значение по
методу Эйлера; * - точки точного решения в узлах Рунге.

5. Рассмотрим задачу Коши для уравнения колебаний груза на пружинке:

y''+sin(x)=0, y(0)=0; y'(0)=1

Проверьте аналитически, что решением является функция y(x)=sin(x). Сведем
это дифференциальное уравнение второго порядка к системе дифференциальных
уравнений первого порядка (см. лекции y1=y'

y' = y1
y1'=-y

с начальными условиями y(o)=0 и y1(0)=1
Правую часть системы опишите в м-файле функции l6_f2.m (для слабых
см. Приложение 3) Используя процедуры ode23, ode45 исследуйте решение
задачи Коши и сравните на графике с точным

Например:

[tt,yy]=ode23('l6_f2',0,3,[0 1],1e-3,1);plot(tt,yy(:,1),tt,sin(tt),'+')

аналогично проверьте полученный результат для первой производной искомой
функции

6. Методом Эйлера решить систему дифференциальных уравнений

y'=[2*y(1)+y(2) 3*y(1)+4*y(2)],

где y вектор-функция с компонентами y(1), y(2), зависящими от t, и на-
чальным условием при t=0, y(1)=y(2)=2
Сравните с результатами использования процедур ode23, ode45

7. Возьмите какую-либо дважды дифференцируемую функцию y=y(t). Составьте для
нее дифференциальное уравнение второго порядка, разрешенное относи-
тельно второй производной y''=f(t,y,y'), получите начальное условие,
т.е. сформулировать задачу Коши. Сведите полученное дифференциальное
уравнение к системе двух дифференциальных уравнений с помощью замены,
например: z=y'. В результате получите нормальную систему уравнений:
y'=z,
z'=f(t,y,z) с начальными условиями.
которую решите приближенно самостоятельно, сравните с известным Вам точным
решением и результаты предъявите преподавателю.

8. Получите у преподавателя контрольное задание.

Приложение 1
function yp=l6_f(t,y)
% Правая часть дифференциального уравнения см. п. 1
yp=y-2*t./y;
Приложение 2
h=.01;t=0:h:3;
y(1)=1;
for i=1:length(t)-1
y(i+1)=y(i)+l6_f(t(i),y(i))*h;
end
Приложение 3
function yp=l6_f(t,y)
% Правая часть системы см. п. 5
yp=[y(2) -y(1)];
Соседние файлы в папке OLD