Книжная полка Сохранить
Размер шрифта:
А
А
А
|  Шрифт:
Arial
Times
|  Интервал:
Стандартный
Средний
Большой
|  Цвет сайта:
Ц
Ц
Ц
Ц
Ц

Программирование и основы алгоритмизации. Теоретические основы и примеры реализации численных методов

Покупка
Основная коллекция
Артикул: 432450.04.01
К покупке доступен более свежий выпуск Перейти
Рассмотрены наиболее часто используемые при решении инженерных задач вычислительные методы: решения задач линейной алгебры и нелинейных уравнений, теории приближения функций, численного дифференцирования и интегрирования, решения обыкновенных дифференциальных уравнений и одномерных краевых задач. Приводится обширный справочный материал. Для студентов и аспирантов технических вузов и факультетов, а также для инженеров и научных работников, использующих вычислительные методы.
124
Затонский, А. В. Программирование и основы алгоритмизации. Теоретические основы и примеры реализации численных методов: учебное пособие / А.В. Затонский, Н.В. Бильфельд. — 2-е изд. — Москва : РИОР : ИНФРА-М, 2020. — 167 с. — (Высшее образование). — DOI: https: //www.dx.doi.org/10.12737/20468. - ISBN 978-5-369-01195-9. - Текст : электронный. - URL: https://znanium.com/catalog/product/1077389 (дата обращения: 19.04.2024). – Режим доступа: по подписке.
Фрагмент текстового слоя документа размещен для индексирующих роботов. Для полноценной работы с документом, пожалуйста, перейдите в ридер.
ПРОГРАММИРОВАНИЕ 
И  ОСНОВЫ  АЛГОРИТМИЗАЦИИ

ТЕОРЕТИЧЕСКИЕ  ОСНОВЫ  И  ПРИМЕРЫ 
РЕАЛИЗАЦИИ  ЧИСЛЕННЫХ  МЕТОДОВ

УЧЕБНОЕ ПОСОБИЕ

Москва
РИОР
ИНФРА-М

А.В. ЗАТОНСКИЙ
Н.В. БИЛЬФЕЛЬД

Допущено Учебно-методическим объединением вузов 
по образованию в области автоматизированного  
машиностроения (УМО АМ) в качестве  
учебного пособия для студентов  
высших учебных заведений, обучающихся  
по направлению подготовки дипломированных  
специалистов «Автоматизация технологических  
процессов и производств»

Второе издание

УДК 681.5(075.8)
ББК 30я73
 
З-37

Р е ц е н з е н т ы :
д-р техн. наук, профессор А.Г. Шумихин; 
канд. техн. наук, профессор В.Ф. Беккер

Затонский А.В., Бильфельд Н.В.
З-37  
Программирование и основы алгоритмизации. Теоретические 
основы и примеры реализации численных методов: учебное пособие /  
А.В. Затонский, Н.В. Бильфельд. — 2-е изд. — Москва : РИОР : 
ИНФРА-М, 2020. — 167 с. — (Высшее образование). — DOI: https: // 
www.dx.doi.org/10.12737/20468
ISBN 978-5-369-01195-9 (РИОР)
ISBN 978-5-16-006671-4 (ИНФРА-М, print)
ISBN 978-5-16-105226-6 (ИНФРА-М, online)

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

УДК 681.5(075.8)
ББК 30я73

© Затонский А.В., 
Бильфельд Н.В.

ISBN 978-5-369-01195-9 (РИОР)
ISBN 978-5-16-006671-4 (ИНФРА-М, print)
ISBN 978-5-16-105226-6 (ИНФРА-М, online)

ФЗ 
№ 436-ФЗ
Издание не подлежит маркировке 
в соответствии с п. 1 ч. 4 ст. 11

ПРЕДИСЛОВИЕ

Инженер по направлению подготовки «Автоматизированные 
технологии и производства» в соответствии с требованиями Государственного образовательного стандарта (ГОС) может занимать 
непосредственно после окончания вуза должности инженера по автоматизированным системам управления производством или инженера-программиста (программиста). Область его профессиональной 
деятельности в этом случае включает в себя совокупность средств, 
способов и методов деятельности, направленных на разработку и 
применение алгоритмического, аппаратного и программного обеспечения систем и средств контроля и управления ими, включая 
разработку их математического, программного, информационного 
и технического обеспечения, а также методы, способы и средства их 
проектирования, изготовления, отладки, производственных испытаний и научного исследования в различных отраслях национального хозяйства.
На основании перечисленных требований в федеральный компонент ГОС включена дисциплина «Программирование и основы 
алгоритмизации», содержащая следующие дидактические единицы:
основные виды, этапы проектирования и жизненный цикл программных продуктов; синтаксис и семантика алгоритмического языка программирования; структурное и модульное программирование; типизация и структуризация программных данных; статические и динамические данные; сложные структуры данных (списки, деревья, сети); 
потоки ввода-вывода; файлы; проектирование программных алгоритмов (основные принципы и подходы); классы алгоритмов; методы частных целей, подъемы ветвей и границ, эвристика; рекурсия и итерация; 
сортировка и поиск; методы и средства объектно-ориентированного 
программирования; стандарты на разработку прикладных программных 
средств; документирование, сопровождение и эксплуатация программных средств.
Изучение всего этого в отрыве от общих целей и задач автоматизации может привести к потере интереса и представлений  
о возможности использования результатов обучения в практической 
деятельности. С другой стороны, в практике создания средних и 
 высоких уровней современных CALS- и SCADA-систем часто встречается потребность интегрировать в программный продукт средства 

реализации тех или иных численных методов. При этом использование средств математических пакетов (MathCAD, MathLAB, Excel) 
невозможно из-за сложности их интеграции в информационную 
систему, как правило, написанную на языке программирования высокого уровня.
Таким образом, правильной представляется концепция обучения 
программированию на примерах реализации численных методов, 
сочетающих проектирование нетривиальных алгоритмов, структурное и модульное программирование, рекурсию, итерацию и другие 
перечисленные в ГОС дидактические единицы.

1. ОБЩИЕ СВЕДЕНИЯ О МАТЕМАТИЧЕСКОМ 
МОДЕЛИРОВАНИИ

1.1. Цели и задачи математического моделирования

Для реализации управления необходимо оперативно обрабатывать информацию о состоянии технологических процессов с помощью математических методов и компьютерной техники [11]. В изучении реально протекающих в природе процессов особую роль 
стали играть математические формализованные модели.
Моделирование — это изучение объекта путем построения и исследования его модели, осуществляемое с целью замены эксперимента с оригиналом экспериментом на модели. Модель должна наиболее полно воспроизводить те качества объекта, которые необходимо изучить в соответствии с поставленной целью. Во всех 
отношениях модель должна быть проще оригинала и удобнее его для 
изучения. Таким образом, для одного и того же объекта могут существовать различные модели, классы моделей, соответствующие различным целям его изучения. Необходимым условием моделирования 
является подобие оригинала и его модели.
Математическая модель — это относительная истина, отражающая определенные особенности изучаемых явлений. Формализованная на том или ном языке модель отражает определенные свойства 
реальных процессов. С помощью модели можно изучать эти свойства.
Математическая модель использует для анализа формально-логический аппарат математики. Изучение математических моделей 
является основным методом познания, используемым в естественных 
науках. Самыми универсальными моделирующими устройствами 
(реальными математическими моделями) являются компьютеры.
Изучение свойств моделируемого объекта путем анализа аналогичных свойств его модели представляет собой процесс моделирования. 
В зависимости от характера и сложности тех или иных явлений при 
их изучении могут быть использованы соответствующие методы моделирования. Принято различать методы физического и математического моделирования, которые основаны на принципах соответственно физического или математического подобия.
Математическое моделирование — это метод научного исследования, который основывается на познании изучаемых процессов с 

помощью математической модели. Этот метод базируется на математическом подобии. У математически подобных объектов различной 
физической природы идентичны уравнения математического описания. Отказ от одинаковой природы модели и оригинала при сохранении сходства математического описания расширяет диапазон 
применения метода, позволяет сделать качественный скачок в развитии моделирования.
Математическое моделирование по сравнению с физическим — 
более универсальный метод, позволяющий:
• с помощью одного алгоритма решать обширный класс задач, 
имеющих одинаковое математическое описание;
• обеспечить простоту перехода от одной задачи к другой, введение переменных параметров, возмущений, различных начальных и граничных условий;
• моделировать по частям (по «элементарным процессам»), что 
особенно важно при исследовании сложных объектов химической технологии;
• использовать эффективное средство исследования — компьютеры, которые непрерывно совершенствуются;
• экономить ресурсы времени и материальных средств в сравнении с физическим моделированием.
Существенными недостатками математического моделирования 
являются:
 
ограниченные возможности применяемого для описания объекта математического аппарата, не позволяющие во многих случаях с достаточной полнотой отражать свойства изучаемой сложной химической системы;
 
принимаемые допущения, которые нередко ощутимо искажают сущность процесса, несмотря на высокую точность компьютерных вычислений;
 
отсутствие возможности визуально наблюдать за ходом процесса.

1.2. Этапы моделирования на ЭВМ

В ходе математического моделирования всегда приходится поэтапно решать три основные задачи:
1 — составление математической модели;

2 — реализация математического описания, заключающаяся в 
постановке, исследовании и решении инженерных вычислительных 
задач;
3 — проверка адекватности модели изучаемому процессу и ее 
модификация.
Этап составления математической модели включает:
– установление связей между параметрами процесса, а также дополнительных условий, которые обычно называются граничными и 
начальными условиями,
– формализацию процесса в виде системы математических отношений, характеризующих изучаемый объект.
В процессе практики накапливается информация о явлении. Выявляются основные характеристики явления (числа, векторы, матрицы). Связи между ними записываются в виде математических 
отношений.
Построение модели требует глубокого знания предметной области, а также математической культуры и развитой интуиции. Создание удачной модели — непременное условие решения задачи.
Модель всегда представляет собой компромисс между бесконечной сложностью изучаемого явления и желаемой простотой его описания. Требуется иметь достаточно полную модель для удовлетворительного соответствия действительности, в то же время достаточно 
простую в реализации. Из характеристик и связей выделяют основные, отбрасывают несущественные в конкретном случае.
Модели разделяют на статические (описывают явление в предположении о его завершенности, неизменности) и динамические 
(описывают протекание явления).
Математическое описание модели составляется на основе материальных и энергетических балансов, а также физических законов, 
определяющих переходные процессы в объектах либо характеризующих специфические особенности процесса. В систему математического описания в общем случае могут входить алгебраические 
уравнения, обыкновенные дифференциальные уравнения и в частных производных, эмпирические формулы и другие.
Этап реализации математического описания заключается в решении математической модели. Параметры (коэффициенты) составленных уравнений функционально зависят от определяющих 
размеров технического аппарата (диаметров, длин и т.д.), свойств 
обрабатываемых веществ (плотностей, вязкостей и т.п.) и величин, 

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

1.3. Характеристика инженерных задач

Деление решаемых на ЭВМ прикладных задач на инженерные, 
научные, экономические и другие условно. Особенностями инженерных задач являются:
• четкая практическая направленность (создание или исследование новой конструкции, разработка технологического процесса, минимизация затрат и т.п.);
• необходимость получения конкретных чисел в ответе;
• значительный объем выполняемой вычислительной работы;
• использование сложных математических моделей (но ограниченной сложности, что отличает их от научных задач).

С точки зрения практического программиста к особенностям 
относятся:
• малая значимость вопросов интерфейса;
• стремление использовать эффективные вычислительные 
языки; 
• стремление использовать стандартное математическое обеспечение (поэтому до сих пор жив язык программирования Фортран, родившийся еще в 1966 г.);
• возможность решения задачи на массово доступных ЭВМ.

1.4. Постановка, исследование и решение 
вычислительных задач

Вычислительная задача решается с целью получения искомых 
значений в зависимости от входящих величин и математической 
модели: y = y(x), где y — искомое решение, x — входные данные, 
y() — математическая модель.
Прямой называется задача, где по данным x и y() требуется найти 
y(x). Здесь x характеризует «причины» явления, y() описывает модель 
явления, y является «следствием». В обратных задачах по известным 
y и y() ищется x, то есть выясняется, какие «причины» привели к 
известным «следствиям». Задача идентификации — поиск наилучшего y() по известным наборам y и x — в общем виде, как правило, 
неразрешима.
Обычно строится параметрическое семейство моделей (с различными коэффициентами) для описания широкого круга близких 
по природе явлений. В этом случае задача идентификации сводится 
к подбору коэффициентов, в некотором смысле оптимальных.

Задача падения тела в поле тяготения без атмосферы: y = y(t) = 
= y0 – gt2/2. Прямая задача: найти y = y(t). Обратная задача: найти такое 
y0, при котором достигается y(t). Задача идентификации: по серии y(t) 
найти g.

Обычно решение не удается выразить с помощью формулы, и 
используются численные методы, позволяющие свести получение 
решения к последовательности численных операций.
Первым значимым практическим применением численных методов считается то, что Леверье в 1846 г., решая уравнения планетной 
механики, открыл Нептун. С изобретением ЭВМ класс числено решаемых задач кардинально расширился.

1.5. Проверка качества модели и ее модификация

Пригодность модели определяется сравнением результатов с 
практическими данными. Исследуются достоверность модели и границы ее применимости. По мере накопления знаний о предметной 
области требуется модификация модели или создание новой модели.

Уравнение движения в поле тяготения в атмосфере
 

= −
−β
2,
dV
m
g
V
dt

=
dy
V
dt
 
— более сложная модель, чем предыдущая.

1.6. Основные этапы решения инженерной задачи  
с применением ЭВМ

1. Постановка проблемы с формулировкой задачи на «человеческом» языке (конкретизация цели и постановки задачи).
2. Выбор математической модели среди известных или построение новой (баланс между точностью соответствия и простотой; 
грамотное упрощение модели).
3. Постановка вычислительной задачи на основе математической 
модели.
4. Предварительный анализ свойств вычислительной задачи (корректность постановки; существование, единственность, устойчивость решения), если его удается провести.
5. Выбор численного метода из существующих или построение 
нового (согласно особенностям методов, требованиям к решению, 
доступным ресурсам и т.п.).
6. Алгоритмизация и программирование (перевод численного 
метода на «машинный» язык или использование готовых библиотек).
7. Отладка программы и тестирование на задачах, имеющих известные решения.
8. Счет по программе (с анализом первых полученных результатов на пригодность).
9. Обработка и интерпретация результатов (только необходимых, 
в представительной форме).
10. Использование результатов для коррекции математической 
модели (итеративный характер решения задачи).

К покупке доступен более свежий выпуск Перейти