- •Оглавление
- •Введение
- •1. Программирование задач на языке basic
- •Программирование линейных вычислительных процессов
- •1.1.2. Справочный материал.
- •1.1.5. Вопросы для самопроверки
- •1.2.3. Пример:
- •20 Input “a b “ ; a , b input “a b “ ; a , b
- •1.2.4. Задание к лабораторной работе.
- •Определённые циклы
- •1.3.4. Задания к лабораторной работе.
- •Определённые циклы. Суммирование членов функционального ряда
- •Input “X, m%, h% “ ; X , m% , h%
- •1.4.4. Задания к лабораторной работе.
- •Файлы прямого и последовательного доступа
- •Input “X m h “ ; X , m% , h
- •Программирование итерационных вычислительных процессов
- •10 Input "Введите значения X,r,k,e" ; X,r,k,e
- •1.6.5. Вопросы для самопроверки
- •1.7.5. Вопросы для самопроверки
- •Формирование и обработка одномерных массивов
- •1.8.5. Вопросы для самопроверки
- •Формирование двумерных массивов и выполнение операций с матричными элементами
- •160 Next I
- •160 Next j
- •150 Next j
- •1.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
- •1.10.5. Вопросы для самопроверки
- •Программирование цепочек текстовых переменных
- •1.11.5. Вопросы для самопроверки
- •Литература к главе 1
- •2.1.5. Вопросы для самопроверки
- •Решение нелинейного уравнения графическим методом
- •2.2.5. Вопросы для самопроверки
- •Решение НелинейноГо уравнениЯ МетодОм простых итераций
- •2.3.5. Вопросы для самопроверки
- •Решение нелинейного уравнения методом касательных
- •2.4.3. Пример.
- •2.4.5. Вопросы для самопроверки
- •Решение систем Нелинейных уравнений графическим методом
- •2.5.5. Вопросы для самопроверки
- •Решение систем Нелинейных уравнений методом пРостых итераЦиЙ
- •2.6.3. Пример.
- •2.6.5. Вопросы для самопроверки
- •Численное интегрирование:метод прямоугольников и трапеций, формула симпсона
- •2.7.5. Вопросы для самопроверки
- •Численное решение обыкновеНноГо дифференциального уравнениЯ МетодОм эЙлера и рунге-кутта
- •2.8.5. Вопросы для самопроверки
- •Численное решение систем обыкновеНнЫх дифференциальных уравнениЙ МетодОм эЙлера
- •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.2.45) дополнялась начальными и граничными условиями (3.2.40 – 3.2.44) и решалась методом обыкновенной прогонки попеременно в двух направлениях.
- •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
2.7.5. Вопросы для самопроверки
1. Напишите формулы прямоугольников.
2. Напишите формулу трапеций.
Лабораторная работа № 2.8 (С:\USERS\GROUP\NOF\lab8.mcd)
Численное решение обыкновеНноГо дифференциального уравнениЯ МетодОм эЙлера и рунге-кутта
2.8.1. Цель работы. Получение практических навыков алгоритмизации и программирования численного решения обыкновенного дифференциального уравнения методом Эйлера и Рунге-Кутта.
2.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).
2.8.3.Пример. Проинтегрировать обыкновенное дифференциальное уравнение
x0,5; 1,5 (2.8.9)
с начальным условием у(0,5) = 0,724.
С целью анализа эффективности разностной схемы Эйлера, беря за истинное значение функции значение TN, вычисленное по схеме второго порядка точности 0(h2), определим, при каком числе элементарных отрезков N значения функций будут совпадать с точностью 2% на правом конце счетной области.
Рис. 2.8.1. Пространственное распределение значений функций у и Т,
вычисленных по схемам первого (сплошная кривая) и второго порядков точности
Таким образом, для дифференциального уравнения (2.8.9) метод Эйлера при разбиении на N = 17 частей счетной области дает приемлемые результаты.
2.8.4. Задание. В табл. 2.8.1 приведены варианты заданий для решения уравнения y’ = f(x,y), xa,b с начальным условием у0 = у(а).
Таблица 2.8.1
№ п/п |
f(x,y) |
a |
b |
Y(a) |
1 |
y·cos(x) |
0 |
1 |
1 |
2 |
y3/(x+1) |
0 |
1 |
1 |
3 |
0.5·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 |