Книги. Скачать книги DJVU, PDF бесплатно. Бесплатная электронная библиотека
Д. Мак-Кракен, У. Дорн, Численные методы и программирование
Вы можете найти на этой странице (программа отметит желтым цветом)
Вы можете посмотреть список книг по высшей математике с сортировкой по алфавиту.
Вы можете посмотреть список книг по высшей физике с сортировкой по алфавиту.
Бесплатно скачать книгу, объем 3.97 Мб, формат .djvu
Актуальный фрагмент издания с образцами программ, 1977 год
Всем, кто знает современные языки программирования, прочитать алгоритмы в этой книге будет несложно (обучение языку Фортран было изъято из данной публикации как неактуальное, а все приводимые в издании алгоритмы сохранены)
Уважаемые дамы и господа !! Для того, чтобы без "глюков" скачать файлы электронных публикаций, нажмите на подчеркнутую ссылку с файлом ПРАВОЙ кнопкой мыши, выберите команду "Save target as ..." ("Сохранить объект как ...") и сохраните файл электронной публикации на локальный компьютер. Электронные публикации обычно представлены в форматах Adobe PDF и DJVU.
Глава 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: Распределение температуры в трубе квадратного сечения
Приложение 2. Некоторые употребительные математические формулы
Краткая аннотация книги
С середины прошлого века в связи с развитием компьютеров постоянно разрабатываются новые алгоритмические языки для программирования. Однако среди многих десятков таких языков, разработанных за рубежом, ФОРТРАН был самым распространенным и употребительным для старых ЭВМ (хотя владелец этого веб-сайта терпеть не может Фортран, так как это язык неструктурного программирования, но ведь он был...). Подавляющее большинство программ для вычислительных задач в различных областях науки и техники было составлено именно на ФОРТРАНе. Разработаны и накоплены обширнейшие математические программные библиотеки на этом языке, включающие как стандартные (часто используемые) программы, так и множество специальных программ, применяемых для решения специфических задач.
Данная книга может оказаться очень полезной для инженерных и научных расчетов. В ней хорошо изложены программирование на Фортране и основы приближенных вычислений. Эти две области, обычно отделяемые друг от друга, в данной книге тесно переплетаются. При этом благодаря отсутствию скрупулезности все доказательства становятся прозрачными, а программы - понятными. Прочитать программы и алгоритмы в этой книге программистам не составит никакого труда даже после изъятия мною обучающих глав.
За годы, прошедшие после выхода этого издания, эта книга нисколько не устарела, а, наоборот, стала еще более актуальной. Несмотря на появление новых алгоритмических языков, как специализированных, так и универсальных, алгоритмы на Фортране даже сегодя остаются актуальными с точки зрения их перевода на более современные языки программирования (серверные и клиентские). Эта книга должна дать читателю, специализирующемуся в области техники или науки, основные понятия о численном решении различных физико-матеамтических задач - благо, что вычислительные мощности современных настольных компьютеров (по заверениям ведущих менеджеров и специалистов корпорации Intel) с 2007-2008 года стали приближаться к старым вычислительным мэйн-фрэймам типа IBM ЕС конца 80-х годов прошлого века.
Основное внимание в книге уделено тщательно подобранным и весьма полезным практическим методам исследования различных численных задач, встречающихся в современной науке и технике. Изложенные в книге методы полезны не только сами по себе, но они к тому же подготавливают читателя для изучения более сложных методов и помогают понять их во всей глубине. Точно так же, как физику необходимо иметь интуитивное понятие об инерции до того, как он сможет глубоко изучить механику, так и изучение численных методов должно предшествовать тщательному изучению численного анализа. Цель книги, таким образом, двойная: дать читателю необходимые знания для практических вычислений и заложить основы для дальнейшего изучения предмета.
Основные примеры программирования также в большинстве случаев иллюстрируют те или иные численные методы. Очень важно также, что во всей книге используются современные понятия. Например, весьма важный вопрос об ошибках округления трактуется в терминах арифметики с плавающей запятой (арифметики нормализованных чисел с постоянным количеством значащих цифр в мантиссе), введенные там же графические представления о вычислительных процессах облегчают полное понимание.
Численные методы, включенные в книгу, были тщательно проанализированы с точки зрения их пригодности для использования на цифровых вычислительных машинах.
Поскольку изучение интерполяции не имело для этой книги особой методической ценности и поскольку интерполяция при машинных вычислениях гораздо менее важна, чем при ручных, вопросы, связанные с ней, излагаются кратко. Еще одна традиционная тема также не нашла отражения на страницах этой книги - операции с матрицами. Причиной этого является то, что многие из предполагаемых читателей книги не владеют теорией матриц и линейных преобразований.
Читатель, изучивший настоящую книгу, конечно, не может считаться специалистом по численному анализу, отчасти именно из-за отсутствия этих традиционных тем. Тем не менее мы убеждены, что имеет большой смысл изучить материал этой книги до того, как начать детальное изучение более полных курсов численного анализа: материал книги дает для этого достаточную основу.
Главы, посвященные численным методам, в большинстве случаев начинаются с геометрической трактовки задачи. Как правило, такая трактовка позволяет наглядно представить смысл задачи и наметить пути ее решения. Затем основные результаты подтверждаются аналитически и, наконец, метод конкретизируется с помощью практических примеров. Мы надеемся, что такой подход приводит к наиболее быстрому и глубокому пониманию материала.
Тринадцать практических примеров включены в книгу по трем причинам. Во-первых, необходимо было проиллюстрировать тот материал, который относится к численным методам и к программированию. Во-вторых, нужно было показать, как равличные аспекты численных методов и программирования взаимодействуют и сочетаются между собой. (В связи с этим в нескольких практических примерах показаны последствия легкомысленного подхода к ошибкам вычисления.) В-третьих, необходимо было дать понятие о диапазоне областей науки и техники, в которых могут использоваться вычислительные машины. Содержание практических примеров, однако, таково, что понимание материала не зависит от степени знакомства читателя с данной областью науки или техники.
На основе одного из ранних вариантов этой книги читался курс лекций группам студентов, начиная от студентов младших курсов технических факультетов до выпускников математических факультетов. Естественно, преподавателю необходимо отбирать темы и видоизменять примеры для приведения курса в соответствие с интересами и возможностями группы. Весьма сильно может помочь в этом отбор упражений, тем более что количество и разнообразие упражнений вполне позволяют этот отбор сделать.
На основе этой книги можно построить лекционный курс на один семестр (по четыре часа занятий в неделю), если у студентов имеется возможность работать на вычислительной машине и если ожидается, что студенты выполнят достаточно большое число упражнений. С другой стороны, книгу можно использовать и в качестве пособия при гораздо более кратком курсе; для этого можно ограничиться меньшим числом упражнений или пропустить некоторые главы. Более того, главы, посвященные численным методам, не очень жестко связаны между собой. Преподаватель, который пожелает, например, уделить меньше внимания главе 3 о вычислении функций и сконцентрировать внимание аудитории на системах линейных уравнений, довольно легко может это сделать. Возможны и многие другие способы построения учебного курса на основе этой книги.
Мы с большой признательностью отмечаем сотрудничество тех, кто помогал нам в написании и подготовке этой книги: мисс Агнесы Кульке и Джеймса Грисмера из IBM, Уильяма Найбека из инженерного колледжа Милуоки, Фреда Гринбергера из РЭНД Корпорейшен, Джека Хол-лингсуорта и Поля Макслойна из политехнического института Реннселера, Юджина Голуба и Гарольда Р. ван Зорена из Стэнфордского университета и Чарльза Дэвидсона из Висконсинского университета. Помощь этих специалистов была для нас очень ценной: своим участием они помогли сформировать эту книгу во многих очень важных деталях. Наконец, мы выражаем свою признательность фирме IBM, и в частности доктору Герману X. Голдстайну, без поддержки и участия которого эта книга не была бы написана.
Даниель Д. Мак-Кракен, Уильям С. Дорн (текст отредактирован)