
Лекция 14.
Многошаговые методы решения задачи Коши.
Здесь для численного решения задачи Коши используется информация о нескольких ранее полученных точках. Для движения в области определения функции используются формулы прогноза, а для улучшения результата по точности – формулы коррекции. В отличие от одношаговых эти методы не обладают свойством «самостарта», поэтому при вычислении сначала используют одношаговые методы.
Общий алгоритм методов прогноза и коррекции.
Применяя одношаговый метод (чаще всего Рунге-Кутты), находят начальное значение искомой функции yn.
По формулам прогноза определяют значение
, где верхний индекс означает, что прогнозируемое значение является одним из последовательности значений, располагающихся в порядке возрастания точности по прогнозируемому значению .
С помощью ОДУ находят производную
(10)
Затем используют формулу коррекции, подставляют в нее значение (10) для вычисления уточненного значения
, (11)
где j = 0, 1, 2…
Итерационный процесс по j (возвращение к пункту 4) продолжается до тех пор, пока не выполнится условие
, (12)
где ξ – некоторое наперед заданное положительное число.
Последнее значение
,
при котором выполняется условие (12),
используется в качестве окончательного
для вычисленного значения yn+1
искомой функции.
Переход к следующему шагу по n.
Метод Милна.
В этом методе на этапе прогноза используется формула
,
а для коррекции – формула Симпсона
.
Последние члены в этих формулах в итерационном процессе не используются. Они служат лишь для оценки ошибки. Метод Милна является методом четвертого порядка точности, так как в нем отбрасываются члены, содержащие h в пятой и более высоких степенях.
Метод Адамса-Башфорта.
Данный метод имеет 4-ый порядок точности, в основе которого лежат формулы:
прогноза
,
коррекции
.
Метод Хемминга.
Это устойчивый метод четвертого порядка точности, в основе которго лежат следующие формулы:
прогноза
,
коррекции
.
Общая характеристика многошаговых методов.
По сравнению с одношаговыми многошаговые методы обладают следующими свойствами.
Не являются «самостартующими», если в процессе решения изменяется шаг, то приходится временно переходить на одношаговый метод.
Поскольку требуются данные о предыдущих точках, то соответственно требуется больше памяти ЭВМ.
Точность одного порядка с одношаговыми, но методы прогноза и коррекции позволяют оценить погрешность и шаг h можно выбрать большим.
Основы метода конечных разностей (МКР).
Формулы конечной записи производных.
МКР основан на приближенной (численной) записи производных через разности значений самой функции в заранее выбранных точках на интервале интегрирования ОДУ.
Формулы МКР получаются путем замены бесконечно малых приращений аргумента и функции на конечные приращения, т.е.
Заменяется на .
Для получения приращения функции Δy на интервале вариации аргумента x, в котором задано ОДУ, выбираются отдельные (дискретные) точки. Шаг Δx между этими точками может быть переменным. Для упрощения используем его постоянным: Δx = h = const. yi = y(xi) – значение искомой функции в выбранных точках. Таким образом, имеем
(13)
и три типа формул вычисления производной.
Приращение Δyi функции за счет приращения аргумента Δx = h на отрезке [xi-1, xi] слева от точки с номером i вычисляется по формуле
Δyi = yi – yi-1, (14а)
следовательно, по формуле (13) имеем
. (15а)
Приращение Δyi можно получить на отрезке [xi-1, xi] справа от точки i
Δyi = yi+1 – yi, (14б)
тогда конечно-разностное выражение для производной имеет вид
(15б)
Приращение Δyi на отрезке [xi-1, xi+1], т.е. когда Δx = 2h, составит
Δyi = yi+1 – yi-1, (14в)
а конечно-разностное выражение для производной имеет вид
. (15в)
Выражения (14а), (14б) и (14в) называются соответственно левой, правой и центральной разностью, а выражения (15а), (15б) и (15в) – левой, правой и центральной записью производной.
Геометрическим смыслом конечно-разностных представлений производных являются тангенсы углов наклона секущих.
На практике используются все три вида конечной записи производной, но центральная запись дает большую точность. Это видно из рисунка: угол наклона секущей между ординатами yi-1 и yi+1 ближе к углу наклона касательной, чем углы наклона двух других секущих.
Ясно, что при уменьшении шага h конечные записи всех трех вариантов производной приближаются к точной записи .
Формулы конечной записи производной для второго и более высоких порядков.
Формулы конечной
разности искомой функции позволяют
получить конечную запись производной
любого порядка. Представляя вторую
производную
как
,
получим
.
Далее, подставляя (15в), получим центрально-разностную конечную запись второй производной
.
Аналогично для второй производной можно получить формулы на основе левой и правой разностей.
Центрально-разностная схема предпочтительнее по точности, и она используется как основная, левая и правая часто используются в начале и в конце процесса вычисления.
На практике пользуются уточненной конечно-разностной схемой, соответствующей шагу h/2.
Для ее получения
введем фиктивные вспомогательные точки:
и
,
делящие отрезки [xi-1,
xi]
и [xi,
xi+1]
пополам. Тогда для них получим
и
.
Подставляя эти производные в выражение
,
получим уточненную формулу второй производной
.
Более старшие производные можно получить аналогично, например для третьей производной, представляя ее в виде
.
Общая схема решения краевой задачи методом конечных разностей.
Для примера возьмем анализ напряженно-деформированного состояния конструкции, который сводится к решению ДУ с необходимым числом краевых условий.
Чаще всего краевые условия в задачах прочности накладывают ограничения на перемещения отдельных точек. Иногда ограничения накладываются на усилия.
Совокупность ДУ и необходимого числа краевых условий, которые описывают поведение конструкции, называется краевой задачей.
Зачастую единственно возможным путем получения решения краевой задачи является приближенный численный метод.
Численное решение краевой задачи в МКР состоит в применении формул конечной разности производных.
Рассмотрим общую схему решения в МКР краевой задачи.
Пусть краевая задача описывается линейным ОДУ
, (1)
где L – известный линейный оператор;
– известная
функция, определяемая заданной внешней
нагрузкой.
Начертим область определения и область изменения неизвестной функции. Область определения функции может быть одномерной, двумерной, трехмерной и т.д. Для примера возьмем одномерную область определения.
Сначала по длине
l
конструкции выбираем n
точек с постоянным шагом
,
которые будем называть расчетными
сечениями.
Затем ДУ (1) записывается для каждого расчетного сечения в виде
, (2)
где i = 1, 2, …, n
Т.е., выражение (2) – это система, содержащая n уравнений, в которых (m+1)*n неизвестных в виде значений yi и его производных.
Путем применения формул конечной записи производных (2) приводится к неизвестным одного типа – дискретным значениям yi искомой функции.
В итоге получится система из n алгебраических уравнений, общий вид выражения для каждого из них записывается
, (3)
Нетрудно видеть, что при использовании центрально-разностных формул левая часть системы (3) будет содержать дискретные значения yi искомой функции не только в реальных расчетных сечениях i=1, 2,…n, но и в ряде фиктивных сечений i=…-1,0 и i=n+1, n+2… за пределами конструкции , причем таких значений тем больше, чем выше порядок старшей производной m уравнения (1).
Поэтому число уравнений в системе (3) меньше числа неизвестных. Недостающие уравнения поставляют краевые условия. Применяя в них конечную запись производных, будем иметь дополнительную систему уравнений
. (4)
Фактически существует два способа получения системы уравнений.
Решая совместно (3) и (4), получим все искомые yi. В центрально-разностных формулах посредством краевых условий значения в фиктивных точках выражают через значения в действительных точках.
Применяют по концам области определения соответственно левую и правую разности, выраженные с учетом краевых условий.
Первый способ предпочтительнее по точности.
Решение по МКР на примере растянуто-изогнутого стержня на 2-х опорах.
Стержень переменного по длине сечения загружен произвольной поперечной нагрузкой и сосредоточенной продольной силой S. Краевая задача для такого стержня описывается ДУ
(5)
и краевыми условиями
y(0) = 0 и y(l) = 0, (6)
где y=y(x) – искомая функция прогиба стержня;
EJ(x) – известная функция переменной по длине жесткости на изгиб;
M(x) – функция изгибающего момента от поперечной нагрузки;
S – продольная сила.
Решение можно организовать двумя способами.
1. Использование только конечно-разностной схемы. Выбираем по длине стержня расчетные сечения с шагом . При этом старшая производная – вторая. Следует слева и справа ввести по фиктивному сечению i=0 и i=n+1. Запишем соотношения (5) и (6) в выбранных дискретных сечениях x=xi:
Матричная форма записи конечно-разностных соотношений
С увеличением числа расчетных сечений и, следовательно, числа алгебраических уравнений в МКР решение системы можно проводить только на ЭВМ. Однако, ее использование только на этапе решения системы не рационально, так как этап формирования этой системы итерации остается выполняемым «вручную». Для решения этой проблемы применяется матричный аппарат.
Формирование системы и ее решение по МКР сводится в этом случае к стандартному формированию матриц и операциям над ними.
Для примера представим в матричном виде ОДУ для растянуто-изгибаемого стержня, где его общий вид и краевые условия
(1)
В начале представим в матричном виде выражения для производных. Очевидно, что если взять для примера центрально-разностные соотношения, записанные для всех расчетных сечений i=1, 2, … , n, то будем иметь
, (2)
где векторы-столбцы
(3)
имеют соответственно
порядок n
и n+2,
а числовая прямоугольная матрица
имеет порядок n
строк на n+2
столбцов.
, (4)
где матрица называется первой дифференцирующей матрицей.
Аналогично система центрально-разностных соотношений для второй производной, записанных для всех расчетных сечений i=1, 2, … , n в матричной форме имеет вид
, (5)
где
и
аналогичны (3), а вторая дифференцирующая
матрица
выглядит следующим
образом
. (6)
Аналогично можно представить дифференцирующие матрицы третьей и четвертой производных, но их порядок будет другим. Например, для четвертой производной: n*(n+4).
Операции с матрицами облегчаются, если их прямоугольный вид преобразуется к квадратному. Реализовать это можно двумя способами, в том числе, используя для крайних сечений левые и правые конечные разности.
Таким образом, запишем (1) в матричном виде
, (7)
где
– диагональная матрица значений EJ
в расчетных сечениях;
– «расширенная»
матрица порядка n*(n+2),
полученная из диагональной матрицы
путем формального добавления к ней
справа и слева двух нулевых столбцов.
Более компактно (7) записывается в виде
, (8)
где
.
Обратить
не удастся, т.к. она прямоугольная. Для
преобразования ее к квадратной необходимо
добавить краевые условия (1).
Таким образом, имеем
,
где
получена из
путем добавления соответствующих первой
и последней строк;
получена из
путем добавления нулей в качестве
первого и последнего элементов.
, (9)
. (10)
Решение имеем в виде
. (11)
Для определения величины моментов в каждом расчетном сечении, по известному соотношению
, (12)
на основании решения (11) получим выражение
.
Особенностью представленных матриц является то, что большая часть их элементов равна нулю. Такие матрицы называются разреженными (или редкозаполненными) и представляют собой частный случай так называемых ленточных матриц, ненулевые члены которых располагаются как бы на ленте небольшой ширины вокруг главной диагонали.
Существуют особые приемы работы с такими матрицами, позволяющие в значительной степени экономить память ЭВМ.
Интерполирование функций.
Интерполированием называют приближенное представление искомой неизвестной функции на основе какой-либо известной функции (чаще всего полинома) через значения искомой функции в ее расчетных сечениях (узлах).
Существует три типа интерполяции: сквозная, кусочная и скользящая.
Сквозная состоит в замене неизвестной функции одной y(x) кривой f(x) на всем интервале ее изменения. Эта кривая подбирается из условия yi = y(xi) = f(xi), где i=1, 2, … , n. В этом случае, как правило, аппроксимирующая функция строится на основе полиномиального ряда (Тейлора, Фурь и т.д.), где его порядок не должен быть меньше n–1. Сквозная интерполяция обеспечивает непрерывность функции, но приводит к сложным выражениям для интегралов, так как в каждой точке они выражаются через значения yi во всех расчетных сечениях интервала.
При кусочной интерполяции аппроксимирующая функция определена только в данной подобласти (интервале) , следовательно, может иметь несложный вид. Однако, при этом не обеспечивается непрерывность функции, т.к. в местах сочленения кривых они терпят разрыв. На такой интерполяции основаны формула трапеций, метод Симпсона, МКЭ.
Скользящая интерполяция состоит в замене неизвестной функции серией перекрывающих друг друга несложных кривых. Все они точно проходят через значения этой функции в нескольких соседних расчетных сечениях. При этом они представляю собой один и тот же вид кривой (например полином одной степени), которая как бы «скользит» вдоль аппроксимируемой функции.
Приведем несколько интерполяционных функций (полиномов) при скользящей интерполяции. Общий вид полиномиальной функции представлен в виде
, (1)
которая в ряде расчетных сечений в окрестности точки i равна значениям в них искомой функции, т.е.
,
p
=
…, i–1,
i,
i+1,
… (2)
Количество необходимых условий (2) определяется порядком аппроксимирующего полинома и равно m+1. Простейший вид полинома линейный, когда m=1
. (3)
Условий (2) здесь необходимо только два, в качестве их возьмем
,
. (4)
Здесь для примера принято, что номер i участка определяется номером расчетного сечения, ограничивающего его справа. Подставляя (3) в (4) находим a0 = yi, a1 = (yi – yi-1)/n и, следовательно,
. (5)
Очевидно, что интерполяция отрезками прямых (5) приводит к аппроксимации y(x) ломаной линией, т.е. для ее производной в расчетных сечениях будут иметь место разрывы.
Чаще всего, например, в методе конечных сумм, используется интерполяция полиномом третьей степени, когда m=3, тогда аппроксимирующий полином имеет вид
. (6)
Условий (2) для него необходимо уже четыре, и удобнее их записать для расчетных сечений, симметрично расположенных относительно участка с номером i, т.е.
;
;
;
. (7)
Подставляя (6) в (7), найдем
;
;
;
,
а следовательно, получим
. (8)
Аналогично можно построить интерполирующий полином сколь угодно большой степени m.