Вычислительная математика на смартфонах, коммуникаторах и ноутбуков с использованием программных средств Python Вычислительная математика на смартфонах, коммуникаторах и ноутбуков с использованием программных средств Python Используя программную среду Python S60, устанавливаемую на смартфоны, работающие под управлением операционной системы Symbian, авторы данной книги разработали ряд скриптов, которые решают вычислительные задачи, традиционно входящие в стандартные курсы численных методов для вузов. При написании кодов скриптов и модулей авторы ориентировались на студенческую аудиторию, знакомую с программированием по стандартным общеобразовательным курсам. Незыблемыми остаются требования надежности, правильность выполнения задачи и приемлемое быстродействие. Также в книге помещены контрольные, расчетно графические работы, пример теста по численным методам. В приложении приведены примеры скриптов, описанных в книге. Книга будет полезна для студентов инженерных специальностей, университетов, академий, технических, экономических, финансовых и экологических вузов как очной, так и заочной или дистанционной форм обучения, а также для преподавателей, ведущих практические занятия по вычислительной математике. Лань 978-5-8114-1120-7
748 руб.
Russian
Каталог товаров

Вычислительная математика на смартфонах, коммуникаторах и ноутбуков с использованием программных средств Python

Временно отсутствует
?
  • Описание
  • Характеристики
  • Отзывы о товаре
  • Отзывы ReadRate
Используя программную среду Python S60, устанавливаемую на смартфоны, работающие под управлением операционной системы Symbian, авторы данной книги разработали ряд скриптов, которые решают вычислительные задачи, традиционно входящие в стандартные курсы численных методов для вузов. При написании кодов скриптов и модулей авторы ориентировались на студенческую аудиторию, знакомую с программированием по стандартным общеобразовательным курсам. Незыблемыми остаются требования надежности, правильность выполнения задачи и приемлемое быстродействие. Также в книге помещены контрольные, расчетно графические работы, пример теста по численным методам. В приложении приведены примеры скриптов, описанных в книге. Книга будет полезна для студентов инженерных специальностей, университетов, академий, технических, экономических, финансовых и экологических вузов как очной, так и заочной или дистанционной форм обучения, а также для преподавателей, ведущих практические занятия по вычислительной математике.
Отрывок из книги «Вычислительная математика на смартфонах, коммуникаторах и ноутбуков с использованием программных средств Python»
Введение
Вычислительная математика, как известно, занимается разработкой и реализацией алгоритмов для решения самых разнообразных прикладных задач. Алгоритмическая сторона вопроса будет подробно рассмотрена в дальнейших главах книги. В частности, будут рассмотрены традиционные вопросы: численное решение линейных и нелинейных уравнений, вопросы аппроксимации и интерполяции функций, численное интегрирование, численное решение дифференциальных уравнений и т. д. Но уже сейчас хотелось бы обратить внимание читателя на важнейшее требование, предъявляемое к любому численному алгоритму, — это его устойчивость. Коротко говоря, под устойчивостью в классической математике понимают непрерывную зависимость решения задачи от исходных данных и параметров. Помимо этого, вычислительная математика учитывает влияние на решение задачи разнообразных ошибок. Прежде всего, здесь идет речь об ошибках метода и ошибках округления. Ошибки метода возникают в большинстве своем при переходе от бесконечных процессов к конечным (например, ряд заменяется конечной суммой и т. д.). Ошибки округления связаны прежде всего с особенностями машинной арифметики, именно с ее конечноразрядностью. На каждой итерации, в каждом узле сетки (а их число достигает подчас десятков и сотен тысяч) приходится проводить однотипные вычисления с некоторой, пусть даже малой, машинной погрешностью. Устойчивый вычислительный алгоритм обязан не допустить развития этой погрешности на каждой итерации, и более того, он должен обеспечить ее уменьшение или стремление к нулю при увеличении числа вычислительных циклов.
Остановимся более подробно на реализации численных алгоритмов. Здесь речь прежде всего идет о применении той или иной вычислительной техники, главным образом компьютеров. Всякий компьютер состоит из аппаратной (hardware) и программной (software) компонент и предназначен для ввода информации, ее обработки и последующего вывода полученных результатов. Если расположить компьютеры в порядке убывания аппаратно-программных мощностей, то получится следующий ряд: настольные компьютеры ® ноутбуки ® карманные компьютеры ® смартфоны и коммуникаторы. Бесспорное лидерство в этом ряду принадлежит настольным компьютерам (desktop) и ноутбукам (notebook) с их мощнейшими аппаратными компонентами (тактовая частота CPU ~ 3500 МГц, оперативная память RAM до 4 Гб) и программными средами (операционные системы: Windows Vista, Windows XP, Linux, математические пакеты символьных вычислений Mathcad, Maple и др.). Гораздо более скромными возможностями обладают «меньшие братья» — карманные компьютеры (частота CPU ~ 400 МГц, оперативная память RAM до 256 Мб, операционные системы Palm, Windows Mobile 6), смартфоны и коммуникаторы (частота CPU ~ 300 МГц, оперативная память RAM до 128 Мб, операционные системы Symbian S60 1st, 2nd, 3rd Edition, Symbian UIQ).
В этой книге в качестве инструмента для реализации алгоритмов вычислительной математики мы рассмотрим именно смартфоны с операционной системой Symbian, снабженные программной платформой S60, которая специально была разработана для них компанией Nokia. Почему сделан такой выбор? Есть несколько причин. Во-первых, реализации численных алгоритмов на настольных компьютерах с применением математических пакетов символьных вычислений Maple, MathCad, Matlab и др. посвящена обширная литература. И не имеет особого смысла повторять сказанное уже много раз (кстати, существует онлайн-версия imatlab (http://artspb.com/minimatlab), доступная для любого мобильного телефона с поддержкой GPRS и Java через браузер miniopera (www.opera.com)). Во-вторых, в настоящее время активно формируется тенденция к мобильности и автономности компьютерной техники (современные ноутбуки с диагональю дисплея 11 дюймов весят около 1,2 кг, и даже эти параметры мобильности не удовлетворяют многих пользователей, не говоря уже о высокой стоимости этих компьютеров, превосходящей в 3–4 раза стоимость современных смартфонов), которая в дальнейшем будет только усиливаться. И наконец, в-третьих, возвращаясь к вопросу об автономности мобильных устройств, здесь необходимо отметить, что в последнее время появились программные среды, которые устанавливаются непосредственно на смартфоны (или коммуникаторы) и способны функционировать самостоятельно и независимо от настольных компьютеров (или ноутбуков). Справедливости ради стоит отметить, что функциональность этих мобильных программных сред пока заметно уступает соответствующим аналогам больших машин. Однако нет никаких сомнений, что в будущем эти различия будут выравниваться и исчезать.
Рассмотрим теперь основные из этих мобильных программных сред. Здесь речь идет о четырех вполне автономных средах разработки: Python S60, mShell, Ruby и DROS (Basic). Начнем обзор с конца. DROS (Basic) выполнен в виде эмулятора DOS и является Java-мидлетом (т. е. приложением, написанным на языке Java). Этот мидлет позволяет запускать файлы с расширением .bas — программы на языке Basic. Разработка программ происходит непосредственно на смартфоне с помощью удобного редактора текста программы. Распространяется эта среда бесплатно (www.whoredoeuvre.com). Программная среда Ruby (www.ruby-lang.org) обладает существенным недостатком: полностью отсутствует доступ к телефонным функциям смартфона. Однако математические вычисления и работа с интернетом здесь на высоте. К сожалению, Ruby существует только для Symbian S60 2nd Edit, и это главный сдерживающий фактор.
И наконец, почти равноценные программные среды mShell (www.mshell.net) и Python (www.python.org), распространяемые бесплатно (правда, mShell требует регистрации), поддерживают смартфоны с Symbian S60 2nd и 3rd Edit. Недостатком mShell является запуск приложений только из своей среды (Python-программы могут быть запущены самостоятельно под Symbian S60 после переработки в sis-файл). Однако и Python имеет существенный недостаток — отсутствие встроенного текстового редактора, что приводит к использованию дополнительных сторонних приложений. В этой книге для реализации алгоритмов вычислительной математики мы будем использовать Python S60.
При написании кодов скриптов и модулей авторы ориентировались на студенческую аудиторию, знакомую с программированием по стандартным общеобразовательным курсам. Естественно при этом краткость и изящество кода уступают перед простотой, доступностью, а подчас и его прямолинейностью. Незыблемыми остаются требования надежности, правильность выполнения задачи и приемлемое быстродействие. Например, функцию для транспонирования матрицы А можно написать в одну строчку:
tran=lambda A:map(list,apply(map,[None]+A)).
Однако этот «ребусоподобный» код едва ли будет понятен студенту, не искушенному в программировании.
Другой вариант кода той же функции tran(A) (см. приложение, пример Р4 (модуль mls)) состоит из девяти строк, но он может быть написан практически любым студентом, ознакомившимся с первой главой этой книги. По этой же причине в книге не используется объектно-ориентированный подход к программированию. Как известно, ООП (объектно-ориентированное программирование) не является обязательным к применению при программировании на языке Python и используется в основном в больших проектах.
Книга состоит из введения и девяти глав.
В первой главе рассмотрены некоторые основные вопросы, связанные с языком программирования Python, а также его реализацией для смартфонов — Python S60.
Во второй главе рассматривается элементарная теория погрешностей, изложены особенности конечно-разрядной арифметики и основы погрешности вычислений, приведены примеры построения графиков функций с использованием языка Python.
В третьей главе рассматриваются как традиционные методы решения нелинейных уравнений, так и метод физических аналогий. Решаются стандартные задачи с помощью скриптов, написанных на Python S60. В програм­мных кодах не используется объектно-ориентированный подход и поэтому все скрипты вполне доступны для начинающих. Значительное внимание уделяется поискам длины интервала неопределенности корня уравнения, а также оценке числа обусловленности.
Четвертая глава посвящена методам решения систем линейных алгебраических уравнений. Обсуждаются вопросы оценки относительной погрешности с помощью числа обусловленности. Излагаются основы метода Гаусса–Жордана, итерационных методов, метода прогонки, метода Зейделя.
В пятой главе книги рассматриваются некоторые методы условной и безусловной оптимизации. В дополнение к некоторым широко используемым на практике методам изложен предложенный И. А. Соловьевым метод искусственной гравитации.
В шестой главе представлены методы приближения функций. Рассмотрен как классический МНК, так и его модификация, учитывающая погрешности и функции, и аргумента. Дано описание задачи интерполяции, в частности рассмотрена интерполяция сплайнами.
Седьмая глава посвящена численному интегрированию.
В восьмой и девятой главах рассмотрены некоторые важные для практики задачи: разностные схемы для уравнений в частных производных, метод Монте-Карло и другие.
Также в книге помещены контрольные, расчетно-графические работы, пример теста по численным методам.
В приложении приведены примеры скриптов, описанных в тексте книги.
Авторы не ставили своей целью охватить весь материал вычислительных методов, кроме того, в книге не содержатся доказательства теорем и вывод формул. В то же время обсуждаются многие характерные особенности применения конечно-разрядной арифметики. Главная цель книги — изложить процедуры решения вычислительных задач с использованием языка Python и мобильных телефонов.
Авторы надеются, что книга окажется полезной для студентов, изучающих численные методы и вычислительную математику, а также для преподавателей, проводящих семинарские занятия по этим предметам. В настоящее время трудно найти студента, не имеющего мобильного телефона. При этом, естественно, студенты отдают предпочтение телефонам с операционной системой, имеющим гораздо большую функциональность и целый ряд других возможностей, недоступных для обычных мобильных аппаратов с «прошивкой» (стоимость этих аппаратов вполне сопоставима, если, конечно же, не рассматривать топовые модели, например Nokia N97 и т. д.). Может быть, данная книга поможет студентам раскрыть еще одну возможность смартфонов и коммуникаторов — полноценная, автономная и оперативная реализация алгоритмов вычислительной математики.
Для руководителей вузов с введением предлагаемой системы преподавания предметов с использованием мобильных телефонов появляются возможности экономии на энергообеспечении существующих лабораторий со стационарно установленными персональными компьютерами, возможности дистанционного общения со студентами, когда не требуется собрать всех в одной аудитории. Кроме того, имеющее место вредное экологическое воздействие телефонов на пользователя слишком мало по сравнению с аналогичным воздействием персонального компьютера.

Оставить заявку на описание
?
Содержание
Введение .......... 5
Глава первая. Основы Python S60 .......... 11
1.1. Установка Python S60 на смартфон .......... 11
1.2. Основы языка программирования Python .......... 13
1.3. Особенности Python S60 .......... 31
Глава вторая. Элементарная теория погрешностей. Особенности конечноразрядной арифметики .......... 41
2.1. Погрешности вычислений и машинная арифметика .......... 41
2.2. Табулирование функции и построение графика .......... 51
Глава третья. Численные методы анализа математических моделей, описываемых уравнением с одним неизвестным .......... 54
3.1. Постановка задачи и описание метода .......... 54
3.2. Метод бисекции .......... 56
3.3. Метод простой итерации .......... 58
3.4. Метод Ньютона .......... 62
3.5. Метод физических аналогий .......... 65
3.6. Интервал неопределенности корня. Число обусловленности задачи .......... 68
Глава четвертая. Численные методы анализа математических моделей, описываемых системами линейных алгебраических уравнений .......... 72
4.1. Постановка задачи .......... 72
4.2. Обусловленность системы линейных алгебраических уравнений .......... 73
4.3. Алгоритм метода Гаусса–Жордана .......... 79
4.4. Модуль msl для работы с матрицами и линейными системами .......... 87
4.5. Метод прогонки для решения СЛАУ .......... 94
4.6. Метод простых итераций для решения линейных систем .......... 96
4.7. Метод Зейделя для решения СЛАУ .......... 101
Глава пятая. Численные методы оптимизации .......... 105
5.1. Одномерная оптимизация, метод золотого сечения .......... 105
5.2. Особенности метода золотого сечения .......... 110
5.3. Многомерная оптимизация. Постановка задачи. Характеристика методов оптимизации .......... 114
5.4. Общая структура расчетных итерационных методов поиска экстремума функции нескольких независимых переменных .......... 114
5.5. Критерии остановки итерационного процесса нахождения минимума (критерии достижения требуемой точности e) .......... 115
5.6. Методы градиентного спуска .......... 116
5.7. Метод искусственной гравитации .......... 122
5.8. Метод покоординатного спуска .......... 125
Глава шестая. Приближение функций .......... 126
6.1. Постановка задачи интерполяции .......... 126
6.2. Линейная интерполяция таблиц .......... 127
6.3. Интерполяционный многочлен Лагранжа .......... 128
6.4. Метод наименьших квадратов. Постановка задачи .......... 129
6.5. Описание метода наименьших квадратов .......... 130
6.6. Второй вариант постановки задачи обработки табличных данных по МНК .......... 133
6.7. Обработка данных измерений с помощью метода наименьших квадратов, который учитывает погрешности всех измеряемых величин .......... 137
6.8. Метод падающих прямоугольников для обработки осциллирующих кривых .......... 140
6.9. Расчеты информационной энтропии для различных сценариев поведения логистической модели .......... 143
Глава седьмая. Численное интегрирование .......... 144
7.1. Постановка задачи и описание метода .......... 144
7.2. Формулы прямоугольников .......... 145
7.3. Метод трапеций .......... 148
7.4. Метод Симпсона (метод парабол) .......... 150
7.5. Общие замечания о погрешности численного интегрирования .......... 152
7.6. Вычисление несобственных интегралов .......... 154
7.6.1. Несобственные интегралы с бесконечными пределами интегрирования (несобственные интегралы первого рода) .......... 154
7.6.2. Несобственные интегралы с бесконечными особенностями в подынтегральной функции (несобственные интегралы
второго рода) .......... 156
7.6.3. Сведение несобственного интеграла одного рода к несобственному интегралу другого рода .......... 158
7.7. Основы метода Монте-Карло .......... 159
Глава восьмая. Численные методы анализа моделей, описываемых при помощи задачи Коши .......... 164
8.1. Метод Эйлера .......... 164
8.2. Метод Рунге–Кутта второго и четвертого порядков точности .......... 168
Глава девятая. Алгоритмы численного решения некоторых задач для уравнений в частных производных .......... 170
9.1. Основные положения теории разностных схем .......... 170
9.2. Алгоритм решения краевой задачи для уравнений Пуассона и Лапласа .......... 182
9.3. Алгоритм решения первой задачи для волнового уравнения .......... 186
9.4. Реализация теории разностных схем на примере начально-краевой задачи для нестационарного уравнения теплопроводности .......... 188
Контрольные работы .......... 192
Расчетно-графические задания .......... 210
Тест по прикладной математике .......... 222
Приложение .......... 227
Предметный указатель .......... 260
Список использованной литературы .......... 261
Аудитория:   Для специалистов
Бумага:   Офсет
Масса:   300 г
Размеры:   205x 130x 17 мм
Тираж:   1 500
Литературная форма:   Учебно-практическое пособие
Тип иллюстраций:   Черно-белые
Отзывы
Найти пункт
 Выбрать станцию:
жирным выделены станции, где есть пункты самовывоза
Выбрать пункт:
Поиск по названию улиц:
Подписка 
Введите Reader's код или e-mail
Периодичность
При каждом поступлении товара
Не чаще 1 раза в неделю
Не чаще 1 раза в месяц
Мы перезвоним

Возникли сложности с дозвоном? Оформите заявку, и в течение часа мы перезвоним Вам сами!

Captcha
Обновить
Сообщение об ошибке

Обрамите звездочками (*) место ошибки или опишите саму ошибку.

Скриншот ошибки:

Введите код:*

Captcha
Обновить