
- •Лекция 1
- •Лекция 2
- •Уравнении с одним неизвестным
- •Метод деления отрезка пополам (метод бисекции).
- •Метод Ньютона (метод касательных).
- •Метод простой итерации.
- •Лекция 3 Системы линейных уравнений
- •3.Прямые методы
- •Итерационные методы
- •Метод Гаусса — Зейделя.
- •Системы уравнений.
- •Лекция 4 Аппроксимация функций.
- •Точечная аппроксимация.
- •Многочлены Чебышева.
- •Линейная и квадратичная интерполяция.
- •Сплайны.
- •Многочлен Лагранжа.
- •Лекция 5.
- •Метод Симпсона.
- •Использование сплайнов.
- •Кратные интегралы.
- •Метод Монте-Карло.
- •Лекция 6. Численное дифференцированно.
- •Погрешность численного дифференцирования.
- •Метод неопределенных коэффициентов.
- •Улучшение аппроксимации.
- •Частные производные.
- •Лекция 7.
- •Основные понятия.
- •Задачи оптимизации.
- •Одномерная оптимизация.
- •1. Задачи на экстремум.
- •Метод золотого сечения.
- •Метод градиентного спуска.
- •Лекция 8. Задачи с ограничениями.
- •Линейное программирование.
- •Геометрический метод.
- •Симплекс-метод.
- •Задача о ресурсах.
Лекция 1
Введение.
Цель и задачи изучения дисциплины и её место в общей системе подготовки специалистов.
Вычислительная математика изучает методы построения и исследования численных методов решения математических задач, которые моделируют различные процессы. Для инженерно технических работников главной задачей является понимание основных идей методов, особенностей и областей их применения.
Этапы решения задачи на ЭВМ.
Постановка задачи. Этот этап заключается в содержательной (физической) постановке задачи и определении конечных целей решения.
Построение математической модели (математическая формулировка задачи). Модель должна правильно (адекватно) описывать основные законы физического процесса. Построение или выбор математической модели из существующих требует глубокого понимания проблемы и знания соответствующих разделов математики.
Разработка численного метода. Поскольку ЭВМ «не понимает» постановки задачи в математической формулировке, для решения задачи должен быть найден численный метод, позволяющий свести задачу к некоторому вычислительному алгоритму. Специалисту-прикладнику для решения задачи необходимо из имеющегося арсенала методов выбрать тот, который наиболее пригоден в данном конкретном случае.
Разработка алгоритма и построение блок-схемы. Процесс решения задачи (вычислительный процесс) записывается в виде последовательности элементарных арифметических и логических операций, приводящий к конечному результату и называемойалгоритмомрешения задачи. Алгоритм можно изобразить в виде блок-схемы.
Программирование.
Отладка программы. Составленная программа содержит разного рода ошибки, неточности, описки. Отладка программы на машине включает контроль программы, диагностику (поиск и определение содержания) ошибок, их исправление. Программа испытывается на решении контрольных (тестовых) задач для получения уверенности в достоверности результатов.
Проведение расчетов. На этом этапе готовятся исходные данные для расчетов, и проводится счет по отлаженной программе. При этом для уменьшения ручного труда при обработке результатов можно широко использовать удобные формы выдачи результатов, например, распечатку таблиц, построение графиков.
Анализ результатов. Результаты расчетов тщательно анализируются, оформляется научно-техническая документация.
Следует отметить ёще один важный момент в процессе решения задачи на ЭВМ. Это – Экономичностьвыбранного способа решения задачи, численного метода, модели ЭВМ.
Математические модели.
Основное требование, предъявляемое к математической модели, - адекватность рассматриваемому явлению, т.е. она должна достаточно точно (в рамках допустимых погрешностей) отражать характерные черты явления. Вместе с тем она должна обладать сравнительной простотой и доступностью исследования.
Пример.
Пусть в начальный момент времени
тело, находящееся
на высоте
,
начинает
двигаться вертикально вниз с начальной
скоростью
.
Требуется
найти закон движения тела, т. е. построить
математическую
модель, которая позволила бы математически
описать данную задачу и определить
параметры движения в любой момент
времени.
Прежде
чем строить указанную модель, нужно
принять некоторые допущения,
если они не заданы. В частности,
предположим, что данное тело обладает
средней плотностью, значительно
превышающей плотность воздуха, а его
форма близка к шару. В этом случае можно
пренебречь
сопротивлением воздуха и рассматривать
свободное падение тела
с учетом ускорения
.
Соответствующие
соотношения для высоты
и
скорости
в любой момент времени
хорошо известны:
,
.
Эти формулы являются искомой математической моделью свободного падения тела. Область применения данной модели ограничена случаями, в которых можно пренебречь сопротивлением воздуха. Известно большое число математических моделей различных процессов или явлений. Укажем некоторые из них, широко используемые в механике. Модель идеального газа привела к системе уравнений Эйлера, описывающей невязкие потоки газов. В гидродинамике широко известна модель на основе уравнений Навье-Стокса, в кинетической теории газов — уравнения Больцмана. Имеются математические модели для описания задач экономики, социологии, медицины, лингвистики.
Численные методы.
Для решения математических задач используются следующие основные группы методов: аналитические, графические и численные. Основная идея графических методов состоит в том, что решение находится путем геометрических построений.
При использовании аналитических методов решение задачи удается выразить с помощью формул. К сожалению, на практике это слишком редкие случаи.
Основным инструментом для решения сложных математических задач
в настоящее время являются численные методы, позволяющие свести решение задачи к выполнению конечного числа арифметических действий над числами; при этом результаты получаются в виде числовых значений.
Численный метод наряду с возможностью получения результата за приемлемое время должен обладать и еще одним важным качеством не вносить в вычислительный процесс значительных погрешностей.
Точность вычислительного эксперимента.
Приближенные числа.
Известно, что
множество целых чисел бесконечно. Однако
ЭВМ из-за
ограниченности её разрядной
сетки может
оперировать лишь с некоторым конечным
подмножеством этого множества.
При решении научно-технических задач
в основном используются действительные
числа. Для их представления почти во
всех машинах используется форма с
плавающей точкой. Десятичное
число
в этой форме записиимеет
вид
,
где
и
—
соответственно мантисса
числа
и его
порядок.
Например, число
можно
записать в виде:
.
Последняя запись — нормализованная
форма числа с
плавающей точкой. Таким образом, если
представить мантиссу числа
в виде
,
то при
получимнормализованную
форму
числа
с плавающей точкой.
Число
в
системе счисления
с основанием
можно
представить в виде
.
Подмножество действительных чисел, с
которым оперирует
конкретная
ЭВМ, конечно и определяется разрядностью
,
а также границами порядка
.Можно
показать, что это подмножество содержит
чисел.
Границы
порядка
определяют
ограниченность действительных чисел
по величине, а разрядность
—
дискретность распределения, их на
отрезке числовой оси.
Например,
в случае десятичных чисел при
четырехразрядном
представлении все значения, находящиеся
в интервале между числами
и
,
представляются числом
(при
отбрасывании остальных разрядов без
округления).
Разность между двумя соседними значениями
равна единице последнего разряда. Числа,
меньшие этой разности, воспринимаются
как машинный нуль.
Таким образом, ЭВМ оперирует с приближенными значениями действительных чисел. Мерой точности приближенных чисел является погрешность.
Понятие погрешности.
Различают два вида погрешностей - абсолютную и относительную. Абсолютная погрешность некоторого числа равна разности между его истинным значением и приближенным значением, полученным в результате вычисления или измерения. Относительная погрешность — это отношение абсолютной погрешности к приближенному значению числа.
Таким образом, если
—
приближенное значение числа
,
то выражения
для абсолютной и относительной
погрешностей запишутся соответственно
в виде
.
К
сожалению, истинное значение величины
обычно
неизвестно. Поэтому приведенные
выражения для погрешностей практически
не могут быть
использованы. Имеется лишь приближенное
значение
и
нужно найти
его предельную
погрешность
,
являющуюся верхней оценкой модуля
абсолютной погрешности,
т.е.
.
В дальнейшем значение
принимается
в качестве абсолютной погрешности
приближенного числа
.
В
этом случае истинное значение
находится
в интервале
.
Для
приближенного числа, полученного в
результате округления, абсолютная
погрешность
принимается
равной половине единицы последнего
разряда числа.
Например,
значение
могло
быть получено
округлением чисел
,
и
других. При этом
,
и
полагаем
.
При вычислениях на ЭВМ округления, как
правило, не
производится, а цифры, выходящие за
разрядную сетку машины, отбрасываются.
В этом случае максимально возможная
погрешность результата выполнения
операции
в два раза больше по сравнению со случаем
округления.
Предельное значение относительной погрешности - отношение предельной абсолютной погрешности к абсолютной величине приближенного числа:
Например,
.
Заметим,
что погрешность округляется
всегда в сторону увеличения. В данном
случае
.
Значащими цифрами считаются все цифры данного числа, начиная с первой ненулевой цифры. Например, в числе 0.037 две значащие цифры: 3 и 7, а в числе 14.80 все четыре цифры значащие.
При изменении формы записи числа, число значащих цифр не должно меняться, т.е. нужно соблюдать равносильность преобразований.
Действия над приближенными числами.
Сформулируем правила оценки предельных погрешностей при выполнении операций над приближенными числами.
При
сложении или вычитании чисел их абсолютные
погрешности складываются
.
Относительная погрешность суммы заключена между наибольшим и наименьшим значениями относительных погрешностей слагаемых; на практике принимается наибольшее значение.
При умножении или делении чисел друг на друга их относительные погрешности складываются.
При возведении в степень приближенного числа его относительная погрешность умножается на показатель степени
.
Пример :Найти относительную погрешность функции.
Полученная оценка относительной
погрешности содержит в знаменателе
выражение
.
Ясно,
что при
можно
получить оченьбольшую
погрешность. В связи с этим рассмотрим
подробнее случай вычитания
близких чисел.
Запишем
выражение для относительной погрешности
разности двух чисел в виде
.
При
эта погрешность может
быть сколь угодно большой.
При организации вычислительных алгоритмов следует избегать вычитания близких чисел; при возможности алгоритм нужно видоизменять во избежание потери точности на некотором этапе вычислений.
При сложении или вычитании приближенных чисел желательно, чтобы эти числа обладали одинаковыми абсолютными погрешностями, т.е. одинаковым числом разрядов после десятичной точки. При умножении и делении приближенных чисел количество значащих цифр выравнивается по наименьшему из них.
Для оценок погрешностей при вычислении функций, аргументами которых являются приближенные числа, более полным оказывается общее правило, основанное на вычислении приращения (погрешности) функции при заданных приращениях (погрешностях) аргументов.
Рассмотрим
функцию одной переменной
.Пусть
— приближенное
значение аргумента
,
—
его абсолютная погрешность.
Абсолютную
погрешность функции можно считать её
приращением, которое можно
заменить дифференциалом:
.
Тогда
для оценки абсолютной погрешности
получим выражение
.
Аналогичное
выражение можно записать для функции
нескольких аргументов.
Например, оценка абсолютной погрешности
функции
,
приближенные значения аргументов
которой соответственно
имеет
вид:
Здесь
- абсолютные погрешности аргументов.
Относительная погрешность находится
по формуле:
.
Погрешности вычислений
Источники погрешностей. Оценка степени достоверности получаемых результатов является важнейшим вопросом при организации вычислительных работ. Это особенно важно при отсутствии опытных или других данных для сравнения.
Рассмотрим источники погрешностей на отдельных этапах решения задачи.
Математическая модель, принятая для описания данного процесса, может внести существенные погрешности, если в ней не учтены какие-либо важные черты рассматриваемой задачи. В частности, математическая модель может прекрасно работать в одних условиях и быть совершенно неприемлемой в других; поэтому важно правильно учитывать область ее применимости.
Исходные данные задачи часто являются основным источником погрешностей. Это так называемые неустранимые погрешности, поскольку они не могут быть уменьшены вычислителем ни до начала решения задачи, ни в процессе её решения. Следует стремиться к тому, чтобы все исходные данные были примерно одинаковой точности. Сильное уточнение одних исходных данных при наличии больших погрешностей в других, как правило, не приводит к повышению точности результатов.
Численный метод также является источником погрешностей. Это связано с заменой интеграла суммой, с усечением рядов при вычислениях значений функций, с интерполированием табличных данных и т. п. Как правило, погрешность численного метода регулируема, т.е. она может быть уменьшена до любого значения путем изменения некоторого параметра (шага интегрирования, числа членов усеченного ряда и т. п.). Погрешность метода обычно стараются довести до величины, в несколько раз меньшей погрешности исходных данных.
При вычислениях с помощью ЭВМ неизбежны погрешности округлений, связанные с ограниченностью разрядной сетки. Обычно после выполнения операции производится не округление результата, а простое отбрасывание лишних разрядов с целью экономии машинного времени. В современных машинах предусмотрена свобода выбора способа округления; соответствующими средствами располагают и некоторые алгоритмические языки.
Перевод чисел из одной системы счисления в другую также может быть источником погрешности из-за того, что основание одной системы счисления не является степенью основания другой (например, 10 и 2). Это может привести к тому, что в новой системе счисления число становится иррациональным.
Уменьшение погрешностей. При рассмотрении погрешностей результатов арифметических операций отмечалось, что вычитание близких чисел приводит к увеличению относительной погрешности; поэтому в алгоритмах следует избегать подобных ситуаций.
При сложении чисел следует придерживаться правила, в соответствии с которым сложение чисел нужно проводить по мере их возрастания.
Пример:
Складывая все эти числа, а
затем округляя
полученный результат до четырех значащих
цифр, получаем
.
Однако при вычислении на компьютере
округление происходит после
каждого сложения.
Предполагая условно сетку четырехразрядной, проследим за вычислением на компьютере суммы чисел от наименьшего к наибольшему:
Изменим теперь порядок вычислений и начнем складывать числа последовательно от последнего к первому:
При решении задачи на ЭВМ нужно использовать «маленькие хитрости» для улучшения алгоритма и снижения погрешностей результатов.
Например,
при вычислении
при
в этом
случае может помочь замена
.
Для
тригонометрических функций можно
использовать
формулы приведения. При вычислении
экспоненты аргумент
можно разбить на сумму целой и дробной
частей
и использовать разложение в ряд только
для
,
а
вычислять умножением.
Устойчивость. Корректность. Сходимость
Рассмотрим погрешности исходных данных. Поскольку это так называемые неустранимые погрешности и вычислитель не может с ними бороться, то нужно хотя бы иметь представление об их влиянии на точность окончательных результатов.
Мы вправе надеяться на то, что погрешность результатов имеет порядок погрешности исходных данных. Это не всегда так. Чувствительность к неточностям в исходных данных характеризуется устойчивостью.
Пусть
в результате решения задачи по исходному
значению величины
находится
значение искомой величины
.
Если
исходная величина имеет
абсолютную погрешность
,
то решение имеет погрешность
.
Задача
называется устойчивой
по
исходному параметру
,
если
решение
непрерывно
от него зависит, т.е. малое приращение
исходной величины
приводит
к малому приращению искомой величины
.
Другими словами, малые
погрешности в исходной величине приводят
к малым погрешностям в результате
расчетов.
Отсутствие устойчивости означает, что даже незначительные погрешности в исходных данных приводят к большим погрешностям в решении или вовсе к неверному результату. О подобных неустойчивых задачах также говорят, что они чувствительны к погрешностям исходных данных.
Примером такой задачи является отыскание
действительных корней многочлена вида
,
.
Изменение правой части на величину
порядка
приводит к погрешности корней порядка
Корректность. Задача называется поставленной корректно, если для любых значений исходных данных из некоторого класса ее решение существует, единственно и устойчиво по исходным данным.
Применять для решения не корректно поставленных задач численные методы нецелесообразно. В настоящее время развиты методы решения некоторых некорректных задач. Это в основном так называемые методы регуляризации.
Понятие сходимости. При анализе точности вычислительного процесса одним из важнейших критериев является сходимость численного метода. Она означает близость получаемого численного решения задачи к истинному решению.
Рассмотрим
понятие сходимости
итерационного процесса.
Этот
процесс состоит в том, что для решения
некоторой задачи и нахождения искомого
значения определяемого параметра
(например, корня нелинейного уравнения)
строится метод последовательных
приближений. В результате многократного
повторения этого процесса (или итераций)
получаем
последовательность
значений Говорят, что эта
последовательность
сходится к точному решению
,
если при неограниченном возрастании
числа итераций предел этой последовательности
существует и равен
:
.
В этом случае имеем сходящийся численный метод.
Таким образом, для получения решения задачи с необходимой точностью ее постановка должна быть корректной, а используемый численный метод должен обладать устойчивостью и сходимостью.