- •Н. Б. Борковский Математические методы в экологии
- •Часть I. Численные методы
- •Тема 1 9
- •Тема 2 14
- •Тема 3 30
- •3.0 Постановка задачи 30
- •1. Постановка проблемы
- •2. Выбор или построение математической модели
- •3. Постановка вычислительной задачи
- •4. Предварительный анализ свойств вычислительной задачи
- •5. Выбор или построение численного метода
- •6. Алгоритмизация и программирование
- •7. Отладка программы
- •8. Счет по программе
- •9. Обработка и интерпретация результатов
- •10. Использование результатов и коррекция математической модели
- •1.0 Источники приближенных чисел
- •1.1 Источники и классификация погрешностей
- •1.2 Абсолютная и относительная погрешности вычисления
- •1.3 Погрешности арифметических операций
- •1.4 Обратная задача теории погрешностей
- •Постановка задачи
- •Метод половинного деления (метод «вилки», метод дихотомии)
- •Метод Ньютона (метод касательных)
- •Метод хорд (метод пропорциональных частей)
- •Метод итерации (метод последовательных приближений)
- •Постановка задачи
- •Решение систем линейных уравнений методом итерации
- •Решение систем нелинейных уравнений методом итерации
- •Решение систем линейных уравнений – «подводные камни»
- •4.0 Интерполирование – постановка задачи
- •4.1 Интерполирование полиномами
- •4.2 Аппроксимация функций. Метод наименьших квадратов
- •4.3 Интерполирование сплайнами
- •4.4 Интерполирование – примеры и «подводные камни»
- •4.5 Сглаживание данных (скользящее среднее)
- •5.0 Постановка задачи
- •5.1 Формула трапеций
- •5.2 Формула Симпсона
- •5.3 Формула Ньютона–Котеса
- •5.4 Формула Гаусса
- •5.5 Связь формул интегрирования
- •5.6 Численное интегрирование. Сравнение методов
- •5.7 Численное интегрирование – «подводные камни»
- •6.0 Введение
- •6.1 Обыкновенные ду. Метод Эйлера
- •6.2 Обыкновенные ду. Основные методы решения
- •6.3 Обыкновенные ду. Методы прогноза и коррекции
- •6.5 Обыкновенные ду. Сравнение методов
- •6.6 Оду. Влияние неточности исходной информации
- •6.7 Оду. Представление о конечных разностях
- •6.8 Оду. Краевые задачи – введение
- •8.0 Ду в частных производных. Постановка задачи
- •8.1 Ду в частных производных. Эллиптические уравнения
- •8.2 Ду в частных производных. Гиперболические уравнения
- •8.3 Ду в частных производных. Параболические уравнения
- •9.0 Методы безусловной оптимизации. Введение
- •9.1 Методы безусловной оптимизации. Классификация методов
- •9.2 Методы безусловной оптимизации нулевого порядка
- •9.3 Методы безусловной оптимизации первого порядка
- •9.4 Методы оптимизации второго порядка
- •Тема 10
- •10.0 Метод Монте–Карло. Некоторые задачи
- •10.1 Проблема получения случайных чисел
- •10.2 Общая схема метода
- •10.3 Метод Монте–Карло. Пример
- •10.4 Вычисление кратных интегралов
- •Число испытаний n не зависит от размерности интеграла i0
6. Алгоритмизация и программирование
Выбранный численный метод содержит обычно только принципиальную схему решения задачи.
Необходима подробная детализация всех этапов вычислений, для того чтобы получить реализуемый на ЭВМ алгоритм. Составление программы сводится к переводу этого алгоритма на выбранный язык программирования.
Заметим, что в настоящее время для вычислительных задач наиболее широко используется алгоритмический язык ФОРТРАН.
Алгоритмизация и программирование очень тесно связаны.
Практика показывает, что небольшие, на первый взгляд, различия в программах могут привести к значительным различиям в их эффективности.
Свои программы лучше строить из готовых модулей и широко использовать стандартные процедуры (библиотеки).
7. Отладка программы
К «самодельным» программам применимо утверждение: «В любой программе есть, по крайней мере, одна ошибка».
8. Счет по программе
Счет по программе продолжается несколько секунд, минут или часов.
Имеется распространенная иллюзия о возможности решать важные прикладные задачи на ЭВМ в очень короткое время.
В действительности необходимо принимать во внимание весь цикл от постановки проблемы до использования результатов. Для серьезных задач часто полезные результаты получаются только в результате многолетней работы.
9. Обработка и интерпретация результатов
Полученные в результате расчетов выходные данные, как правило, представляют собой большие массивы чисел.
Пользователь пытается вывести эти массивы на печать с тем, чтобы «потом провести их анализ».
Обычно первый же опыт анализа распечатки, содержащей сотни тысяч чисел, приводит к пониманию того, что эта работа непосильна для человека и следует постараться возложить ее на компьютер.
Часто первоочередной интерес представляет лишь небольшая часть полученной информации (например, значения одной из функций в выделенных точках) или даже некоторая грубая интегральная характеристика (максимальное или минимальное значение, оценка энергии системы и т. д.).
Результаты – в виде компактных таблиц, графиков прямо из программы.
Для правильной интерпретации надо: представлять модель; понимать (хотя бы в общих чертах) особенности применяемого вычислительного метода.
10. Использование результатов и коррекция математической модели
Большинство полученных сначала результатов может оказаться бесполезным.
Часто анализ результатов на этапе их обработки и интерпретации, указывает на несовершенство используемой математической модели и необходимость ее коррекции.
В таком случае математическую модель модифицируют (при этом она, как правило, усложняется) и начинают новый цикл решения задачи.
Тема 1
Приближенные числа. Погрешности
1.0 Источники приближенных чисел
На практике при выполнении вычислений чаще всего приходится иметь дело не с точными, а с приближенными числами. Причин тому несколько.
Данные, значение которых в принципе может быть представлено целым числом, но точное его определение затруднительно. Например, поскольку число зрителей, пришедших на концерт, является целым, его можно было бы определить с абсолютной точностью, однако на практике это сделать довольно трудно.
Если в ходе вычислений используются экспериментальные данные, полученные из физических измерений или же наблюдений, то их значение не может быть измерено с абсолютной точностью. Даже использование весьма прецизионных (и дорогих!) измерительных приборов не позволяет достичь абсолютного результата.
В расчетах часто используются иррациональные величины (например, e, ), которые в принципе не имеют абсолютно точных значений.
Все сказанное справедливо для случая, когда имеется возможность выполнять вычисления с неограниченным числом знаков. Ситуация усугубляется при использовании вычислительной техники, поскольку всякий компьютер хранит вещественные числа с ограниченной точностью. Поясним сказанное внешне простым примером. Предположим, необходимо решить квадратное уравнение x2 + 0,4002x + 0,00008 = 0 и вычисления производятся с точностью до 4-ой значащей цифры. С использованием обычной формулы
получаем один из корней –0,00015. При вычислениях с 8-ю значащими цифрами правильный корень равен –0,0002. Таким образом, в первоначальном варианте ошибка составила 25 %!
Приближенные числа – один из источников погрешностей, причины возникновения которых кратко рассмотрены в следующем параграфе.
