- •Информатика и математическое моделирование функциональных систем
- •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
- •Информатика и математическое моделирование функциональных систем
3.3.1. Повышение порядка точности аппроксимации обыкновенных дифференциальных уравнений
Однако порядок точности аппроксимации дифференциальных уравнений можно существенно увеличивать, например, вводя полуцелые узлы.
Для простоты рассуждений рассмотрим следующее обыкновенное дифференциальное уравнение с начальным условием:
; N(t0) = N0; . (3.3.1)
Отрезок [t0, tk] разобьем на k равных частей, при этом выполняется следующая цепочка неравенств:
0 = t0 t1 . . .< tj <… tk - 1 tk = tk, (3.3.2)
где tj = j τ; τ = ( tk – t0 ) / k; j = 0, … , k .
Алгоритм численного решения уравнения (3.3.1) на разностной сетке (3.3.2) с введением полуцелых узлов состоит из двух шагов: на первом полушаге по времени τ / 2 вычисляется численное решение уравнения с первым порядком точности и на втором полушаге уточнения численного решения со вторым порядком точности. Для записи дифференциального уравнения (3.3.1) в разностном виде на этих шагах рассмотрим разностную схему, приведенную на рис. 3.22.
N
Nj
Nj+1
tk t
0 t0 j j+1 k
Рис. 3.22. Разностная схема для решения дифференциального уравнения (3.3.1)
На первом полушаге по времени τ / 2 (на разностной сетке вводились полуцелые временные слои ) аппроксимация дифференциального уравнения (3.3.1) проводилась на основе правой разностной производной, имеющий первый порядок точности, следующим образом (схема Эйлера):
или ;j = 0, …, k-1. (3.3.3)
На втором полушаге по времени τ / 2 (этап – коррекции) необходимо исходное уравнение аппроксимировать со вторым порядком точности, используя центральную разностную производную:
или ;j = 0, …, k-1. (3.3.4)
[III, 10-11, 17-19].
Результаты численных расчетов. Для практического определения роли порядка точности аппроксимации дифференциального уравнения, при его численном решение, графически сравнивались результаты расчетов, полученных по разностным схемам, имеющих второй порядок точности (3.3.3 – 3.3.4) и по схемам с первым порядком точности:
или ;j = 0, …, k-1, (3.3.5)
при задании следующих исходных данных: ; tk = 3600c; k = 3000; N0 = 3.
Текст программы алгоритма решения обыкновенного дифференциального уравнения (3.3.1), написанной на блочно-структурном языке системы MATH CAD и числовые данные приведены ниже.
Результаты численных расчетов функции N(t) представлены на рис.3.23, здесь и далее сплошной кривой отмечено решение уравнения (3.3.1), полученное на основе разностных схем, имеющих второй порядок точности, а пунктирной - первый порядок точности.
Рис.3.23. Результаты численных расчетов функции N(t) при шаге
интегрирования τ = 12с и τ = 120с
Как следует из анализа рис. 3.23, максимальное расхождение значений функции N(t) при временном шаге τ = 12с, полученных на основе двух разностных схем, составляет порядка десяти процентов и, соответственно, при таких шагах τ могут использоваться разностные схемы, имеющие первый порядок точности.
Таким образом, обе разностные схемы счетно-устойчивы, но разностные схемы, имеющие первый порядок точности, при больших значениях временных шагов τ приводят к значительным погрешностям (см. рис.3.23), делающих непригодными эти схемы при интегрировании уравнений. В то же время разностные схемы, имеющие второй порядок точности, являются вполне приемлемыми, так как погрешность численного решения не более 15% (см. рис. 3.23).
Задание. Задать нелинейную функцию правой части уравнения (3.3.1) f(N, t) и определить максимальный шаг интегрирования τ, при котором относительная погрешность вычисления функции N(t), полученная на основе разностных схем, имеющих первой и второй порядки точности, не превышает 5%.