Дискретизация функций одной переменной
Рассмотрим некоторую функцию Зачем нам потребовалось введение понятия сеточной функции? Дело в том, что, в силу конструктивных особенностей современных цифровых ЭВМ, при численном решении математических уравнений мы вынуждены заменять функции непрерывного аргумента их сеточными представлениями[12].
Рис. 2. Сетка {xk}={x1, x2 … xK} и множество значений сеточной функции {Фk}
Представляется очевидным, что, используя различные сетки, мы можем сопоставить данной функции целый ряд её сеточных представлений. И наоборот, имея в своем распоряжении лишь сеточную функцию, мы можем сопоставить ей целый ряд непрерывных восполнений[13]. Исследование свойств сеточных функций, а также методов построения и свойств восполнений – одна из задач вычислительной математики. Наша ближайшая задача заключается в оценке величины производной функции[14]
одностороннего конечно-разностного отношения вперед:
и центрального (трехточечного) конечно-разностного отношения:
Важно понимать, что величины Для того, чтобы оценить погрешность оценок (9), разложим функцию
Тогда, например, для случая (9a) будем иметь:
Учитывая, что для всех точек х*, лежащих в пределах отрезка
Очевидный вывод из формулы (11) заключается в том, что для повышения качества конечно-разностной аппроксимации производной функции
За увеличение точности приходится "платить" увеличением объема вычислительной работы: при использовании формул (9) нам необходимо выполнить два арифметических действия[16], а при использовании формулы (12) – семь арифметических действий. В таблице 3.1 приведены результаты расчета производной функции
Таблица 3.1
Данные табл. 3.1 полностью подтверждают полученные выше выводы о связи погрешности конечно-разностных аппроксимаций с величиной шага сетки Dх. При рассмотрении результатов табл. 3.1 следует иметь в виду, что применение неравномерной сетки (Dх¹const) уменьшает выигрыш от использования центрально-разностной формулы (9c) (см. прим. 12). Ограниченность имеющихся вычислительных ресурсов зачастую вынуждает исследователей увеличивать шаг расчетной сетки и использовать менее точные аппроксимации производных. Возникает естественный вопрос: какой из двух возможных путей повышения точности расчета позволяет получить более качественное решение при равных затратах ресурсов ЭВМ? Оказывается, что применение высокоточных аппроксимаций (напр., вида (12)) на грубой сетке не приводит к заметному улучшению качества расчета в целом, более того, в тех случаях, когда рассматриваемая функция Ф(х) имеет значительный градиент, применение более точных аппроксимаций может привести к получению худшего результата [Флетчер]. В таблице 3.2, в качестве примера, приведены результаты расчета производной функции
Рис. 3. График функции
Таблица 3.2
Сопоставление результатов, приведенных в табл. 3.2, с данными табл. 3.1, оставляет удручающее впечатление: если в табл. 3.1 максимальная ошибка не превосходила 2% от оцениваемой величины, то в табл. 3.2, при расчете на сетке с шагом Dх=0,05 только лучший результат имеет 2% ошибку, а максимальная ошибка приближается к 50%. Для того, чтобы прояснить причину столь существенного ухудшения качества аппроксимаций, следует отметить, что вторая производная (отвечающая за скорость изменения функции) у sin(x) по абсолютной величине не превосходит единицу, а вторая производная функции Уменьшение шага сетки в два раза (до Dх=0,025) позволило уменьшить ошибку: в случае применения односторонних аппроксимаций ‑ примерно в два раза; в случае применения трехточечной аппроксимации – в четыре раза; а в случае применения пятиточечной аппроксимации – почти в шестнадцать раз. Можно ожидать, что дальнейшее уменьшение шага сетки позволит качественно уменьшить величину ошибки аппроксимации. Анализ данных табл. 3.2 также показывает, что в рассматриваемом случае применение пятиточечной аппроксимации не дает существенного выигрыша по сравнению с трехточечной: при Dх=0,05 достигнут выигрыш по величине ошибки примерно в два раза; при Dх=0,025 – примерно в восемь раз[17]. Таким образом, мы можем констатировать, что, для получения оценки производной функции с заданной точностью, шаг сетки Dх должен быть согласован с характером поведения функции. На практике, для получения качественной информации о величине производных функции часто применяют неравномерные и адаптивные сетки, а также используют многосеточные методы. Применение неравномерных сеток (т.е. сеток с Dх¹const) имеет смысл в тех случаях, когда ещё до начала расчета можно указать область наиболее быстрого изменения значений функции, что позволяет исследователю "вручную" организовать сгущение сеточных узлов в этой области, однако, если прогноз свойств функции не оправдается, проделанная работа окажется бесполезной. Алгоритм построения адаптивной сетки подразумевает программное перестроение сетки в процессе расчета – сеточные узлы автоматически сгущаются (сдвигаются) в областях резкого изменения исследуемой функции и, наоборот, в областях малых изменений сетка разрежается. Общее число узлов сетки остается при этом неизменным. Многосеточная концепция подразумевает выполнение расчета на двух сетках, имеющих различный шаг. Если в результате сопоставления полученных результатов выявляется существенное различие величины производных функции, определенных в совпадающих точках обеих сеток, то строится новая, более подробная, сетка. Таким образом, общее число узлов сетки на каждом последующем этапе расчета увеличивается. Процедура повторяется до тех пор, пока не будет достигнуто хорошее соответствие результатов, полученных на двух последних сетках, или не будет достигнуто предельно допустимое число узлов, заданное исследователем. Рассмотрим применение изложенной теории к решению обыкновенных дифференциальных уравнений[18]. Пусть:
Точным решением уравнения (13) является функция (см. рис. 3) Будем использовать равномерную расчетную сетку, её первый узел совместим с левой границей интервала: х0=0,8; xk=x0+k×Dх, где k – номер узла сетки. Величину шага сетки Dх уточним позднее, в процессе численного решения. Запишем уравнение (13) для узла х0, заменив производную в левой части разностным отношением вперёд (см. (8b)):
Откуда следует формула для расчета значения функции в первом узле:
Зная значение функции в первом узле Ф1, мы можем точно таким же способом последовательно определить её значения во всех остальных узлах сетки. На рис. 4 приведены результаты численного решения дифференциального уравнения (13) на трех сетках. Как следует из рис. 4, по мере уменьшения шага сетки (и, соответственно, увеличения объема вычислительной работы) численное решение начинает лучше соответствовать точному.
Рис. 4. Влияние шага расчетной сетки Dх на точность численного решения дифференциального уравнения
В завершение параграфа рассмотрим общий способ построения конечно-разностных аппроксимаций. Наша цель будет заключаться в получении трехточечной центральной оценки второй производной
где a, b, c – коэффициенты, подлежащие определению, а Вместо значений функции в боковых узлах используем их представления в виде рядов Тейлора:
и перегруппируем правую часть (15):
Для того, чтобы правая часть (16) соответствовала виду (15), коэффициенты a, b, c должны удовлетворять условиям:
Откуда следует:
Окончательно будем иметь:
В случае использования равномерной сетки выражение для
Отметим, что при использовании иного общего представления для второй производной вместо (15), вид формул (17), (18) был бы иной. Несомненным достоинством использованного метода построения конечно-разностных аппроксимаций производных является попутное получение оценки для ошибки аппроксимации.
Популярное: Модели организации как закрытой, открытой, частично открытой системы: Закрытая система имеет жесткие фиксированные границы, ее действия относительно независимы... Как распознать напряжение: Говоря о мышечном напряжении, мы в первую очередь имеем в виду мускулы, прикрепленные к костям ... Личность ребенка как объект и субъект в образовательной технологии: В настоящее время в России идет становление новой системы образования, ориентированного на вхождение... ![]() ©2015-2024 megaobuchalka.com Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. (697)
|
Почему 1285321 студент выбрали МегаОбучалку... Система поиска информации Мобильная версия сайта Удобная навигация Нет шокирующей рекламы |