Решение дифференциальных уравнений в MATLAB с использованием численных методов Адамса и Рунге-Кутта

Автор работы: Пользователь скрыл имя, 05 Мая 2013 в 11:52, лабораторная работа

Описание работы

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

Содержание работы

Для ДУ вида получить решение аналитическим методом.
Реализовать метод Адамса и Рунге-Кутта 4-5 порядка точности в среде MATALAB.
Построить графики для всех трех методов.

Файлы: 1 файл

ЛАБОРАТОРНАЯ РАБОТА1.docx

— 53.23 Кб (Скачать файл)

 

ЛАБОРАТОРНАЯ РАБОТА №1

 

Решение дифференциальных уравнений в MATLAB с использованием численных методов Адамса и Рунге-Кутта


 

 

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

 

Содержание  работы:

  • Для ДУ вида получить решение аналитическим методом.
  • Реализовать метод Адамса и Рунге-Кутта 4-5 порядка точности в среде MATALAB.
  • Построить графики для всех трех методов.

 

 

 

 

 

 

 

 

 

 

 

 

 

Вариант №11.

  1. y' – yex = 2xeex          y(0) = 0;

Аналитическое решение:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

  1. Метод Адамса

 

Создаем Blank M-File

function f=primer(x,y)

dy=2*x*exp(exp(x))+y*exp(x);

f=dy';

 

Примечание: primer (x,y) – произвольное имя функции.

 

Сохраняем M-File и переходим в Command Window.

Для запуска созданной  программы в Command Window записываем

>> x0=0;    <enter>

>> t0=0;    <enter>

>> tf=1;    <enter>

>> [x,y]=ode113(@primer,[t0,tf],x0)   <enter>

 

Результатом выполнения программы  primer является

x =

 

         0

    0.0004

    0.0009

    0.0017

    0.0034

    0.0068

    0.0136

    0.0205

    0.0273

    0.0409

    0.0546

    0.0818

    0.1091

    0.1364

    0.1637

    0.2182

    0.2728

    0.3273

    0.3819

    0.4364

    0.5364

    0.6364

    0.7364

    0.8364

    0.9364

    1.0000

 

 

y =

 

         0

    0.0000

    0.0000

    0.0000

    0.0000

    0.0001

    0.0005

    0.0012

    0.0021

    0.0047

    0.0086

    0.0198

    0.0363

    0.0585

    0.0870

    0.1652

    0.2767

    0.4289

    0.6311

    0.8948

    1.5907

    2.6802

    4.3775

    7.0339

   11.2378

   15.1516

 

 

Запускаем функцию построения графиков

>> plot(x,y)  <enter>

Получаем график решения  Д.У.                   с начальными условиями по методу Адамса.

 

 

 

 

 

 

Метод Рунге-Кутта

Blank M-File уже создан.

Переходим в Command Window.

Для запуска созданной  программы в Command Window записываем

>> x0=0;    <enter>

>> t0=0;    <enter>

>> tf=1;    <enter>

>> [x,y]=ode45(@primer,[t0,tf],x0)  <enter>

Результатом выполнения программы  primer является

 

x =

 

         0

    0.0250

    0.0500

    0.0750

    0.1000

    0.1250

    0.1500

    0.1750

    0.2000

    0.2250

    0.2500

    0.2750

    0.3000

    0.3250

    0.3500

    0.3750

    0.4000

    0.4250

    0.4500

    0.4750

    0.5000

    0.5250

    0.5500

    0.5750

    0.6000

    0.6250

    0.6500

    0.6750

    0.7000

    0.7250

    0.7500

    0.7750

    0.8000

    0.8250

    0.8500

    0.8750

    0.9000

    0.9250

    0.9500

    0.9750

    1.0000

 

 

y =

 

         0

    0.0017

    0.0072

    0.0165

    0.0302

    0.0485

    0.0719

    0.1008

    0.1357

    0.1771

    0.2257

    0.2821

    0.3471

    0.4215

    0.5063

    0.6025

    0.7112

    0.8338

    0.9717

    1.1265

    1.3001

    1.4944

    1.7119

    1.9549

    2.2266

    2.5301

    2.8690

    3.2477

    3.6708

    4.1436

    4.6722

    5.2636

    5.9254

    6.6668

    7.4978

    8.4301

    9.4771

   10.6542

   11.9786

   13.4709

   15.1543

 

Запускаем функцию построения графиков

 

>>plot(x,y)  <enter>

Получаем график решения  Д.У.                               с начальными условиями по методу Рунге-Кутта.

  1. Аналитический метод

 

Переходим в Command Window.

Столбец х построен предыдущим методом.

Для реализации аналитического метода в Command Window записываем

>> g=x.^2*exp(exp(x))     <enter>

 

Результатом выполнения является

 

g =

 

         0

    0.0017

    0.0072

    0.0165

    0.0302

    0.0485

    0.0719

    0.1008

    0.1357

    0.1771

    0.2257

    0.2821

    0.3471

    0.4215

    0.5063

    0.6025

    0.7112

    0.8338

    0.9717

    1.1265

    1.3001

    1.4944

    1.7119

    1.9549

    2.2266

    2.5300

    2.8690

    3.2477

    3.6708

    4.1436

    4.6722

    5.2636

    5.9254

    6.6668

    7.4978

    8.4301

    9.4771

   10.6541

   11.9786

   13.4709

   15.1543

 

Запускаем функцию построения графиков

>> plot(x, y, '*', x, g, '-')   <enter>

 

Получаем графики решения  Д.У.                        с начальными условиями , где график, изображенный с помощью ‘*’ – график решения Д.У. по методу Рунге-Кутта, ‘-‘ – по аналитическому методу.

 

 

 


Информация о работе Решение дифференциальных уравнений в MATLAB с использованием численных методов Адамса и Рунге-Кутта