- •Основные источники погрешностей.
- •Понятие погрешности.
- •Абсолютная и относительная погрешности функции.
- •Ловушки вычислений
- •Особенности машинной арифметики
- •1. Точные и приближенные методы решения линейных уравнений
- •2 Алгоритм отделения корней методом последовательного перебора
- •3.Алгоритмы уточнения корня
- •О точности полученных приближений (x2, , xcp) можно судить по невязке:
- •Точные и приближенные методы решения систем линейных уравнений
- •Общая постановка задач оптимизации.
- •Условия существования экстремума. Аналитические методы решения.
- •Безусловная одномерная оптимизация.
- •Определение интервала унимодальности.
- •Методы прямого поиска. (деления интервала)
- •Методы безусловной минимизации функций многих переменных. Многомерный поиск без использования производных.
- •Метод циклического покоординатного спуска.
- •Алгоритм циклического покоординатного спуска
- •Метод Хука и Дживса.
- •4. Многомерный поиск, использующий производные.
- •5. Метод наискорейшего спуска
- •Численное интегрирование
- •Постановка задачи
- •6 Численное дифференцирование
- •6.2. Метод Рунге-Кутта
- •7. Решение задач интерполяции и экстраполяции.
Конспект лекций
Численные методы.
Элементы теории погрешностей.
Вычислительная математика и её роль в науке и технике
Вычислительная математика занимается проблемами разработки и исследования вычислительных алгоритмов, их применением к решению конкретных задач.
Слово «Модель» происходит от латинского modus (копия, образ, очертание). Моделирование – это замещение некоторого объекта А (оригинала) другим объектом Б (моделью).
Математическая модель — это упрощенное описание реальности с помощью математических понятий.
Математическое моделирование — процесс построения и изучения математических моделей реальных процессов и явлений, т.е. метод исследования объектов и процессов реального мира с помощью их приближенных описаний на языке математики – математических моделей.
Крупнейшие ученые прошлого сочетали в своих трудах как построение математического описания явлений природы (математические модели), так и его исследования. Анализ усложненных моделей требовал создания новых, как правило, численных методов решения задач.
При решении сложной задачи, она разбивается на ряд простых задач. Процесс решения любой задачи можно представить в виде схемы:
ФПЗ. Физическая постановка задачи. На этом этапе необходимо грамотно поставить задачу, сформулировать и осознать, что же требуется с точки зрения решения проблемы. Для этого необходимо изучить рассматриваемую проблему и обладать знаниями в соответствующей области.
МПЗ. Математическая постановка задачи. На этом этапе нужно переформулировать физическую проблему на математический язык (решение нелинейных уравнений, дифференциальные уравнения, матрицы, статистика и т.п.). Для этого нужно владеть математикой. Далее строится математическая модель. Здесь можно остановиться, т.к. если задача проста, то существуют стандартные методы, которые нужно применить для решения этой задачи.
МНМ. Метод непрерывной математики. Здесь оперируют не с конечными числами, а с функциями, общими величинами и т.п., т.е. ищут решение проблемы в общем виде.
ЧМ. Численные методы (или методы компьютерной (вычислительной) математики). Решение проблемы представляют в виде конечных математических операций – сложение, умножение. Т.е. МНМ сводятся к операциям над числами, в результате которых получается результат.
А. Алгоритмизация. Точное формальное описание процесса. Алгоритмизация служит для упорядочения производимых действий.
П. Программирование. Перевод алгоритма на машинный язык.
О. Отладка. Поиск ошибок, которые могли появиться на предыдущих этапах. Вполне вероятно, что придется вернуться в самое начало, к изменению ФПЗ. Масса итерационных возвратов характерна для любого творческого процесса.
С. Счет - получение рабочих результатов.
И. Интерпретация результатов.
В результате исследователь получает в руки универсальный, гибкий и недорогой инструмент, который сначала отлаживается, тестируется и калибруется на решении набора пробных задач. Затем проводится широкомасштабное исследование математической модели для получения необходимых качественных и количественных свойств и характеристик исследуемого объекта.
Предложенная методология получила свое развитие в виде технологии «вычислительного эксперимента».
Вычислительный эксперимент – это информационная технология, предназначенная для изучения явлений окружающего мира, когда натурный эксперимент оказывается либо невозможен (например, при изучении здоровья человека), либо слишком опасен (например, при изучении экологических явлений), либо слишком дорог и сложен (например, при изучении астрофизических явлений).
После проведения первого этапа вычислительного эксперимента может возникнуть необходимость в уточнении модели. На втором этапе учитываются дополнительные эффекты и связи в изучаемом явлении, либо возникает необходимость пренебречь некоторыми закономерностями и связями. Затем этот процесс повторяют до тех пор, пока не убеждаются, что модель адекватна изучаемому объекту.
Численные методы решения задач занимают большое место в практической деятельности инженеров. Для решения задач конкретного типа разрабатывается специальное программное обеспечение, основой алгоритмов которого и служат численные методы.
Основные источники погрешностей.
Численные методы в настоящее время относятся к основным методам решения задач математики и различных ее приложений. Они характеризуются тем, что сводят процесс решения математической задачи к некоторой конечной последовательности операций над числами и приводят к результатам, представленным в виде чисел, числовых векторов и матриц, числовых таблиц и т. п.
В то же время полученные численными методами результаты обычно содержат погрешности, являясь лишь приближениями к искомым ответам. Оценка степени достоверности получаемых результатов является важнейшим вопросом при организации вычислительных работ. Это особенно важно при отсутствии опытных или других данных для сравнения, которые могли бы в некоторой степени показать надежность используемого численного метода и достоверность получаемых результатов.
Рассмотрим источники погрешностей на отдельных этапах решения задачи.
Математическая модель, принятая для описания данного процесса или явления, может внести существенные погрешности, если в ней не учтены какие-либо важные черты рассматриваемой задачи. Математическая модель задачи — это приближенное, идеализированное описание задачи на языке математики. При моделировании объекты и процессы задачи-оригинала, взаимосвязи между ее параметрами заменяются на математические понятия и соотношения.
Ради того чтобы получаемая в итоге математическая задача оказалась доступной для дальнейших исследований, учитывают лишь наиболее важные параметры, условия и особенности исходной задачи. Понятно, что чем меньше факторов отбрасывается, тем точнее получается модель. Кроме того, математическая модель может прекрасно работать в одних условиях и быть совершенно неприемлемой в других; поэтому важно правильно учитывать область ее применимости.
Несмотря на приближенность результатов математического моделирования, без него в приложениях математики не обойтись. Оно представляет собой обязательную ступень при переходе от нематематической задачи к математической. Более того, удовлетворительное исследование многих явлений реального мира оказывается возможным лишь тогда, когда удается построить их математические модели.
Исходные данные задачи часто являются основным источником погрешностей. Это так называемые неустранимые погрешности, поскольку они не могут быть уменьшены вычислителем ни до начала решения задачи, ни в процессе ее решения. Установить точные значения исходных параметров во многих случаях невозможно. Также, практика показывает, что следует стремиться к тому, чтобы все исходные данные были примерно одинаковой точности. Сильное уточнение одних исходных данных при наличии больших погрешностей в других, как правило, не приводит к повышению точности результатов.
После того как математическая модель построена и определены исходные данные, необходимо подобрать метод решения полученной математической задачи. Круг математических методов условно подразделяется на аналитические, численные и графические методы.
Численный метод также является источником погрешностей. Это связано, например, с заменой интеграла суммой, усечением рядов при вычислениях значений функций, интерполированием табличных данных и т. п. Как правило, погрешность численного метода регулируема, т. е. она может быть уменьшена до любого разумного значения путем изменения некоторого параметра (например, шага интегрирования, числа членов усеченного ряда и т. п.). Погрешность метода обычно стараются довести до величины, в несколько раз меньшей погрешности исходных данных. Дальнейшее снижение погрешности не приведет к повышению точности результатов, а лишь увеличит стоимость расчетов из-за необоснованного увеличения объема вычислений.
Численные методы поиска решения делятся на точные и приближенные, а последние, в свою очередь на конечные и итерационные.
Для большинства реальных задач точных методов решения вообще не существует, а если они и имеются, то бывают настолько трудоемкими, что не представляют практического интереса. Кроме того, они часто сопряжены с бесконечными вычислительными процессами.
Например, поиск точного значения функции может свестись к нахождению суммы числового ряда, что в общем случае практически осуществить невозможно. Вследствие этого основным инструментом вычислительной математики являются приближенные численные методы, приводящие обычно к приближенным результатам даже приточных исходных данных и точных вычислениях. Возникают так называемые погрешности метода.
Конечные методы дают решение за фиксированное число математических операций, которое не изменяется в зависимости от исходных данных (алгоритм решения представляет собой простое вычисление неких формул). Время счета итерационными методами может быть рассчитано только приблизительно, т.к. поиск решения производится перебором возможных решений, и окончательный результат определяется по соответствию некоторого критерия желаемому значению. Время счета итерационными методами может в значительной степени варьироваться в зависимости от исходных данных.
На первый взгляд может показаться, что конечные методы предпочтительнее, но это не всегда верно. Вообще говоря, в терминах точной математики конечные методы дают точное решение. Тем не менее, результат вычислений конечными методами для некоторых задач может иметь очень большую ошибку. В итерационных методах (конечно, в зависимости от выбора критерия) такая ситуация практически невозможна: если процесс итераций сходится (т.е. критерий с каждым шагом приближается к желаемому значению), то будет получено решение, точность которого удовлетворяет выбранному критерию, если процесс расходится – решение (по крайней мере данным методом) найти невозможно.
Поскольку первые два типа погрешностей не находится в пределах компетенции вычислителя, то для вычислителя он служит лишь ориентиром точности, с которой следует рассчитывать математическую модель. Нет смысла решать задачу существенно точнее, чем это диктуется неопределенностью исходных данных. Таким образом, погрешность метода подчиняют погрешности задачи. Наконец, при выводе оценок погрешностей численных методов обычно исходят из предположения, что все операции над числами выполняются точно. Это означает, что погрешность округлений не должна существенно отражаться на результатах реализации методов, т.е. должна подчиняться погрешности метода. Влияние погрешностей округлений не следует упускать из вида ни на стадии отбора и алгоритмизации численных методов, ни при выборе вычислительных и программных средств, ни при выполнении отдельных действий и вычислении значений функций.
Пример. Пусть требуется вычислить площадь фигуры, ограниченной некоторой кривой, отрезками прямых и осью ординат.
Пусть
S – это истинное значение площади
рассматриваемой фигуры. В качестве
математической модели для вычисления
площади возьмем интеграл
Неточность в этом выражении заложена
в числах a и b и в функции
которая
аппроксимирует криволинейную границу
области. Пусть
– истинное значение интеграла. Тогда
разность
и
будет неустранимой погрешностью модели.
Для вычисления интеграла применим
численный метод, допустим некоторую
интегральную сумму
.
Рис. 1. Площадь фигуры с криволинейной границей
Пусть S2 – истинное значение суммы. Разность S1 - S2 – это погрешность численного метода. Пусть, наконец, S3 – тот результат, который получился после вычисления суммы. Из-за округлений получим величину, вообще говоря, отличающуюся от S2. Разность S2 – S3 – это вычислительная погрешность. Сумма трех указанных погрешностей, которая равна разности S – S3 , т.е. разности между истинным значением площади (неизвестным нам) и тем значением, которое мы выдаем в качестве решения задачи, и есть полная погрешность.
Некоторые алгоритмы весьма чувствительны к ошибкам округлений. При счете по таким алгоритмам небольшая погрешность, допущенная на каком-либо его шаге, может сильно нарастать и в результате получится весьма большая вычислительная погрешность. Такие алгоритмы называют неустойчивыми.
Вычислительными называются погрешности, которые образуются в следствии необходимости выполнять арифметические операции над приближенными числами, вычислять значения функций, а также округлять исходные данные, промежуточные и окончательные результаты. При этом оказывается, что погрешность результата любого арифметического действия, как правило, превышает погрешности исходных данных.
Определенное влияние на результаты оказывает и степень точности используемых средств вычислений. Для представления чисел в них выделяется ограниченное количество десятичных разрядов, что влечет автоматическое округление числовых данных. Чем больше разрядная сетка, тем погрешность округлений меньше и, следовательно, с тем большей точностью можно производить вычисления. Часто, после выполнения операции производится не округление результата, а простое отбрасывание лишних разрядов с целью экономии машинного времени. Правда, в современных машинах предусмотрена свобода выбора программистом способа округления; соответствующими средствами располагают большинство алгоритмических языков.
Перевод чисел из одной системы счисления в другую также может быть источником погрешности из-за того, что основание одной системы счисления не является степенью основания другой (например, 10 и 2), Это может привести к тому, что в новой системе счисления число становится иррациональным.
Например, число 0.1 при переводе в двоичную систему счисления примет вид 0.1 = 0.00011001100... Может оказаться, что если с шагом 0.1 нужно при вычислениях пройти отрезок [0, 1] от х = 1 до х = 0, то десять шагов не дадут точного значения х = 0.
Несмотря на то, что при решении больших задач выполняются миллиарды операций, это вовсе не означает механического умножения погрешности при одном округлении на число операций, так как при отдельных действиях погрешности могут компенсировать друг друга (например, при сложении чисел разных знаков). Вместе с тем, иногда погрешности округлений в сочетании с плохо организованным алгоритмом могут сильно исказить результаты.
