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

Laboratornaya_5

.docx
Скачиваний:
147
Добавлен:
28.03.2015
Размер:
147.02 Кб
Скачать

Нижегородский государственный технический университет им. Р.Е. Алексеева

Кафедра «Прикладная Математика»

Отчет по лабораторной работе №5

Тема: Численные методы решения обыкновенных

дифференциальных уравнений.

5 вариант.

Выполнила: студентка

Группы С11-ЛА-1

Кокушева Ю.В.

Проверил преподаватель:

Осипенко Н.Н.

Нижний Новгород 2012г.

Оглавление

1.Постановка задачи……………………………………………………….……3

2. MathCAD……………………………………………………………………….3

  1. Простой метод Эйлера………………………………………………..3

  2. Метод Эйлера с усреднением (1 модификация)……………………4

  3. Метод Эйлера с центрированием (2 модификация)……………….5

  4. Метод Эйлера по правому краю (3 модификация)…………………6

  5. Метод Рунге-Кутта……………………………………………………7

  6. Решение с помощью функции Odesolve()…………………………..8

  7. Совмещение всех полученных графиков……………………………8

3. Microsoft Visual C++ . Простой метод Эйлера……………………………..9

4.Ручной счет…………………………………………………………………....10

  1. Простой метод Эйлера………………………………………………10

  2. Метод Эйлера с усреднением (1 модификация)…………………..11

  3. Метод Эйлера с центрированием (2 модификация)……………...12

  4. Метод Эйлера по правому краю (3 модификация)………………..13

  5. Метод Рунге-Кутта…………………………………………………..14

1.Постановка задачи

Найти неизвестные функции y(x) и y`(x) от уравнения y``+4y`+4y=0 на интервале [0;1] при начальных условиях y(0)=3, y`(0)=1.5, методами:

  1. Простой метод Эйлера

  2. Метод Эйлера с усреднением (1 модификация)

  3. Метод Эйлера с центрированием (2 модификация)

  4. Метод Эйлера по правому краю (3 модификация)

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

Проведем расчеты в программах MathCAD, Microsoft Visual C++ и выполним ручной счет.

Предварительные расчеты

y``+4y`+4x=0 y``=- 4y`- 4y

x[a;b]

x=x0 =a=0

y0=3, y`=z

z0=1.5

z` =-4z-4y

2. MathCAD

Р е а л и з а ц и я м е т о д о в р е ш е н и я о б ы к н о в е н н ы х д и ф ф е р е н ц и а л ь н ы х у р а в н е н и й в MathCad

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

з а д а н и е ч и с л а ш а г о в

М е т о д Э й л е р а п р о с т о й .

М е т о д Э й л е р а с у с р е д н е н и е м

М е т о д Э й л е р а с ц е н т р и р о в а н и е м

М е т о д Э й л е р а п о п р а в о м у к р а ю

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

Р е ш е н и е с п о м о щ ь ю ф у н к ц и и Odesolve()

С о в м е щ е н и е в с е х п о л у ч е н н ы х г р а ф и к о в

3. Microsoft Visual C++.

Простой метод Эйлера

#include "stdafx.h"

#include "math.h"

#include "iostream"

using namespace std;

void main()

{

double x[5],y[5],z[5],h,b=1;

int i,n=5,a=0;

x[0]=a;

y[0]=3;

z[0]=1.5;

printf("x0=%2.2f\ty0=%2.2f\tz0=%2.2f\n",x[0],y[0],z[0]);

h=(b-a)/n;

cout<<"\nh="<<h<<endl;

printf("\ni\t x\t y\t z\n");

for(i=0;i<=n;i++)

{

x[i+1]=x[i]+h;

y[i+1]=y[i]+h*z[i];

z[i+1]=z[i]+h*(-4*z[i]-4*y[i]);

printf("%1d\t%5.2f\t%5.2f\t%5.2f\n",i,x[i],y[i],z[i]);

}

char st;

cin>>st;

}

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]