Программно-прикладные системы

Автор работы: Пользователь скрыл имя, 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 файл

Прикладные системы.docx

— 1.06 Мб (Скачать файл)

Содержание 
 

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 Практическая  часть

1.1 Задание на выполнение  курсовой работы  по дисциплине  «Программно-прикладные  системы»

 

    1 Решить  систему дифференциальных уравнений  методом Рунге-Кутты(встроенная  функция MatLab ode23 (ode45))и методом Эйлера (запрограммировать).

    2 Результаты  представить графическим способом. Графическое окно разбить на  четыре. В первом вывести результат,  полученный методом Рунге-Кутты.  Во втором – методом Эйлера. В третьем – сравнение результатов. В четвертом – фазовый портрет (отношение х1 к х2).

    3 Дать  описание метода Эйлера

    4 Сделать  вывод по работе 

    Система дифференциальных уравнений:

                                 x1= x2

                                x2=-(a2+b cos x3) x1

                                x3 = 1 

 

1.2 Текст  программы с комментариями

1.2.1. Текст основной  программы

 

%-------------Ввод начальных значений и условий--------------------

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); %нахождение решения в значениях  t0, y0

    k2=feval('DiffUr',t0+h/2,y0+k1*h/2)%нахождение решения в значениях с прибавлением шага

    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;

 

1.2.2. Задание  самой функции

 

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.3. Вывод результатов  вычислений в графическом  окне

 

    

 

2 Необходимые  теоретические сведения

 

2.1. Задача Коши. Общие  замечания. Постановка  задачи.

Для дифференциального уравнения  порядка

                                                                                 (1)

задача  Коши заключается в отыскании  решения    уравнения (1), удовлетворяющего начальным условиям

                                           (2)

где   заданные числа.  Если функция ) непрерывна, а ее частные производные   ограничены в области, содержащей точку , то существует единственное решение задачи Коши (1), (2).

    Задача  Коши для нормальной системы дифференциальных уравнений 

                                           (3)

заключается в отыскании решения     системы (3), удовлетворяющего начальным условиям

                                               (4)

где - заданные числа. Если функции   

непрерывны  и имеют ограниченные частные производные    в некоторой области, содержащей точку , то существует единственное решение задачи Коши (3), (4).

    Известно, что систему дифференциальных уравнений, содержащую производные высших порядков и разрешенную относительно старших  производных искомых функций, можно привести к системе вида (3) путем введения новых неизвестных функций. В частности, дифференциальное уравнение  го порядка (1) приводится к системе вида (3) с помощью замены

    

,

которая приводит к следующей системе 

                                                                           (5)

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

    

,

а затем, как  правило,  без  труда  распространяют  на  нормальные системы дифференциальных уравнений вида (3). Так мы и поступим. 

      Итак, дано дифференциальное уравнение  первого порядка, разрешенное  относительно производной

                                                  ,                                                  (6)

и начальное  условие 

                                                      .                                                   (7)

Требуется численно решить задачу Коши (6), (7) на отрезке []. Это решение будет состоять в построении таблицы приближенных значений  искомого решения   в точках , где . Для этого отрезок [] делят на  равных частей длины , так что . Величина  называется шагом интегрирования.

     

 

2.2. Метод  Эйлера.

    Будем считать, что шаг интегрирования  настолько мал, что для всех  значение искомой функции    мало отличается от . Тогда для можно написать 

    

.

Иными словами, на этом участке интегрирования кривая   заменяется отрезком касательной к ней в точке .

    Для   получим 

    

.

        Аналогично для  получим  

    

.

    Продолжая строить дальнейшие значения приближенного  решения по тому же закону, получим 

    

 

    

.

    Используя известные обозначения, схему метода Эйлера можно представить формулами:        

     

                      .                      (8)

     

    Геометрический  смысл метода Эйлера заключается  в том, что искомая интегральная кривая   заменяется ломаной, соединяющей точки    (рис.1). Причем первое звено ломаной касается истинной интегральной    кривой    в    точке . Эта ломаная  называется ломаной Эйлера. При  последовательность ломаных  Эйлера  на  отрезке [x0,]мится к искомй интегральной кривой. 

    Оценку  точности метода Эйлера, если неизвестно точное решение , проводят с помощью двойного пересчета - с шагом и с шагом . Совпадение десятичных знаков в полученных двумя способами результатах дает основание считать их верными.

    Метод Эйлера легко распространяется на системы  дифференциальных уравнений (3) и на дифференциальные уравнения высших порядков (1), которые должны быть предварительно приведены к нормальной системе (переход от (1) к (5)).

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

                                                                                                (9)

с начальными условиями  . Приближенные значения   вычисляются последовательно по формулам:

                                (10)

       

     

 

2.3.Модифицированный  метод Эйлера

    является более точным методом по сравнению с предыдущим. Модификация метода направлена на то, чтобы более точно определить направление перехода из точки () в точку (). Для чего производятся дополнительные промежуточные вычисления, в результате которых определяются координаты промежуточной точки  

                                              

                                                             (11)

    

 

с помощью  которых и определяется следующее  приближенное значение  искомого решения  по формуле 

                             .                   (12)

Геометрический  смысл модифицированного метода Эйлера показан на рисунке 2. Исходя из точки , получаем по методу Эйлера для     точку . Для   метод Эйлера дал бы точку , находящуюся на касательной к   интегральной   кривой   в  точке . Модифицированный   метод состоит в том, что из точки  проводится отрезок , параллельный отрезку , направленному в соответствии со значением углового коэффициента в точке . Точка , которая получена по модифицированному методу Эйлера, находится ближе к истинной кривой, чем точка  . Следовательно, модифицированный метод Эйлера будет обеспечивать большую точность, чем метод Эйлера при одном и том же числе разбиения отрезка интегрирования.

    Модифицированный  метод Эйлера можно легко распространить на нормальную систему дифференциальных уравнений (3). Рассмотрим систему двух уравнений первого порядка:

Информация о работе Программно-прикладные системы