Электронная библиотека
Программисту веб-дизайнеру
Другие материалы
Бесплатная электронная библиотека. Скачать книги DJVU, PDF бесплатно
А.Е. Мудров, Численные методы для ПЭВМ ...
Бесплатно скачать книгу, объем 5.69 Мб, формат .djvu (Томск, 1991)
ГЛАВА 1. ТРАНСЦЕНДЕНТНЫЕ УРАВНЕНИЯ
1.1. Отделение корней
1.2. Метод дихотомии
1.3. Метод хорд
1.4. Метод Ньютона (метод касательных)
1.5. Метод секущих
1.6. Метод простых итераций
ГЛАВА 2. ЗАДАЧИ ЛИНЕЙНОЙ АЛГЕБРЫ
2.1. Метод Гаусса с выбором главного элемента для решения СЛАУ
2.2. Итерационные методы решения СЛАУ
2.3. Вычисление определителей
2.4. Вычисление элементов обратной матрицы
2.5. Вычисление собственных значений матриц
ГЛАВA 3. ИНТЕРПОЛЯЦИЯ ЗАВИСИМОСТЕЙ
3.1. Интерполяция каноническим полиномом
3.2. Интерполяционный полином Лагранжа
3.3. Интерполяционный полином Ньютона
3.4. .Применение интерполяции для решения уравнений
3.5. Интерполяционный метод определения собственных значений матрицы
3.6. Интерполяция сплайнами
ГЛАВА 4. МЕТОД НАИМЕНЬШИХ КВАДРАТОВ
4.1. Общий алгоритм
4.2. Степенной базис
4.3. Базис в виде классических ортогональных полиномов
4.4. Базис в виде ортогональных полиномов дискретной переменной функции
4.5. Линейный вариант МНК
4.6. Дифференцирование при аппроксимации зависимостей МНК
ГЛАВА 5. ОПРЕДЕЛЕНИЕ ИНТЕГРАЛА
5.1. Классификация методов
5.2. Методы прямоугольников
5.3. Апостериорные оценки погрешностей по Рунге и Эйткену
5.4. Метод трапеций
5.5. Метод Симпсона
5.6. Вычисление интегралов с заданной точностью
5.7. Применение сплайнов для численного интегрирования
5.8. Методы наивысшей алгебраической точности
5.9. Несобственные интегралы
5.10. Методы Монте-Карло
ГЛАВА 6. ЗАДАЧА КОШИ ДЛЯ ОБЫКНОВЕННЫХ ДИФФЕРЕНЦИАЛЬНЫХ УРАВНЕНИЙ
6.1. Типы задач для обыкновенных дифференциальных уравнений
6.2. Метод Эйлера
6.3. Методы Рунге-Кутта второго порядка
6.4. Метод Рунге-Кутта четвертого порядка
6.5. Метод Рунге-Кутта-Мерсона
6.6. Метод Адамса
6.7. Метод Гира
ГЛАВА 7. ГРАНИЧНЫЕ ЗАДАЧИ
7.1. Метод конечных разностей для линейных граничных задач
7.2. Метод стрельбы для граничных задач
7.3. Граничные задачи на собственные значения для обыкновенных дифференциальных уравнений
7.4. Метод стрельбы для задачи на собственные значения
7.5. Метод конечных разностей для задачи на собственные значения
7.6. Граничная задача для дифференциального уравнения в частных производных
ГЛАВА 8. БЕЗУСЛОВНАЯ ОПТИМИЗАЦИЯ ФУНКЦИЙ
8.1. Метод золотого сечения
8.2. Метод координатного спуска
8.3. Метод градиентного спуска
ПЕРЕЧЕНЬ ПРОГРАММ
1.1. Табличный метод отделения корней
1.2. Метод дихотомии
1.3. Метод хорд
1.4. Метод Ньютона
1.5. Метод Ньютона в комплексной области
1.6. Метод секущих
1.7. Метод простых итераций
2.1. Метод Гаусса для СЛАУ
2.2. Метод Зейделя для СЛАУ
2.3. Вычисление определителей по Гауссу
2.4. Обращение матрицы
2.5. Прямой метод вычисления собственных значений матрицы
2.6. Итерационный метод вычисления наибольшего собственного значения
3.1. Интерполяция каноническим полиномом
3.2. Полином Лагранжа и его производные
3.3. Полином Ньютона и его производные
3.4. Метод парабол
3.5. Интерполяционный метод вычисления собственных значений матрицы
3.6. Интерполяция сплайнами
4.1. МНК со степенным базисом
4.2. Матрица Грама со степенным базисом
4.3. МНК с произвольным базисом
4.4. МНК с ортогональным базисом
4.5. Линейный вариант МНК
4.6. Вычисление производных
5.1. Метод средних прямоугольников
5.2. Метод трапеций
5.3. Метод Симпсона
5.4. Метод Симпсона с оценкой погрешности
5.5. Сплайн-квадратура
5.6. Метод Гаусса с двумя узлами
5.7. Метод Гаусса с шестью узлами
5.8. Квадратура Эрмита с пятью узлами
5.9. Метод Монте-Карло
6.1. Метод Эйлера
6.2. Метод Рунге-Кутта второго порядка с коррекцией по средней производной
6.3. Метод Рунге-Кутта второго порядка с коррекцией в средней точке
6.4. Метод Рунге-Кутта четвертого порядка
6.5. Метод Рунге-Кутта-Мерсона
6.6. Метод Адамса
6.7. Метод Гира
7.1. Метод конечных разностей для линейной граничной задачи
7.2. Метод стрельбы для линейной граничной задачи
7.3. Метод стрельбы для задачи на собственные значения
7.4. Метод конечных разностей для задачи на собственные значения
7.5. Задача Дрихле для уравнения Лапласа
8.1. Метод золотого сечения
8.2. Метод координатного спуска
8.3. Метод градиентного спуска
Краткая аннотация книги
Изложены основные методы и алгоритмы вычислительной математики. Рассмотрены особеннсюти их программной реализации на персональных ЭВМ. Приведены описания и листинги около 150 программ на языках Бейсик, Фортран и Паскаль. Параллельные тексты программ на трех языках будут полезны читателям, владеющим одним из них, для практического освоения двух других. Для научных и инженерно-технических работников различных специальностей; может быть полезна студентам вузов, изучающим программирование.
Персональные ЭВМ (ПК) широко внедряются в науку и технику, образование, управленческую деятельность, технологические процессы и т.д. Эффективность применения ПЭВМ связана в первую очередь с программным обеспечением, как с наличием готовых пакетов системных и щти здных программ, так и со способностью пользователя адаптировать их к решению конкретных задач.
Математическое моделирование процессов и явлений в различных областях науки и техники является одним из основных способов получения новых знаний и технологических решений. Для осуществления математического моделирования исследователь независимо от его специальности должен знать определенный минимальный набор алгоритмов вычислительной математики, а также владеть способами их программной реализации на ПЭВМ. Такие знания и навыки необходимы также и при использовании готовых пакетов программ, иначе будут затруднительными планирование вычислительного эксперимента и интерпретация его результатоа
В настоящее время имеется обширная литература по методам вычислений, программированию на алгоритмических языках. Однако сравнительно небольшое количество изданий объединяет эти два направления.
Из книг по вычислительной математике универсального содержания, предназначенных для лиц, не являющихся специалистами в этой области, отметим [1], в которой доступность изложения сочетается с достаточной строгостью и практической направленностью излагаемых алгоритмов. Популярность [1] среди научных работников и инженеров проявляется в многочисленных ссылках на нее в научных публикациях, связанных с вычислительным экспериментом при математическом моделировании в различных областях науки и техники. В последние годы издан ряд книг, где представлен широкий спектр методов и алгоритмов [2-7], а также работ, в которых более углубленно даны отдельные разделы вычислительной математики [8-15].
Среди книг, объединяющих изложение вычислительных алгоритмов с их реализацией на языке Бейсик, отметим [16-17], а на языке Фортран -[18-21]. Подобные работы с программами на языке Паскаль, где были бы представлены систематически методы вычислительной математики, автору не известны.
При работе на ПЭВМ широко используются языки программирования Бейсик, Фортран и Паскаль, каждый из которых имеет определенные преимущества и недостатки.
Так, для Бейсика характерны слабая структурированность, сравнительно медленная скорость выполнения программ вычислительных алгоритмов, возможность побочных эффектов за счет "перекрытия" переменных в подпрограммах. Но в то же время программы на Бейсике отличаются читаемостью и обозримостью, краткостью и наличием диалогового режима, удобством непосредственного внесения добавлений и исправлений без использования программ-редакторов и повторной компиляции программы. Такие особенности позволяют использовать Бейсик для реализации сравнительно простых алгоритмов, а также при проверке и отладке отдельных фрагментов сложных алгоритмов и программ.
Фортран отличается недостаточной структурированностью, наличием множества архаизмов, сохранившихся со времен первых ЭВМ, неконтроли-рованностью объявлений и введением новых переменных по умолчанию. Но в то же время накоплен богатый опыт применения языка и созданы обширные пакеты программ для решения прикладных задач, разработано системное математическое обеспечение и, в частности, оптимизирующие компиляторы для использования Фортрана на разных ЭВМ. Ученых и инженеров Фортран привлекает простотой работы с комплексными переменными и функциями.
В обучении программированию и практике применения ПЭВМ сейчас широко используется и язык Паскаль благодаря его структурированности, четкой и однозначной грамматике, удобству работы с файловыми структурами. Однако некоторая громоздкость записи программ из-за необходимости описания всех используемых объектов, недостаточная развитость проблемного математического обеспечения, отсутствие оптимизирующих компиляторов на некоторых ПЭВМ являются препятствием при решении задач математического моделирования на языке Паскаль.
Вследствие указанных особенностей языков программирования на разных этапах решения прикладных задач бывает выгодно использовать разные языки или совмещать их на одном этапе при программировании частей одной задачи. Так как каждый язык обладает своим набором средств для программной реализации алгоритмов, то "дословный" перевод программ с одного языка на другой не всегда возможен. Один и тот же алгоритм должен быть записан на каждом языке программирования с использованием своих изобразительных средств. Здесь возникает ситуация, подобная переводу текста с одного естественного языка на другой.
В предлагаемой книге классические методы вычислительной математики иллюстрируются параллельными программами на языках Бейсик, Фортран и Паскаль. Всего приводится около 150 законченных программ. Программы составлялись так, чтобы их было легко читать и модернизировать, брать за основу при разработке программных комплексов. Без особых трудностей программы могут быть адаптированы на другие типы ПЭВМ. В программах, где это возможно без ущерба для читаемости и простоты, минимизировано количество используемых переменных и операторов, а тексте каждого раздела приводятся краткое изложение вычислительного метода и задачи, используемой для примера, даются сведения, необходимые для перехода алгоритма метода к программе, рассматривается обобщенная блок-схема программы. Более подробные описания даны к программам на языке Бейсик, где обращается внимание на "подводные камни", объясняется логика использования тех или иных конструкций. В пояснениях к программам на языках Фортран и Паскаль обращается внимание только на отличительные особенности от программ на Бейсике.
Читатель, владеющий одним из названных языков программирования, с помощью предлагаемой книги сможет практически освоить два других.
В первой главе рассмотрены методы и алгоритмы отделения и уточнения корней трансцендентных уравнений с параметрами. В качестве примеров используются уравнения, содержащие специальные функции математической физики, среди которых функции Бесселя, эллиптические интегралы, логарифмическая производная у-функции, интегралы Френеля, интеграл вероятности. Подпрограммы вычисления этих функций можно использовать как самостоятельные отдельно от подпрограмм методов решения уравнений. В первой главе показан способ реализации вычислений с комплексными переменными на разных языках программирования.
Во второй главе рассматриваются точные и итерационные методы решения систем линейных алгебраических уравнений, вычисления определителей, обратных матриц, нахождения собственных значений матриц.
В третьей главе приводятся алгоритмы и программы интерполяции полиномами и сплайнами. Рассматриваются практические способы численного дифференцирования аппроксимирующих функций, применение интерполяции для решения уравнений и вычисления собственных значений матриц.
В четвертой главе изложены различные варианты метода наименьших квадратов, используемого для обработки экспериментальных данных, сглаживания и дифференцирования зависимостей, сокращения объемов численной информации. Приведены программы метода со степенным базисом, базисом в виде классических ортогональных полиномов и полиномов дискретной переменной, линейного варианта метода.
В пятой главе содержится изложение наиболее распространенных способов вычисления определенных интегралов и приведены программы, реализующие интерполяционные методы, методы наивысшей алгебраической точности и статистических испытаний.
В шестой главе рассмотрены алгоритмы решения задачи Коши для системы обыкновенных дифференциальных уравнений. Приведены программы методов Рунге-Кутта разных порядков, среди которых имеется вариант метода с автоматическим выбором шага интегрирования. Из многоточечных методов выбраны методы Адамса и Гира типа прогноз-коррекция.
Седьмая глава посвящена методам решения граничных задач для обыкновенных дифференциальных уравнений и уравнений в частных производных. Предлагаются программы методов стрельбы и конечных разностей для граничных задач и задач на собственные значения. В качестве примера задач последнего класса рассмотрена задача о распространении электромагнитных волн в коаксиальной волноведущей структуре.
В восьмой главе разработаны программы элементарных методов безусловной минимизации функции одной и многих переменных.
Предлагаемая книга предназначена для научных и инженерно-технических работников, не являющихся специалистами в области программирования и вычислительной математики, желающих ставить и решать прикладные задачи с помощью ПЭВМ. Автор не претендует на полноту охвата и глубину изложения выбранных методов, рассмотренный материал следует считать введением в необъятный мир вычислительной математики.
Примечание. Сохраняйте книги на мобильный телефон и скачивайте их с Вашего телефона на компьютер. Удобное скачивание книг через мобильный телефон (в память телефона) и на Ваш компьютер через мобильный интерфейс. Быстрый Интернет без излишних тэгов. Материал носит неофициальный характер и приведен для ознакомления. Прямые ссылки на файлы книг запрещены.