- •Информатика и математическое моделирование функциональных систем
- •Isbn 5-94826-033-X
- •Введение
- •Програмирование задач на языке basic
- •Программирование линейных вычислительных процессов
- •1.2. Справочный материал.
- •1.5. Вопросы для самопроверки
- •Программирование разветвляющихся алгоритмов
- •2.3. Пример:
- •20 Input “a b “ ; a , b input “a b “ ; a , b
- •2.4. Задание к лабораторной работе.
- •Определённые циклы
- •20 Print “!---------------------!-------------------------!---------------------------!»
- •Input “X, m%, h% “ ; X , m% , h%
- •4.4. Задания к лабораторной работе.
- •Input “X m h “ ; X , m% , h
- •Программирование итерационных вычислительных процессов
- •10 Input "Введите значения X,r,k,e" ; X,r,k,e
- •6.5. Вопросы для самопроверки
- •7.5. Вопросы для самопроверки
- •20 Rem Ввод элементов исходного массива q
- •30 Read X( I ) : next I
- •160 Next I
- •160 Next j
- •150 Next j
- •9.5. Вопросы для самопроверки
- •40 Read X( I ) : next I
- •45 Data 1, 2.1, -3, -4.1, 1.7, 1.8, 1.9, 14.2, -5, -4.3, 11.2, 10.8
- •140 Return
- •90 Read X( I ) : next I
- •100 Data 1, 2.1, -3, -4.1, 1.7, 1.8, 1.9, 14.2, -5, -4.3, 11.2, 10.8
- •10.5. Вопросы для самопроверки
- •40 Data ------------
- •11.5. Вопросы для самопроверки
- •Литература к главе 1
- •2. Программирование задач в системе math cad
- •РешЕние систем линейных алгебраических уравнений методом обратной матрицы
- •2.5. Вопросы для самопроверки.
- •Решение нелинейного уравнения графическим методом
- •3.5. Вопросы для самопроверки.
- •Решение НелинейноГо уравнениЯ МетодОм простых итераций
- •3.5. Вопросы для самопроверки.
- •Решение нелинейного уравнения методом касательных
- •4.3. Пример.
- •4.5. Вопросы для самопроверки.
- •Решение систем Нелинейных уравнений графическим методом
- •6.5. Вопросы для самопроверки.
- •Решение систем Нелинейных уравнений методом пРостых итерацй
- •6.3. Пример.
- •6.5. Вопросы для самопроверки
- •Численное интегрирование:метод прямоугольников и трапеций, формула симсона
- •7.5. Вопросы для самопроверки.
- •Численное решение обыкновеНноГо дифференциального уравнениЯ МетодОм эЙлера и рунге-кутта
- •8.5. Вопросы для самопроверки
- •Численное решение систем обыкновеНнЫх дифференциальных уравнениЙ МетодОм эЙлера
- •9.4. Задание. Самостоятельно задать матрицу с и вектор правых частей r и численно решить полученную приведенную систему обыкновенных дифференциальных уравнений методом Эйлера.
- •9.5. Вопросы для самопроверки
- •9.5.3. Какие явные или неявные разностные схемы используются при численном решении приведенных систем обыкновенных дифференциальных уравнений методом Эйлера? Литература к главе 2
- •3. Математическое моделирование на пэвм
- •3.1. Системы сосредоточенными массами
- •3.1.1. Математическое моделирование теплообмена для тел сосредоточенных масс с окружающей средой
- •3.1.2. Собственные колебания
- •Лабораторная работа № 3.1 исследование автономной линейной системы уравнений
- •Лабораторная работа №3.2. Исследование автономной нелинейной системы уравнений
- •Лабораторная работа №3.3. Решение жестких систем обыкновенных дифференциальных уравнений (оду)
- •3.1.3. Математическая модель стабильности позвоночника
- •Результаты численных расчетов
- •3.2. Системы с распределенными параметрами
- •3.2.1. Математическое моделирование процесса переноса частиц
- •3.2.2. Математическое моделирование процесса прерванного посола рыбы
- •Отметим, что критерий устойчивости счета методом прогонки к ошибкам округления выполнен так как
- •Как следует из рекуррентных соотношений (3.2.32), для начала расчета необходимо иметь значения e1 и w1, которые определяются с помощью левого граничного условия (3.2.23)
- •3.2.3. Моделирование процесса переноса частиц на основе гиперболической системы уравнений
- •3.2.4. Математическое моделирование нестационарного двумерного процесса переноса частиц (теплопереноса)
- •Система разностных уравнений (3.96) дополнялась начальными и граничными условиями (3.91 и 3.92 – 3.95) и решалась методом обыкновенной прогонки попеременно в двух направлениях.
- •3.3. Повышение порядка точности аппроксимации дифференциальных уравнений
- •3.3.1. Повышение порядка точности аппроксимации обыкновенных дифференциальных уравнений
- •3.3.2. Повышение порядка точности аппроксимации дифференциальных уравнений гиперболического типа
- •3.4. Интерполяция функций
- •3.4.1. Линейная интерполяция
- •3.4.2 Квадратичная интерполяция
- •3.4.3. Интерполяционная формула Лагранжа
- •3.4.4. Сплайны
- •3.4.5.Алгоритм решения обратных задач по заданным показателям качества
- •Литература к главе 3
- •Информатика и математическое моделирование функциональных систем
Численное решение обыкновеНноГо дифференциального уравнениЯ МетодОм эЙлера и рунге-кутта
8.1. Цель работы. Получение практических навыков алгоритмизации и программирования численного решения обыкновенного дифференциального уравнения методом Эйлера и Рунге-Кутта.
8.2. Справочный материал. Простейшим обыкновенным дифференциальным уравнением является уравнение первого порядка
y’ = f(x,y), xa,b. (2.8.1)
Основная задача, связанная с уравнением (2.8.1), известна как задача Коши: найти решение дифференциального уравнения в виде функции у(х), удовлетворяющей начальному условию
у(х0) = у0. (2.8.2)
Для численного решения обыкновенного дифференциального уравнения (2.8.1) методом Эйлера и Рунге-Кутта разобьем отрезок [a,b] на N равных частей, т.е. введем равномерную пространственную сетку
a = x0 < x1 < x2 < …< xN-1 < xN = b, (2.8.3)
где N+1- число пространственных узлов; xi = i h; h = (b - a) / N; i = 0 , 1 , .. , N.
На основании определения производной от функции у(х), запишем
. (2.8.4)
Равенство в выражении (2.8.4) предполагает использование предельного перехода
h = (b – a)/N, при N → ∞.
При численной реализации разностных производных исходят из того факта, что любые измерения величин имеют свои погрешности и численные расчеты этих величин должны иметь такие же погрешности, что и определяет конечные значения N.
Первый порядок точности 0(h) для правой разностной производной (2.8.4) может быть установлен с помощью ряда Тейлора.
В дальнейшем будут использованы следующие обозначения:
yi-1 = y(xi –h); yi = y(xi); yi+1 = y(xi + h). (2.8.5)
Левая как правая разностная производная имеет первый порядок точности, центральная - второй
(2.8.6)
Разностная схема по методу Эйлера для задачи Коши (2.8.1) записывается следующим образом:
или . (2.8.7)
Таким образом, метод Эйлера достаточно прост, но имеет первый порядок точности 0(h). Поэтому в методе Рунге-Кутта он рассматривается как первый этап - предикация (предсказание, т.е. приближенное решение). На втором этапе это решение корректируется на основе разностной схемы второго порядка точности 0(h2)
(2.8.8)
В данном случае правая разностная производная становится центральной относительно полуцелой точки i+1/2, а значение уi вычисленное на первом этапе используется при вычислении правой части (2.8.8).
8.3.Пример. Проинтегрировать обыкновенное дифференциальное уравнение
x0.5,1.5 (2.8.9)
с начальным условием у(0.5) = 0.724.
С целью анализа эффективности разностной схемы Эйлера, беря за истинное значение функции значение TN, вычисленное по схеме второго порядка точности 0(h2), определим при каком числе элементарных отрезков N значение функций, будут совпадать с точностью 2% на правом конце счетной области.
Рис. 8.1. Пространственное распределение значений функций у и Т,
вычисленных по схемам первого (сплошная кривая) и второго порядка точности
Таким образом, для дифференциального уравнения (2.8.9) метод Эйлера при разбиении на N = 17 частей счетной области дает приемлемые результаты.
8.4. Задание. В таблице 8.1 приведены варианты заданий для решения уравнения y’ = f(x,y), xa,b с начальным условием у0 = у(а)
Таблица 8.1
№
|
f(x,y) |
a |
b |
Y(a) |
1 |
y·cos(x) |
0 |
1 |
1 |
2 |
0.5•x•y |
0 |
1 |
1 |
3 |
y - 2•x/y |
0 |
1 |
1 |
4 |
x2 + y2 |
0 |
1 |
0 |
5 |
1 + x·y2 |
0 |
1 |
0 |
6 |
0.1/x2 – y2 |
1 |
2 |
1 |
7 |
1+ y·sin(x) – y2 |
0 |
1 |
0 |
8 |
1/x2 y/x – y2 |
1 |
2 |
1 |
9 |
x + y |
0 |
1 |
1 |
10 |
y - 2·x/y |
0 |
1 |
1 |