Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

книги / Моделирование функционирования изделий и технологических процессов в системах компьютерной математики

..pdf
Скачиваний:
1
Добавлен:
12.11.2023
Размер:
1.6 Mб
Скачать

Реальный

Модель

Алгоритм

Программа

Результат

объект

 

 

 

 

Рис. 1. Общая структура процесса моделирования

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

Следует заметить, что здесь не рассматривается подробно теория построения математических моделей объектов и процессов, а описываются лишь основные практические прикладные аспекты использования уже разработанных моделей и алгоритмов в инженерной практике. С общей теорией построения моделей и, в частности, математических моделей можно ознакомиться, например, по материалам учебной литературы [3–5].

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

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

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

11

данных затратах, но при соблюдении пользователем объявленных требований и порядка.

Среда – совокупность рабочего пространства и инструментов в нём, поддерживающая хранение и изменение, преемственность проектов и интерпретирующая свойства объектов и систем из них.

Метод математического моделирования, основанный на построении и исследовании математических моделей различных объектов, процессов и явлений и получении информации о них из решений, связанных с этими моделями, стал одним из основных способов исследования в решении прикладных технических задач.

В качестве единого пространства, включающего современные инструменты, технологии и среду моделирования, широко применяется новое актуальное и полезное научное направление – компьютерная математика [6–10]. Её можно определить как совокупность теоретических, алгоритмических, аппаратных и программных средств, предназначенных для эффективного решения на компьютерах всех видов математических задач с высокой степенью визуализации всех этапов вычислений, широкими возможностями проведения параметрических исследований [3, 4]. В качестве инструмента реализации данного направления применяется специальное программное обеспечение, которое носит общее название «системы компьютерной математики» (СКМ), имеющее инструменты и функции для решения широкого круга научно-технических, инженерных задач, в том числе с применением численных методов и современных алгоритмов их реализации.

1.2.Общие положения применения численных методов

врешении научно-технических задач

Методы численного решения математических задач всегда составляли неотъемлемую часть математики и неизменно входили в содержание естественно-научного и инженерного образования. Как самостоятельная математическая дисциплина вычислительная математика оформилась в начале ХХ в. К этому времени в основном были разработаны разнообразные достаточно эффективные и надёжные

12

алгоритмы приближённого решения широкого круга математических задач, включающего стандартный набор задач из алгебры, математического анализа и дифференциальных уравнений [8, 9, 13, 15].

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

Современной формой метода математического моделирования, базирующейся на мощной вычислительной базе в виде ЭВМ

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

ипроцессов.

Как правило, алгоритмы численных методов (приближённого решения) базируются на том, что исходная математическая задача заменяется (аппроксимируется) некоторой более простой задачей или чаще последовательностью более простых задач. Решение этих более простых задач трактуется как приближённое решение задачи исходной, т.е. фактически используется некоторая модель исходной задачи.

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

Часто аналитические методы называют точными, а численные – приближёнными. Однако и аналитические методы могут приводить к приближённому результату. Кроме того, аналитические методы часто бывают приближёнными по существу, оставаясь аналитическими, например, когда функция заменяется первыми слагаемыми её ряда Тейлора.

Аналитическое решение задачи Коши (или решение в квадратурах) заключается в получении частного решения путём выполне-

13

ния конечного числа операций дифференцирования, интегрирования и арифметических действий (сложение, вычитание, умножение, деление). К сожалению, круг задач, решаемых в квадратурах, крайне узок, поэтому актуальна задача приближённого, численного интегрирования дифференциальных уравнений (ДУ).

Далее кратко описывается теория, а затем приводятся инструменты СКМ и рассматриваются практические примеры решения математических задач в технике численными методами.

1.3.Численные методы решения алгебраических

итрансцендентных уравнений и систем уравнений

Нелинейными называются уравнения, которые можно привести к виду f(x) = 0, где f(x) – нелинейная функция. Решением уравнения (корнями) будет набор значений независимой переменной х, которые при подстановке в уравнение превращают его в тождество.

Построим график функции f(x) (рис. 2). Функция равна нулю в точках её пересечения с осью х. Следовательно, необходимо найти координаты х0 именно этих точек.

Рис. 2. Графическая интерпретация решения нелинейного уравнения методом дихотомии

Решение нелинейного уравнения проводится в два этапа: отделение корней и уточнение корней.

Под отделением корней понимают нахождение отрезков [a, b] на оси х, внутри каждого из которых имеется один корень. Это можно сделать следующим образом:

14

графически (по графику находятся отрезки, внутри которых функция меняет знак);

таблично (рассчитывается таблица функции (xi, fi), i = 1, …, n, определяются пары [xi, xi+1], где функция меняет знак или близко подходит к нулю);

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

Уточнение корней – нахождение отделённого корня с некоторой точностью. Предполагается, что на отрезке [a, b] имеется один корень уравнения f(x) = 0, который ищется с точностью ε. Обычно ε – это небольшое положительное число. Точность считается достигну-

той, если для найденного на n-м шаге приближения корня хn выполняются условия:

|хn+1 хn| < ε или |f(хn)|< ε.

Для проверки найденное значение корня подставляется в уравнение.

Приведём некоторые методы уточнения корней.

Метод деления отрезка пополам (дихотомии) (см. рис. 2).

Метод применяется в такой последовательности:

1. Пусть найден отрезок [a, b], на котором существует корень, причём функция на этом отрезке меняет знак, и задана точность ε, т.е. заданы a, b, такие, что

f(а) f(b) < 0.

2.За новое приближение корня берут точку c = (a + b)/2 и вычисляют f(c).

3.Проверяют, удовлетворяетлиприближениезаданнойточности:

|f(c)|< ε или |b a |< ε.

Если да, то заканчивают счёт и считают, что корень уравнения равен c (с точностью ε).

15

4. Если условие из п. 3 неверно, то проверяют, в какой части отрезка [a, b] находится корень. Корень находится на том отрезке, где функция меняет знак. Если f(c) f(a) < 0, то корень лежит на отрезке [a, c], т.е. b = c (граница отрезка точка b переносится в точку c). Такая ситуация представлена на рис. 2. Если это условие не выполняется, то корень лежит на отрезке [b, c], т.е. a = c (граница отрезка точка a переносится в точку c). Далее переходим снова к п. 2, нахо-

дим точку с1 и т.д.

На рис. 2 заштрихованные области – это области, которые удаляются из исходного интервала на первых двух шагах решения.

Метод Ньютона (рис. 3). Поэтому методу в точке (x0, у(x0)) проводится касательная, которая пересекает ось х в точке x1. За начальное приближение корня выбирается точка x1. Далее проводится касательная в точке (x1, у(x1)) и определяется новое приближение корня по общей формуле

xi+1 = xi y(xi ) , y (xi )

где y(хi ) – производная функции y(x).

Рис. 3. Графическая интерпретация решения нелинейного уравнения методом Ньютона

Новые приближения находятся, пока не достигнута точность ε. При |xi+1 xi| < ε корнем считается x = xi+1 с точностью ε.

16

1.4. Численные методы решения обыкновенных дифференциальных уравнений и систем уравнений

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

В современных системах, как правило, используются численные методы решения таких задач. Для численного решения обыкновенных дифференциальных уравнений (ОДУ) разработано много так называемых разностных схем. В них ОДУ заменяется алгебраическими уравнениями для функции y(x, C1, C2,…) в некоторых точках хi. Обычно для применения этих схем необходимо ОДУ разрешить относительно старшей производной.

Для численного решения область непрерывного изменения аргумента х заменяют дискретным множеством точек, т.е. вводят сетку. Независимая переменная берётся в определённых точках (узлах) х0, х1, х2, …, хn, находящихся на расстоянии h друг от друга (рис. 4). Искомую функцию ищут только в этих узлах, получают значения у0, у1, у2, …, уn. Она называется сеточной функцией. Затем производные приближённо записывают через х0, х1, х2, …, хn, у0, у1, у2, …, уn и подставляют в исходное уравнение. В результате получаются алгебраические и трансцендентные уравнения для определения значений функции, в общем случае нелинейные. Такие методы счёта называются разностными схемами.

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

17

Рис. 4. Графическая интерпретация решения обыкновенного дифференциального уравнения методом Эйлера

Наиболее часто для решения ОДУ применяются методы Эйлера и Рунге–Кутты.

Метод Эйлера. Метод Эйлера – один из одношаговых приближённых методов, в которых решение в (k+1)-м узле получается на основе решения только в одном предыдущем k-м узле. Тем самым информация о более ранних уже вычисленных значениях игнорируется. «Расточительный» подход к получаемым результатам оборачивается повышенным объёмом вычислений. Одношаговые методы не самые экономичные в этом смысле.

Метод, как правило, применяется для решения уравнений вида dydx = f (x, y).

Приближённое решение в точке хi+1 находится с помощью касательной, построенной в точке хi, тангенс угла наклона которой равен производной – правой части ОДУ (см. рис. 4). Приближённое решение уi+1 находится из треугольника y0ay1 по следующей формуле:

yi+1 = yi + hf (xi , yi ).

18

При этом возникает ошибка y. Рисунок демонстрирует, почему метод Эйлера называют «методом ломаных» и ошибка нарастает в процессе применения этой схемы. Ошибка пропорциональна шагу во второй степени (~h2) и уменьшается при уменьшении шага.

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

Модифицированный метод Эйлера [12, 13] заключается в уменьшении ошибки счёта за счёт сохранения при разложении в ряд Тейлора второй производной. Тогда формула для определения значения функции приобретает вид

y

= y

+ hf (x

, y ) +

h2

d 2 y

.

2

dx2

i+1

i

i

i

 

При этом вторую производную выражают через первую:

d 2 y

=

y

y

=

f (x

, y

)

f (x , y )

 

dx2

i+1

i

i+1

i+1

 

i i

.

 

h

 

 

 

h

 

 

Уменьшается ошибка, но при этом функция на каждом шаге вычисляется 2 раза. Ошибка метода ~h3.

Метод Эйлера ограничен по точности, а также иногда даёт неустойчивые решения. Эти недостатки определили необходимость разработки новых вычислительных алгоритмов. Их подробное описание заинтересованный читатель может найти в пособии [12].

Метод Рунге–Кутты. Идея, предложенная Рунге (1856–1927) и Куттой (1867–1944), заключается в том, чтобы при численном решении задачи Коши не использовать в расчётных формулах частные производные функции, а использовать только её саму, зато вычислять на каждом шаге её значения в нескольких точках [12, 13].

Этот метод применяется при решении ОДУ наиболее часто, так как даёт хорошую точность. При этом в разложении в ряд оставляют слагаемые более высоких порядков, вплоть до слагаемых ~h4.

19

Формула метода выглядит так:

yi+1 = yi + h6 (k1 (yi ) + 2k2 ( yi ) + 2k3 (yi ) + k4 ( yi )).

При этом коэффициенты, корректирующие производную, рассчитываются следующим образом:

k1 =

k2 = f xi

k3 = f xi

k4 = f (xi

f (xi , yi );

+ h , y + h k1

 

;

2

i

2

 

 

 

 

 

+ h , y + h k2

 

;

2

i

2

 

 

 

 

 

+ h, yi + hk3 ).

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

Для повышения точности для приведённых численных методов решения дифференциальных уравнений могут быть предусмотрены специальные алгоритмы с переменным шагом. Шаг решения может уменьшаться с увеличением точности и увеличиваться с её уменьшением [12, 17, 18].

Следует понимать, что методы Эйлера и Рунге–Кутты предназначены для решения дифференциальных уравнений первого порядка. Если требуется решить уравнение, порядок которого выше 1, то уравнение разбивается на несколько уравнений первого порядка относительно соответствующих производных. В этом случае в процедуре численного решения решается не одно алгебраическое уравнение, а система из нескольких уравнений. Количество уравнений при этом равно порядку исходного дифференциального уравнения.

20

Соседние файлы в папке книги