Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
total2.doc
Скачиваний:
371
Добавлен:
17.04.2013
Размер:
5.04 Mб
Скачать

1.3. Основные требования к алгоритмам и программному обеспечению

Реальный вычислительный алгоритм складывается из двух частей: абстрактного алгоритма, формулируемого в общепринятых математических терминах, и программы, записанной на одном из алгоритмических языков и предназначенной для реализации на ЭВМ.

К вычислительным алгоритмам, предназначенным для широкого использования, предъявляется ряд весьма жестких требований.

Корректность. Алгоритм называется корректным, если соблюдены три условия. Первое – после выполнения конечного числа элементарных операций любые входные данные преобразуются в результат (выходные данные). Второе – полученный результат устойчив по отношению к малым возмущениям входных данных. Это означает, что результат непрерывным образом зависит от входных данных при условии, что отсутствует вычислительная погрешность. Отсутствие такой устойчивости делает алгоритм непригодным для использования на практике. Третье – результат обладает вычислительной устойчивостью, т.е. вычислительная погрешность стремиться к нулю при стремлении к нулю погрешности численного метода. Если не выполняется хотя бы одно из этих условий, то алгоритм называют некорректным.

Обусловленность. Отражает чувствительность результата работы к малым, но совершенно неизбежным ошибкам округления. Вычислительный алгоритм называют хорошо обусловленным, если малые относительные погрешности округления приводят к малой относительной погрешности результата, и плохо обусловленным, если вычислительная погрешность может быть недопустимо большой.

Экономичность – это число элементарных операций, необходимых для реализации алгоритма. Часто это требование формулируется как требование максимальной быстроты исполнения алгоритма, что особенно важно при массовых расчетах.

Точность означает, что алгоритм должен давать решение задачи с заданной или приемлемой точностью.

К настоящему времени выработан также и ряд требований к программной реализации вычислительных алгоритмов для длительного и широкого использования.

Надежность программы означает, что она не содержит ошибок и вычисляет именно тот результат, для которого она предназначена.

Работоспособность (робастность) включает в себя надежность и предполагает, что программа способна выявлять недопустимые исходные данные, обнаруживать критические для задачи или алгоритма ситуации.

Переносимость (портабельность) означает, что программа может работать на различных ЭВМ без изменения или с незначительными изменениями. Желательно, чтобы любая характеристика ЭВМ, используемая в программе, либо вычислялась самой программой, либо задавалась пользователем.

Поддерживаемость – это прежде всего требование легкости модификации, т.е. существование возможности внесения в программу изменений с минимальной вероятностью появления ошибок, она должна быть составлена максимально просто, ясно и логично. Зачастую разобраться в плохо составленной программе бывает гораздо сложнее, чем написать новую. Данное требование также включает и хорошую документацию (описание) программы.

К сожалению, указанные требования к вычислительным алгоритмам и программам являются во многом противоречивыми. Так, удовлетворение, например, требования робастности может привести к тому, что программа станет неэкономичной. Более того, фактически все требования к программам вступают в противоречие с экономичностью, выраженной через затраты машинного времени.

2. решение трансцендентных уравнений

Очень часто в прикладных задачах требуется решить уравнение вида

, (2.1)

где – неизвестная переменная. При этом функция может быть полиномом, элементарной или специальной функцией, область определения значения корней может быть ограничена или не ограничена. Будем считать, что функция непрерывна вместе со своими производными в области, где ищется решение. Типичным примером необходимости такого рода решений служит дисперсионное уравнение в теории распространения волн.

Численное решение уравнения вида (2.1) предполагает выполнение двух этапов. На первом этапе, определяется количество корней уравнения в искомом интервале значений переменной . Лучше всего этот этап реализовывать не программным, а интерактивным образом (построить график и визуально определить количество корней и их местонахождение). Искомый корень следует изолировать, выбрав интервал, на котором он является единственным. Такой интервал называют интервалом изоляции корня. На втором этапе определяется этот изолированный корень. Напомним, что корнем уравнения (2.1) называется такое значение переменной , при котором уравнение обращается в тождество.

Для нахождения решения уравнения (2.1) существует множество методов, далее рассматриваются некоторые из них.

Соседние файлы в предмете Численные методы