Главная Литература Математика, численные методы Мак-Кракен Д., Дорн У. Численные методы и программирование на Фортране

Мак-Кракен Д., Дорн У. Численные методы и программирование на Фортране

Печать PDF

ПЕРЕВОД С АНГЛИЙСКОГО Б. Н. КАЗАКА

ПОД РЕДАКЦИЕЙ И С ДОПОЛНЕНИЕМ Б. М. НАЙМАРКА

Издание второе, стереотипное ИЗДАТЕЛЬСТВО «МИР» Москва   1977

Книга является руководством по структуре и использованию алгоритмического языка ФОРТРАН при решении вычислительных задач на современных электронных машинах.

Специфика и простота трансляторов для ФОРТРАНа, эффективность оттранслированных программ и методика выявления и оценки ошибок выгодно отличают этот язык от других алгоритмических языков. Все это обусловило широкое внедрение ФОРТРАНа в технику программирования за рубежом.

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

Объединение численных методов и основ программирования на ФОРТРАНе делает эту книгу полезной для широкого круга читателей, как для студентов и аспирантов втузов, так и для инженеров и специалистов по теории программирования.

Редакция литературы по математическим наукам

©Перевод на русский язык, "Мир", 1977 041(01) – 77

Оглавление книги Численные методы и программирование на Фортране
Предисловие редактора перевода
К второму изданию
Предисловие
Глава 1. Основы программирования на Фортране
1.1 Применение цифровых вычислительных машин
1.2. Последовательные этапы в «решении задачи» с помощью ЭЦВМ
1.3. Программа на Фортране
1.4. Константы. Упражнения
1.5. Переменные и наименование переменных. Упражнения
1.6. Операции и выражения. Упражнения
1.7. Математические функции
1.8. Арифметические операторы. Упражнения
1.9. Ввод и вывод. Упражнения
1.10. Передача управления. Операторы GO ТО и IF. Упражнения
1.11. Операторы PAUSE, STOP и END. Упражнения
1.12. Написание программы, ее перфорация на перфокартах и постановка ее на ЭЦВМ
1.13. Практический пример 1: Площадь треугольника

Глава 2. Ошибки
2.1. Введение
2.2. Относительные и абсолютные ошибки
2.3. Ошибки, содержащиеся в исходной информации
2.4. Ошибки ограничения
2.5. Ошибки округления
2.6. Распространение ошибок
2.7. Графы вычислительных процессов
2.8. Примеры
2.9. Памятка программисту
Упражнения

Глава 3. Практическое вычисление функций
3.1. Введение
3.2. Степенные ряды
3.3. Полиномы Чебышева
3.4. Экономизация степенных рядов
3.5. Вычисление ряда
3.6. Рациональные приближения и непрерывные дроби
3.7. Элементарные функции
3.8. Практический пример 3: Ошибки при прямом вычислении синуса по ряду Тейлора
Упражнения

Глава 4. Некоторые простые программы
4.1. Введение
4.2. Практический пример 4: Расчет колонны
4.3. Частотная характеристика сервомеханизма. Отладка программы
4.4. Практический пример 6: Интеграл вероятностей

Глава 5. Численное решение уравнений
5.1. Введение
5.2. Метод последовательных приближений
5.3. Усовершенствованный метод последовательных приближений
5.4. Метод Ньютона — Рафсона
5.5. Случай почти равных корней
5.6. Сравнение методов и их ошибок округления
5.7. Корни многочленов
5.8. Влияние неточности коэффициентов многочлена
5.9. Системы уравнений
5.10. Комплексные корни
5.11. Нахождение исходного приближения
5.12. Практический пример 7: Процесс роста монокристалла из пара
Упражнения

Глава 6. Численное интегрирование
6.1. Введение
6.2. Правило трапеций
6.3. Ошибка ограничения для метода трапеций
6.4. Ошибки округления при использовании метода трапеций
6.5. Экстраполяционный переход к пределу
6.6. Правило Симпсона
6.7. Метод Гаусса
6.8. Численные примеры и сравнение методов
6.9. Практический пример 8: Светимость электрической лампочки
Упражнения

Глава 7. Переменные с индексами и оператор DO
7.1. Определения
7.2. Примеры использования переменных с индексами
7.3. Для чего нужны переменные с индексами?
7.4. Оператор DIMENSION
7.5. Допустимые формы индексов
7.6. Оператор DO
7.7. Дальнейшие определения
7.8. Правила использования оператора DO
7.9. Дальнейшие примеры использования оператора DO
7.10. Практический пример 9: Линейная интерполяция
Упражнения

Глава 8. Системы линейных алгебраических уравнений
8.1. Введение
8.2. Метод исключения (метод Гаусса)
8.3. Ошибки округления
8.4. Уточнение решения
8.5. Влияние погрешностей коэффициентов. Достижимая точность решения
8.6. Итерационные методы решения систем линейных уравнений
8.7. Сравнение методов
8.8. Практический пример 10: Проведение кривой методом наименьших квадратов. Упражнения

Глава 9. Функции, подпрограммы и вспомогательные операторы
9.1. Введение
9.2. Функции, предусмотренные в программе-трансляторе
9.3. Арифметический оператор-функция
9.4. Подпрограммы FUNCTION и SUBROUTINE
9.5. Таблица основных характеристик функций и подпрограмм
9.6. Операторы EQUIVALENCE и COMMON
9.7. Практический пример 11: Решение квадратных уравнений с помощью подпрограмм. Упражнения

Глава 10. Обыкновенные дифференциальные уравнения
10.1. Введение
10.2. Решение с помощью рядов Тейлора
10.3. Методы Рунге — Кутта
10.4. Анализ ошибок, возникающих при использовании методов Рунге — Кутта
10.5. Методы прогноза и коррекции
10.6. Анализ ошибок при использовании методов прогноза и коррекции
10.7. Достижимая точность
10.8. Сравнение методов
10.9. Практический пример 12: Полет сверхзвукового самолета. Упражнения

Глава 11. Уравнения в частных производных
11.1. Введение и некоторые определения
11.2. Разностные уравнения
11.3. Эллиптические уравнения
11.4. Решение эллиптического разностного уравнения
11.5. Гиперболические уравнения
11.6. Решение гиперболического разностного уравнения
11.7. Параболические уравнения
11.8. Решение параболического разностного уравнения
11.9. Практический пример 13: Распределение температуры в трубе квадратного сечения. Упражнения

Приложение 1. Сводка методов ввода и вывода информации в ФОРТРАНе
П.1.1. Основные сведения
П.1.2. Список переменных в операторе ввода — вывода
П.1.3. Оператор FORMAT
П.1.4. Дополнительные приемы построения оператора FORMAT
П.1.5. Операции с магнитной лентой

Приложение 2. Некоторые употребительные математические формулы
Ответы к упражнениям

Дополнение. Сводка основных правил программирования на языке ФОРТРАН. Б. М. Наймарк
Д.1. Основные символы языка ФОРТРАН
Д.2. Числа
Д.З. Переменные без индексов
Д.4. Индексы
Д.5. Переменные с индексами
Д.6. Выражения
Д.7. Функции
Д.8. Операторы
Д.9. Описательные операторы
Д.10. Исполнимые операторы
Д.11. Примечания


ПРЕДИСЛОВИЕ

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

Основное внимание в книге уделено тщательно подобранным и весьма полезным практическим методам исследования различных численных задач, встречающихся в современной науке и технике. Изложенные в книге методы полезны не только сами по себе, но они к тому же подготавливают читателя для изучения более сложных методов и помогают понять их во всей глубине. Точно так же, как физику необходимо иметь интуитивное понятие об инерции до того, как он сможет глубоко изучить механику, так и изучение численных методов должно предшествовать тщательному изучению численного анализа. Цель книги, таким образом, двойная: дать читателю необходимые знания для практических вычислений и заложить основы для дальнейшего изучения предмета.

Объединение численных методов и программирования на ФОРТРАНЕ — это гораздо больше, нежели просто издание двух обычных книг в общей обложке. Сведения по программированию на ФОРТРАНЕ появляются в книге в том порядке, в котором это требуется для различных классов задач и для соответствующих им методов численного решения. Основные примеры программирования также в большинстве случаев иллюстрируют те или иные численные методы. Очень важно также, что во всей книге используются современные понятия. Например, весьма важный вопрос об ошибках округления трактуется в терминах арифметики с плавающей запятой (арифметики нормализованных чисел с постоянным количеством значащих цифр в мантиссе), введенные там же графические представления о вычислительных процессах облегчают полное понимание.

Численные методы, включенные в книгу, были тщательно проанализированы с точки зрения их пригодности для использования на цифровых вычислительных машинах.

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

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

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

Тринадцать практических примеров включены в книгу по трем причинам. Во-первых, необходимо было проиллюстрировать тот материал, который относится к численным методам и к программированию. Во-вторых, нужно было показать, как различные аспекты численных методов и программирования взаимодействуют и сочетаются между собой. (В связи с этим в нескольких практических примерах показаны последствия легкомысленного подхода к ошибкам вычисления.) В-третьих, необходимо было дать понятие о диапазоне областей науки и техники, в которых могут использоваться вычислительные машины. Содержание практических примеров, однако, таково, что понимание материала не зависит от степени знакомства читателя с данной областью науки или техники. Во многих случаях в книге воспроизведена печать на выходном бланке вычислительной машины.

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

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

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

Мы с большой признательностью отмечаем сотрудничество тех, кто помогал нам в написании и подготовке этой книги: мисс Агнесы Кульке и Джеймса Грисмера из IBM, Уильяма Найбека из инженерного колледжа Милуоки, Фреда Гринбергера из РЭНД Корпорейшен, Джека Хол-лингсуорта и Поля Макслойна из политехнического института Реннселера, Юджина Голуба и Гарольда Р. ван Зорена из Стэнфордского университета и Чарльза Дэвидсона из Висконсинского университета. Помощь этих специалистов была для нас очень ценной: своим участием они помогли сформировать эту книгу во многих очень важных деталях. Наконец, мы выражаем свою признательность фирме IBM, ив частности доктору Герману X. Голдстайну, без поддержки и участия которого эта книга не была бы написана.

Даниель Д. Мак-Кракен
Уильям С. Дорн

Скачать книгу Мак-Кракен Д., Дорн У. Численные методы и программирование на Фортране. Издательство "Мир", Москва, 1977
 

Мировые новости

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

Подробнее ...