Лекции.Орг


Поиск:




Категории:

Астрономия
Биология
География
Другие языки
Интернет
Информатика
История
Культура
Литература
Логика
Математика
Медицина
Механика
Охрана труда
Педагогика
Политика
Право
Психология
Религия
Риторика
Социология
Спорт
Строительство
Технология
Транспорт
Физика
Философия
Финансы
Химия
Экология
Экономика
Электроника

 

 

 

 


Выполнил студент гр. СТ-15 Петров А.И

ЗАДАНИЕ 2: Численное решение дифференциального

Уравнения второго порядка методом Рунге-Кутта

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

 

Решить численно дифференциальное уравнение второго порядка с заданными начальными условиями для , шагом (табл. 1) и числе шагов методом Рунге-Кутта. Построить график зависимости с помощью программы Excel.

 

Содержание отчета

 

1. Постановка задачи для конкретного варианта.

2. Текст программы.

3. График зависимости , построенный с использованием программы Excel.

Методические указания

 

Результаты вычислений помещаются в файл rez.txt. При открытии данного файла с помощью программы Excel использовать опции мастера текстов, указанные ниже.

 

 

Варианты задания

Табл. 1.

Вариант Дифференциальное уравнение
        0,01
        0,01
        0,01
        0,016
        0,01
        0,016
        0,02
        0,01
        0,01
        0,01
      -50 0,0125
        0,01
        0,01
        0,0125
        0,008

 

Теория метода Рунге-Кутта

 

Метод Рунге-Кутта является одним из численных методов повышенной точности. Сначала рассмотрим данный метод на примере дифференциального уравнения первого порядка. Пусть имеется уравнение

(1)

с начальным условием . В методе Рунге-Кутта приращение функции на шаге интегрирования содержит величину до четвертой степени включительно:

. (2)

Поэтому данный метод имеет четвертый порядок точности.

Вместо вычисления непосредственно по формуле (2) в методе Рунге-Кутта предварительно определяются четыре числа:

(3)

Эти числа дают с точностью до :

. (4)

Таким образом, получается алгоритм:

. (5)

Метод Рунге-Кутта можно использовать и для решения уравнений более высокого порядка. Рассмотрим уравнение второго порядка

(6)

с начальными условиями , . Данное уравнение можно заменить системой двух дифференциальных уравнений 1-го порядка:

(7)

Для интегрирования этой системы вычисляются приращения:

(8)

где

(9)

Таким образом, получается алгоритм:

(10)

 

Пример оформления отчета

Тема лабораторной работы: численное решение дифференциального

Уравнения второго порядка методом Рунге-Кутта

Вариант 24

Выполнил студент гр. СТ-15 Петров А.И.

 

1. Постановка задачи: решить численно дифференциальное уравнение второго порядка с начальными условиями и шагом при числе шагов методом Рунге-Кутта. Построить график зависимости с использованием программы Excel..

2. Текст программы:

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

using System.IO;

 

namespace ConsoleApplication_Lab2

{

class Program

{

 

static void Main(string[] args)

{

int i, n = 121;

double[] x = new double[n];

double[] y = new double[n];

double[] p = new double[n];

double K1, K2, K3, K4, L1, L2, L3, L4, h = 0.05;

 

FileStream u = new FileStream("rez.txt", FileMode.Create);

StreamWriter Wr = new StreamWriter(u);

 

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

x[0] = 0;

y[0] = 5;

p[0] = 0;

 

// Шаговое интегрирование дифференциального уравнения y"+10y=0

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

{

K1 = h * p[i];

L1 = h * f(x[i], y[i], p[i]);

K2 = h * (p[i] + L1 / 2);

L2 = h * f(x[i] + h / 2, y[i] + K1 / 2, p[i] + L1 / 2);

K3 = h * (p[i] + L2 / 2);

L3 = h * f(x[i] + h / 2, y[i] + K2 / 2, p[i] + L2 / 2);

K4 = h * (p[i] + L3);

L4 = h * f(x[i] + h, y[i] + K3, p[i] + L3);

y[i + 1] = y[i] + (K1 + 2 * K2 + 2 * K3 + K4) / 6;

p[i + 1] = p[i] + (L1 + 2 * L2 + 2 * L3 + L4) / 6;

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

}

Console.WriteLine("Дифференциальное уравнение решено: результаты находятся в файле rez.txt");

Console.ReadLine();

 

// Печать результатов

Wr.WriteLine(" i x y p");

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

{

Wr.WriteLine("{0:D3} {1:F3} {2:F3} {3:F3}", i, x[i], y[i], p[i]);

}

 

Wr.Close();

u.Close();

}

 

// Подпрограмма вычисления правой части уравнения

static double f(double x, double y, double p)

{

return 0 * x - 10 * y + 0 * p;

}

}

}

График зависимости.



<== предыдущая лекция | следующая лекция ==>
Пав. Загс. Зал церемоний День | Описание метода Рунге-Кутта
Поделиться с друзьями:


Дата добавления: 2015-11-23; Мы поможем в написании ваших работ!; просмотров: 483 | Нарушение авторских прав


Поиск на сайте:

Лучшие изречения:

Либо вы управляете вашим днем, либо день управляет вами. © Джим Рон
==> читать все изречения...

2255 - | 1995 -


© 2015-2024 lektsii.org - Контакты - Последнее добавление

Ген: 0.014 с.