Автор работы: Пользователь скрыл имя, 15 Января 2012 в 20:48, курсовая работа
Задачи работы:
1 Решить систему дифференциальных уравнений методом Рунге-Кутты(встроенная функция MatLab ode23 (ode45))и методом Эйлера (запрограммировать).
2 Результаты представить графическим способом. Графическое окно разбить на четыре. В первом вывести результат, полученный методом Рунге-Кутты. Во втором – методом Эйлера. В третьем – сравнение результатов. В четвертом – фазовый портрет (отношение х1 к х2).
3 Дать описание метода Эйлера
4 Сделать вывод по работе
1 Практическая часть 3
1.1 Задание на выполнение курсовой работы по дисциплине «Программно-прикладные системы» 3
1.2 Текст программы с комментариями 4
1.2.1. Текст основной программы 4
1.2.2. Задание самой функции 5
1.3. Вывод результатов вычислений в графическом окне 6
2 Необходимые теоретические сведения 7
2.1. Задача Коши. Общие замечания. Постановка задачи. 7
2.2. Метод Эйлера. 9
2.3.Модифицированный метод Эйлера 11
2.4.Метод Рунге-Кутта 13
3. Вывод 16
Содержание
1 Практическая часть 3
1.1 Задание на выполнение курсовой работы по дисциплине «Программно-прикладные системы» 3
1.2 Текст программы с комментариями 4
1.2.1. Текст основной программы 4
1.2.2. Задание самой функции 5
1.3. Вывод результатов вычислений в графическом окне 6
2 Необходимые теоретические сведения 7
2.1. Задача Коши. Общие замечания. Постановка задачи. 7
2.2. Метод Эйлера. 9
2.3.Модифицированный метод Эйлера 11
2.4.Метод Рунге-Кутта 13
3. Вывод 16
1 Решить
систему дифференциальных
2 Результаты
представить графическим
3 Дать описание метода Эйлера
4 Сделать
вывод по работе
Система дифференциальных уравнений:
%-------------Ввод начальных значений и условий--------------------
clc; %очистка командного окна
clear; %очистка графического окна
t0=0;
tf=5;
x0=[1 0 0]; %ввод
начальных условий
%-------------Метод
Рунге-Кутта-------------------
[t,X]=ode23('DiffUr',t0,tf,x0)
subplot(221); %определение графика в 1 окне
plot(t,X); %вывод графика
grid;
%----------Метод
Эйлера------------------------
n=length(X(:,1)); %находим количество значений x
h=(tf-t0)/n %определение шага
y0=x0'; %берем столбец
начальных условий
for i=1:n %организуем цикл для прибавления шага
k1=feval('DiffUr',t0,y0);
%нахождение решения в
k2=feval('DiffUr',t0+h/2,y0+
y1(:,i)=y0+k2*h %заносим в y1
y0=y1(:,i)
t0=t0+h
end
y=y1';
%---------------Вывод графика методом Эйлера во 2 окне--------------------
subplot(222);
plot(t,y),grid;
title('Метод Эйлера')
%-------Вывод графиков методом Эйлера и Рунге-кутты в 3 окне--------------
subplot(223);
plot(t,X)
plot(t,y),grid;
%-------Вывод фазового портрета в 4 окне (отношение x1 k x2)--------------
subplot(224);
plot(X(:,1),X(:,2)),grid;
function dx=DiffUr(t,x)
a=7
b=11
dx1=x(2);
dx2=-(a^2+b*cos(x(3)))*x(1);
dx3=1;
dx=[dx1; dx2; dx3]
Для дифференциального уравнения порядка
задача Коши заключается в отыскании решения уравнения (1), удовлетворяющего начальным условиям
(2)
где заданные числа. Если функция ) непрерывна, а ее частные производные ограничены в области, содержащей точку , то существует единственное решение задачи Коши (1), (2).
Задача Коши для нормальной системы дифференциальных уравнений
заключается в отыскании решения системы (3), удовлетворяющего начальным условиям
(4)
где - заданные числа. Если функции
непрерывны и имеют ограниченные частные производные в некоторой области, содержащей точку , то существует единственное решение задачи Коши (3), (4).
Известно, что систему дифференциальных уравнений, содержащую производные высших порядков и разрешенную относительно старших производных искомых функций, можно привести к системе вида (3) путем введения новых неизвестных функций. В частности, дифференциальное уравнение го порядка (1) приводится к системе вида (3) с помощью замены
которая приводит к следующей системе
то есть к системе дифференциальных уравнений первого порядка, правая часть которых не зависит от производных искомых функций. Поэтому численные методы решения дифференциальных уравнений традиционно изучают для уравнений первого порядка
а затем, как правило, без труда распространяют на нормальные системы дифференциальных уравнений вида (3). Так мы и поступим.
Итак, дано дифференциальное
и начальное условие
Требуется численно решить задачу Коши (6), (7) на отрезке []. Это решение будет состоять в построении таблицы приближенных значений искомого решения в точках , где . Для этого отрезок [] делят на равных частей длины , так что . Величина называется шагом интегрирования.
Будем считать, что шаг интегрирования настолько мал, что для всех значение искомой функции мало отличается от . Тогда для можно написать
Иными словами, на этом участке интегрирования кривая заменяется отрезком касательной к ней в точке .
Для получим
Аналогично для получим
Продолжая строить дальнейшие значения приближенного решения по тому же закону, получим
Используя известные обозначения, схему метода Эйлера можно представить формулами:
. (8)
Геометрический смысл метода Эйлера заключается в том, что искомая интегральная кривая заменяется ломаной, соединяющей точки (рис.1). Причем первое звено ломаной касается истинной интегральной кривой в точке . Эта ломаная называется ломаной Эйлера. При последовательность ломаных Эйлера на отрезке [x0,]мится к искомй интегральной кривой.
Оценку точности метода Эйлера, если неизвестно точное решение , проводят с помощью двойного пересчета - с шагом и с шагом . Совпадение десятичных знаков в полученных двумя способами результатах дает основание считать их верными.
Метод Эйлера легко распространяется на системы дифференциальных уравнений (3) и на дифференциальные уравнения высших порядков (1), которые должны быть предварительно приведены к нормальной системе (переход от (1) к (5)).
Рассмотрим систему двух дифференциальных уравнений первого порядка:
с начальными условиями . Приближенные значения вычисляются последовательно по формулам:
(10)
является более точным методом по сравнению с предыдущим. Модификация метода направлена на то, чтобы более точно определить направление перехода из точки () в точку (). Для чего производятся дополнительные промежуточные вычисления, в результате которых определяются координаты промежуточной точки
с помощью которых и определяется следующее приближенное значение искомого решения по формуле
. (12)
Геометрический смысл модифицированного метода Эйлера показан на рисунке 2. Исходя из точки , получаем по методу Эйлера для точку . Для метод Эйлера дал бы точку , находящуюся на касательной к интегральной кривой в точке . Модифицированный метод состоит в том, что из точки проводится отрезок , параллельный отрезку , направленному в соответствии со значением углового коэффициента в точке . Точка , которая получена по модифицированному методу Эйлера, находится ближе к истинной кривой, чем точка . Следовательно, модифицированный метод Эйлера будет обеспечивать большую точность, чем метод Эйлера при одном и том же числе разбиения отрезка интегрирования.
Модифицированный метод Эйлера можно легко распространить на нормальную систему дифференциальных уравнений (3). Рассмотрим систему двух уравнений первого порядка: