Учебное пособие: Методы компьютерных вычислений и их приложение к физическим задачам 2
Следовательно, при умножении и делении приближенных чисел необходимо принимать во внимание количество значащих цифр, характеризующих относительную точность числа, а не количество десятичных знаков, обуславливающих его абсолютную погрешность.
Совершенно очевидно, что при большом количестве действий такого сорта правила нельзя считать удовлетворительными, так как погрешности будут иметь разные знаки и компенсировать друг друга. Статистическая оценка показывает, что при N одинаковых действиях среднее значение суммарной ошибки больше единичной в раз, если нет систематических причин для накопления погрешности. Систематические причины возникают, если, например в алгоритме вычитаются близкие по величине числа.
При любых расчетах надо устанавливать такую точность вычислений, чтобы погрешность округления была существенно меньше всех остальных погрешностей.
3. Краткое введение в используемые программные средства
Традиционные языки высокоуровневого программирования. В большинстве практических случаев моделирование или численный расчет предполагает использование готового алгоритма, который необходимым образом модифицируется для конкретной задачи. В настоящее время существуют обширные фонды алгоритмов и программ, ориентированных на классические языки программирования, такие как Фортран, Си и Паскаль. Наиболее мощные математические библиотеки были разработаны для самого старого языка программирования из вышеперечисленных – Фортрана. Однако во многих случаях, обладая соответствующей квалификацией, легче написать программу, отталкиваясь от первых принципов, нежели тестировать и исправлять, или переводить на другой язык программирования незнакомый текст.
Другое направление, которое в настоящее время особенно популярно – использование мощных математических пакетов для численных и аналитических расчетов.
Mathcad.
Разрабатывается компанией MathSoft Inc. Является наиболее легкой для освоения системой математических расчетов. Принята концепция «активного документа», то есть все вычисления записываются в традиционной математической нотации (с использованием значков интеграла, суммы и др.), а после введения знака равенства или другого запускающего символа появляется рассчитанное значение. Основной недостаток – слишком мал набор основных функций и очень низкое быстродействие.
MathLab.
Система MATLAB (MATrix LABoratory) разрабатывается фирмой MathWorks. Эта система создана для работы в среде Windows и представляет собой интерактивную среду для вычислений и моделирования, причем она может работать как в режиме непосредственных вычислений (очень напоминает режим «командной строки»), так и в режиме интерпретации написанных программ. Сильная сторона системы – виртуозная работа с матрицами и векторами. Численное значение или аналитическая формула, а также сообщения системы выводится на экран в виде списка. Помимо обычных алгебраических вычислений система имеет огромный набор встроенных функций, а также имеется возможность создавать пользовательские функции. В системе очень качественно реализовано построение двух и трехмерных изображений, в том числе динамически изменяющихся. Кроме того, имеется библиотека, которая обеспечивает удобное управление исполнением программ. И это только базовый набор, который обычно расширяется многочисленными дополнениями – например языком Simulink моделирования нелинейных динамических систем. Основное назначение – технические расчеты.
Mathematica.
Разрабатывается фирмой Wolfram Research. Одна из наиболее сложных для освоения систем. Предназначена в основном для решения теоретических задач, в связи с чем весьма популярна в научных кругах. Предуставляет широкие возможности в проведении символических (аналитических) преобразований, красотой интерфейса не отличается.
Maple.
Разработка компании Waterloo Maple Inc. Также очень популярный в научных кругах пакет аналитических преобразований и численных методов. Символический процессор Maple поставляется отдельно, в связи с чем производители других программных средств могут интегрировать его в свои разработки.
4. Численное интегрирование
Задача численного интегрирования состоит в замене исходной подинтегральной функции f(x), для которой трудно или невозможно записать первообразную в аналитике, некоторой аппроксимирующей функцией φ(x). Такой функцией обычно является полином (кусочный полином)
То есть:
,
где – априорная погрешность метода на интервале интегрирования,
а r(x) – априорная погрешность метода на отдельном шаге интегрирования.
Обзор методов интегрирования.
Методы вычисления однократных интегралов называются квадратурными (для кратных интегралов – кубатурными).
1) Методы Ньютона-Котеса. Здесь φ(x) – полином различных степеней. Сюда относятся метод прямоугольников, трапеций, Симпсона.
2) Методы статистических испытаний (методы Монте-Карло). Здесь узлы сетки для квадратурного или кубатурного интегрирования выбираются с помощью датчика случайных чисел, ответ носит вероятностный характер. В основном применяются для вычисления кратных интегралов.
3) Сплайновые методы. Здесь φ(x) – кусочный полином с условиями связи между отдельными полиномами посредством системы коэффициентов.
4) Методы наивысшей алгебраической точности. Обеспечивают оптимальную расстановку узлов сетки интегрирования и выбор весовых коэффициентов ρ(x) в задаче. Сюда относится метод Гаусса Кристоффеля (вычисление несобственных интегралов) и метод Маркова.
Метод прямоугольников.
Различают метод левых, правых и средних прямоугольников. Суть метода ясна из рисунка. На каждом шаге интегрирования функция аппроксимируется полиномом нулевой степени – отрезком, параллельным оси абсцисс.
Выведем формулу метода прямоугольников из анализа разложения функции f(x) в ряд Тейлора вблизи некоторой точки x = xi .