Главная страница

Отчёт лабораторная работа численные методы 6. 1 Постановка задачи


Скачать 76.8 Kb.
Название1 Постановка задачи
АнкорОтчёт лабораторная работа численные методы 6
Дата25.10.2022
Размер76.8 Kb.
Формат файлаdocx
Имя файлаOtchyot_6.docx
ТипДокументы
#754299


2





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



В рамках данной лабораторной работы необходимо решить задачу Коши на сетке с постоянным шагом.

1.1 Описание параметров.



Входные параметры:

input имя файла исходных данных;

f имя процедуры – функции с двумя параметрами (функция f вычисляет значение правой части уравнения 𝑦 = 𝑓(𝑥, 𝑦), 𝑥 [𝐴, 𝐵]).

Выходные параметры:

output - имя файла выходных данных;

Icod - выходная переменная – код завершения подпрограммы, принимающая следующие значения:

Icod = 0 нет ошибки, решение получено; Icod = 2 ошибка входных данных.
Структура файла исходных данных:

Отдельно в каждой строке - значения Aи B.

Структура выходного файла:

Первая и вторая строки – x - координата точки интегрирования и полученное приближенное значение в этой точке.

2 Метод решения



Пусть на отрезке [𝑥0, 𝑥0 + 𝑋] требуется найти численное решение задачи Коши

𝑦 = 𝑓(𝑥, 𝑦) (1)


0
{𝑦(𝑥

) = 𝑦0

(2)


на сетке узлов 𝑥0 < 𝑥1 < 𝑥2 < < 𝑥𝑁 < 𝑥0 + 𝑋 (3)

2.1 Метод Рунге-Кутта второго порядка



В данной работе рассмотрен следующий метод второго порядка:


𝑦 = 𝑦 + 1 (𝐾 + 𝐾



) (121)

1 0 2 1 3
𝐾1 = ℎ𝑓(𝑥0, 𝑦0),

ℎ ℎ

𝐾2 = ℎ𝑓 (𝑥0 + 2 , 𝑦0 + 2 𝐾1),

𝐾3 = ℎ𝑓(𝑥0 + ℎ, 𝑦0 ℎ𝐾1 + 2ℎ𝐾2)

Расчетная формула при условии, что
𝑦 = 𝑓(𝑥)


0
{𝑦(𝑥 ) = 𝑦

0
то есть правая часть уравнения (1) зависит только от 𝑥, принимает вид


𝑦1 = 𝑦0 + 2 (𝑓0 + 𝑓(𝑥0 + ))



3 Алгоритм





  1. Прочитать входные данные.

  2. Проверить входные данные: если A > B, то вывести ошибку Icod

= 2 о неточных входных данных.

  1. Посчитать начальный шаг = B−A

10

  1. Запустить цикл до определенного количества повторений. При каждой итерации:

    1. получить значение 𝑦1 в точке 𝑥0 + с постоянным шагом;

    2. записать в выходной файл значение 𝑥0 и полученное приближенное значение в этой точке.

    3. запомнить результат приближенного значения в предыдущей точке и прибавить к 𝑥0 шаг h.

  2. После последней итерации выйти из цикла и завершить программу.





Тест №1


Возьмем функцию

4 Тестирование


𝑦 = 𝑥3, 𝑥 [0, 2]

𝑦 = 3𝑥2

{𝑦(2) = 8


Входные данные: 0

2

Выходной файл:






Тест №2


Возьмем функцию


𝑦 = 6𝑥3, 𝑥 [0, 4]

𝑦 = 18𝑥2

{ 𝑦(0) = 0


Входные данные: 0

4

Выходной файл:






Тест №3


Изменим предыдущий пример таким образом, чтобы выдавалась ошибка входных данных. Для этого поменяем границы отрезка местами, чтобы 𝐴 > 𝐵.

Возьмем функцию
𝑦 = 6𝑥3, 𝑥 [0, 4]

𝑦 = 18𝑥2

{ 𝑦(0) = 0
Входные данные: 4

0

Выходной файл:


Тест №4


Возьмем функцию


𝑦 = 𝑥, 𝑥 [0, 2]

𝑦 = 1

{𝑦(0) = 0


Входные данные: 0

2

Выходной файл:



написать администратору сайта