ФЕДЕРАЛЬНОЕ АГЕНТСТВО ПО ОБРАЗОВАНИЮ КРАСНОЯРСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ
А. А. Левицкий
ИНФОРМАТИКА О...
56 downloads
297 Views
2MB Size
Report
This content was uploaded by our users and we assume good faith they have the permission to share this book. If you own the copyright to this book and it is wrongfully on our website, we offer a simple DMCA procedure to remove your content from our site. Start by pressing the button below!
Report copyright / DMCA form
ФЕДЕРАЛЬНОЕ АГЕНТСТВО ПО ОБРАЗОВАНИЮ КРАСНОЯРСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ
А. А. Левицкий
ИНФОРМАТИКА ОСНОВЫ ЧИСЛЕННЫХ МЕТОДОВ
Рекомендовано Учебно-методическим объединением по образованию в области радиотехники, электроники, биомедицинской техники и автоматизации в качестве учебного пособия для студентов вузов по направлениям 551100 и 654300
Красноярск 2005
УДК 621.396.002.3(07) Л 34
2
Рецензенты: В. В. Белошапкин, канд. физ.-мат. наук, проректор по информатизации КГПУ; Т. Т. Ереско, канд. техн. наук, доц. кафедры КМиЭМ СибГАУ
А.А. Левицкий Л34 Информатика. Основы численных методов: Лабораторный практикум / А. А. Левицкий. Красноярск: ИПЦ КГТУ, 2005. 111 с. ISBN 5-7636-0745-7
Изложены краткие теоретические сведения по численным методам решения нелинейных, обыкновенных дифференциальных уравнений и уравнений в частных производных. Приведена методика выполнения лабораторных работ и варианты заданий. Предназначен студентам направлений подготовки дипломированных специалистов 654100 – «Электроника и микроэлектроника» (спец. 201900), 654300 – «Проектирование и технология электронных средств» (спец. 200800, 220500), бакалавров и магистров по направлениям 550700 – «Электроника и микроэлектроника», 551100 – «Проектирование и технология электронных средств» всех форм обучения.
ISBN 5-7636-0745-7
УДК 621.396.002.3(07) © КГТУ, 2005 © Левицкий А. А., 2005
3
ВВЕДЕНИЕ В настоящем пособии представлены лабораторные работы, целью проведения которых является ознакомление студентов с численными методами решения задач, описываемых нелинейными или дифференциальными уравнениями. Лабораторные работы нацелены на выработку навыков, необходимых при решении проектных и научных задач с использованием электронных вычислительных машин (ЭВМ). Первая лабораторная работа, знакомящая с итерационными методами решения нелинейных уравнений, отличается невысоким уровнем сложности. При ее выполнении студенты должны познакомиться с основными понятиями, необходимыми для выполнения следующих лабораторных работ. Вторая лабораторная работа знакомит студентов с методами решения задач, включающих обыкновенные дифференциальные уравнения, а именно, задач с начальными условиями. В третьей работе представлены задачи, описываемые дифференциальными уравнениями в частных производных. Рассмотрены основы метода конечных разностей и метода конечных элементов. Практикум включает краткие теоретические сведения по каждой из лабораторных работ. Теоретический материал изложен сжато и рассчитан на учащихся, впервые изучающих данный предмет. Приведены примеры решения задач с использованием математических пакетов MATLAB и MathCAD. Отличительной особенностью данного практикума является то, что все задания в нем представляют собой предметные задачи, то есть включают в себя описание технического или иного объекта, для которого приводится математическая формулировка. Для выполнения практикума студенты должны владеть основами программирования на ЭВМ и иметь навыки работы в математических пакетах, таких как MATLAB или MathCAD. Лабораторный практикум проводится каждым студентом индивидуально. Для этого студент получает одно из заданий по указанному преподавателем варианту. Работа выполняется в соответствии с данными методическими указаниями под руководством преподавателя. Перед выполнением работы на ЭВМ студенту следует получить к ней допуск. При выполнении лабораторной работы студент должен предъявить рабочую версию программу (расчета) и результаты расчетов на ЭВМ. Лабораторная работа считается выполненной после её защиты. Для защиты работы необходимо представить программу, результаты расчета на ЭВМ и отчёт, оформленный в соответствии с приведенными в данных методических указаниях требованиями.
4
Лабораторная работа № 1 ЧИСЛЕННЫЕ МЕТОДЫ РЕШЕНИЯ НЕЛИНЕЙНЫХ УРАВНЕНИЙ 1. КРАТКИЕ ТЕОРЕТИЧЕСКИЕ СВЕДЕНИЯ Сегодня компьютер обычно воспринимается как техническое офисное средство, инструмент для работы в Internet или игровая приставка. Вместе с тем, изначально само его название (от англ. computer – вычислитель) указывает, что по своей природе этот инструмент предназначен в первую очередь для выполнения различного рода расчетов. Компьютер не только обеспечивает автоматизацию процесса вычислений, но и позволяет применять для решения задач специальные численные методы, которые практически не могут использоваться без его поддержки. Данные методы называются численными потому, что они основаны на операциях с числами, то есть на четырех арифметических действиях – сложении, вычитании, умножении и делении, но позволяют решать разного вида уравнения, включая дифференциальные, производить интегрирование функций, решать задачи оптимизации и т. п.
1.1. Нелинейные уравнения Довольно часто в инженерной практике встречаются задачи, связанные с необходимостью отыскания корней нелинейных уравнений. Такие задачи обычно возникают как элементарные составляющие при решении различных технических и научных проблем. 1.1.1. Постановка задачи Рассмотрим в качестве примера процедуру выбора рабочего режима транзисторного усилительного каскада. Предположим, что зависимость коэффициента усиления каскада от тока эмиттера транзистора iэ может быть представлена формулой
K (i∋ ) = a0 + a1i∋ + a2i∋2 + a3i∋3 + a4i∋4 + a5i∋5 , где a0 , a1 , a2 , a3 , a4 , a5 – известные постоянные. Если необходимо, чтобы транзистор обеспечивал требуемый коэффициент усиления Kтр, то рабочий ток iэ должен выбираться таким образом, чтобы выполнялось равенство
K (i∋ ) = K тр
или
a0 + a1i∋ + a2i∋2 + a3i∋3 + a4i∋4 + a5i∋5 = K тр .
5
Последняя запись по сути дела является уравнением, которое можно представить в следующем виде:
a0 + a1i∋ + a2i∋2 + a3i∋3 + a4i∋4 + a5i∋5 − K тр = 0 . Решение этого уравнения и дает искомое значение тока iэ. Как видно, задача выбора эмиттерного тока транзистора свелась к решению уравнения вида
f ( x ) = 0,
(1)
где роль неизвестного x играет ток iэ, а f(x) является некоторой функцией этого неизвестного. Подобным же образом к решению уравнения могут быть сведены многие проектные и исследовательские задачи, в которых необходимо найти значение какого-либо параметра по известной зависимости. Следует отметить, что обычно характеристики реальных технических устройств зависят не от одного, а от нескольких параметров. В этом случае проблема выбора параметров приводит к необходимости решения системы уравнений со многими неизвестными. Примером такого рода задачи является выбор сопротивлений резисторов в схеме многокаскадного усилителя. Однако далее мы будем рассматривать только задачи, связанные с решением одного нелинейного уравнения с одним неизвестным. 1.1.2. Виды нелинейных уравнений
Очевидно, что способ решения уравнения определяется его видом. В математике принято подразделять нелинейные уравнения на алгебраические и трансцендентные (см. рис. 1). К алгебраическим относят уравнения, в которых функция f(x) является степенным многочленом, то есть: a0 + a1 x + a2 x 2 + a3 x 3 + a4 x 4 + ... + an x n = 0 ,
(2)
где a0 , a1 , a2 , a3 , a4 , ... , an – коэффициенты, а n – целое число, соответствующее максимальной степени многочлена. Подобное уравнение было рассмотрено выше. К трансцендентным относят уравнения, содержащие трансцендентные функции, то есть показательную, логарифмическую, тригонометрические функции.
6
Например, трансцендентными являются следующие уравнения: sin ( 2 x )
2,1x + 1 − 0, 4 x 2 = 0 , 0,3 x + 1
2 0,1 x − 6 lg ( 44 − x ) + 5,5sin ( x ) = 0 .
(3) (4)
Свойства алгебраических и трансцендентных уравнений существенно различаются. Поэтому различны и подходы к их решению. Алгебраические и трансцендентные уравнения
Линейное уравнение (одно решение)
Нелинейное уравнение (несколько решений)
Алгебраическое уравнение (n решений)
Трансцендентное уравнение (неопределённое число решений)
Рис. 1. Классификация уравнений
Для алгебраических уравнений до четвертого порядка включительно известны прямые точные методы решения. Кроме того, количество корней можно определить по степени многочлена, а их характер по знакам коэффициентов этого многочлена. Для трансцендентных уравнений общих приемов решения кроме приближенных не существует. Количество корней такого уравнения обычно невозможно определить заранее по его виду. Трансцендентное уравнение может не иметь ни одного вещественного корня, иметь счетное количество корней или бесконечное множество корней. Из двух приведенных выше уравнений первое имеет семь вещественных корней, а второе – пять корней (попробуйте определить их самостоятельно).
7
1.1.3. Методы решения уравнений
К сожалению, во многих практически важных случаях, когда уравнение имеет сложный вид, аналитически его точное решение найти не удается. Отсутствуют методы решения в общем виде алгебраических уравнений высоких степеней. Для трансцендентных уравнений точное решение найти можно в немногих самых простых случаях. Если решение нельзя найти в явном виде, то для отыскания корня используют другие методы. Например, приближенное решение можно получить методом последовательных приближений. Сравнительно легко (но и весьма неточно) корни уравнения определяются графически – достаточно лишь для уравнения f(x) = 0 построить график функции y = f(x) и найти точки пересечения кривой с осью абсцисс, в которых эта функция равна нулю. Наконец, корень уравнения можно попытаться определить "методом подбора". Однако ни один из перечисленных подходов нельзя считать достаточно эффективным при решении инженерных и научных задач на ЭВМ. Более предпочтительны способы, обеспечивающие одновременно как оперативность получения результата, так и высокую точность. Второе важное требование к методу – универсальность, то есть способность находить решения для разных видов уравнений. В особенности эти требования должны соблюдаться в специальных пакетах программ, предназначенных для выполнения большого объема расчетов, например, в системах автоматизированного проектирования (САПР). В связи с этим для решения нелинейных уравнений на ЭВМ широко применяются специальные методы, которые относятся к методам вычислительной математики. На их основе создано большое число алгоритмов, различающихся сложностью и эффективностью. Когда говорят о методах решения нелинейных уравнений на ЭВМ, то подразумевают в первую очередь итерационные методы. Главным признаком итерационного метода является многократное повторение одного и того же набора действий для получения результата (в переводе с англ. iteration – повторение). В основе итерационного метода лежит итерационная, то есть повторяемая процедура. Процедура эта строится таким образом, что после каждого ее выполнения производится очередное приближение к корню. Можно сказать, что итерационный метод несколько напоминает отыскание корня подбором, однако этот подбор производится не "наугад", а по вполне определенному алгоритму. Основные особенности итерационных методов будут рассмотрены позже – при описании самих методов.
8
1.2. Исследование уравнений и отделение корней Каждый, кто пытался найти корень уравнения подбором, знает, насколько важен выбор первого пробного значения неизвестного x. Точно так же при поиске корня итерационным методом, необходимо правильно определить начальное значение x. От этого иногда зависит не только скорость решения задачи, но и вообще возможность получения результата. Рассмотрим способы исследования уравнений для предварительной оценки корней. 1.2.1. Исследование уравнения и отделение корней
При решении практических задач обычно приходится проводить предварительное исследование уравнения до его решения. Дело в том, что если уравнение не удается решить аналитически, то заранее трудно определить, сколько оно имеет корней и какова их природа − сколько из них комплексных или вещественных, сколько отрицательных или положительных. Поиск корней "наугад" без предварительного исследования чреват тем, что правильный ответ так и не будет найден. Кроме того, зачастую некоторые корни не имеют физического смысла, и поэтому нет необходимости определять их точные значения. Например, поведение резонансной электрической или механической системы обычно описывается так называемым характеристическим уравнением, корни которого соответствуют значениям ее собственных частот. Сложные объекты, как правило, имеют множество собственных частот, что усложняет анализ. Однако в ходе предварительного исследования уравнения можно, не вычисляя точных значений всех корней, сразу выбрать из них те, которые представляют наибольший интерес. 1.2.2. Графическое исследование уравнения
Как было указано в п. 1.1, примерное положение корней уравнения f(x) = 0 на числовой оси легко определить, построив график функции y = f(x). Точки пересечения кривой y = f(x) с осью абсцисс, где y = 0, и будут соответствовать искомым корням. В качестве примера на рис. 2 представлен график, построенный в пакете MathCAD для уравнения (3) – см. п. 1.1. Из рисунка видно, что уравнение имеет семь действительных корней в интервале примерно от –7 до +2: пять отрицательных, один при нулевом значении x и один положительный. В точке x ≈ –3,3 функция f(x) имеет разрыв. Приведенный график позволяет провести отделение указанных корней, то есть найти на оси x границы отрезков, в каждом из которых располагается не более одного корня.
9
x := −10, −9.9.. 10
f ( x) := sin ( 2 ⋅ x) ⋅
2.1 ⋅ x + 1 0.3 ⋅ x + 1
2
− 0.4 ⋅ x
20
10
f ( x)
0
10
20
10
5
0
5
10
x
Рис. 2. Графическое исследование уравнения
Проведите исследование уравнения (4) самостоятельно. 1.2.3. Табличный способ отделения корней
Отделение корней также нередко выполняют с помощью табличного представления зависимости f(x). Для этого формируют таблицу, в которую заносят ряд последовательно расположенных на оси x точек xi и вычисленные в них значения левой части уравнения f(xi). Затем в таблице выбирают те пары рядом расположенных точек, между которыми функция f(x) меняет свой знак. При этом для обнаружения корня по сути дела используется тот же признак, что и при графическом исследовании − изменение знака функции. На рис. 3. представлены полученные с помощью пакета MathCAD результаты расчета зависимости f(x) в виде таблицы при постоянном шаге изменения аргумента ∆x = xi+1 - xi. Расчет выполнен для того же трансцендентного уравнения, что и на рис. 2.
x=
f ( x) =
-7
-31.938
-6.5
-22.495
-6
-6.62
-5.5
4.131
-5
0.336
-4.5
-18.05
-4
-43.006
-3.5
-88.337
-3
-18.409
-2.5
-18.802
-2
-7.654
-1.5
-0.348
-1
1.029
-0.5
-0.051
0
0
0.5
1.4
Рис. 3. Табличное отделение корней
10
Приведенные данные показывают, что первый из корней уравнения f(x) = 0 лежит в пределах –6 < x < –5,5, поскольку значения f(x) в точках x = –6 и x = –5,5 имеют разные знаки. С целью облегчения поиска корней процедуру вычисления нередко оформляют в виде программы на ЭВМ, включая в ее алгоритм не только вычисление значений xi и f(xi), но и автоматическое выявление тех отрезков, в которых предположительно должны находятся корни уравнения. Однако пользоваться подобными процедурами автоматического отделения корней следует осторожно. Дело в том, что смена знака функции на некотором отрезке xi ≤ x ≤ xi+1 не является надежным признаком существования корня. Во-первых, f(x) может изменить свой знак в точке разрыва, как это происходит в точке x ≈ –3,3 на рис. 2. Во-вторых, даже если функция f(x) непрерывна, изменение ее знака на рассматриваемом отрезке может быть обусловлено не одним, а несколькими корнями, например, тремя или пятью. И, наоборот, совпадение знаков функции f(x) на краях отрезка не является доказательством отсутствия корней. К примеру, в случае двух корней на отрезке функция дважды переходит через точки y = 0 и дважды меняет свой знак на обратный. Или имеется так называемый кратный корень, когда f(x) не пересекает, а только касается оси x в некоторой точке. Из вышесказанного следует, что табличное отделение корней желательно проводить, выбирая как можно более малый шаг изменения аргумента, и сопровождать его графическим исследованием.
1.3. Методы поиска корней уравнения Рассмотренные способы исследования позволяют уточнить количество корней уравнения, их свойства и примерное положение на числовой оси. После отделения корней определить их значения с требуемой точностью можно с помощью методов, описание которых дано ниже. 1.3.1. Модификация табличного способа
Несложную итерационную процедуру для отыскания приближенного решения уравнения можно построить на основе рассмотренного выше табличного способа отделения корней. Рассмотрим ее. Предположим, в результате предварительного исследования определен отрезок [a, b], содержащий только один корень уравнения f(x) = 0. Разобьем этот отрезок на некоторое количество равных частей. Для этого возьмем, к примеру, N – 1 = 99 точек, расположенных с постоянным шагом ∆x = ( b – a ) / 100 на [a, b] и разделим его таким образом на N = 100 частей. Вычислим в этих точках значения функции f(x). Из полученных ста новых отрезков выберем тот, в котором находится корень. Его легко определить по перемене знака f(x) при переходе от одной точки к другой.
11
Для дальнейшего уточнения положения корня на числовой оси описанные действия можно повторять многократно, построив, таким образом, на их основе итерационную процедуру. Действительно, на первом итерационном шаге отрезок, в котором заключен корень, уменьшается в N = 100 раз. Уменьшив на втором шаге отрезок еще в сто раз, получим сокращение длины уже в N × N = 10000 раз при суммарном количестве расчетных точек N + N = 198 . На третьем шаге общее сокращение достигнет 100 × 100 × 100 = 1000000 раз, а количество расчетных точек возрастет до N + N + N = 297 . Общий же коэффициент сужения на K-м шаге составит N K. Процедуру сжатия отрезка, содержащего корень, следует остановить, если на очередном шаге будет получено значение f(x) достаточно близкое к нулю. Последнее означает, что найдено приближенное решение уравнения, соответствующее f(x) ≈ 0. Условие прекращения итерационной процедуры обычно записывают в виде | f (x) | ≤ δ,
(5)
где δ − некоторое малое положительное число. При выборе δ руководствуются требованиями к точности решения уравнения и порядком величины f(x). 1.3.2. Метод половинного деления
Другие названия: метод бисекции, метод дихотомии (от греч. δίχα − на две части и τοµή − сечение). Метод половинного деления можно рассматривать как дальнейшее усовершенствование описанной выше процедуры поиска корня уравнения. Отличие метода половинного деления состоит в том, что отрезок на каждом шаге разбивается не на любое произвольное число частей N, а делится только на две части, то есть N = 2. Графически процедура поиска корня уравнения f(x) методом половинного деления показана на рис. 4.
Рис. 4. Метод половинного деления
12
Метод включает следующие операции (см. рис. 5). Вначале на концах исходного отрезка [a, b], содержащего корень, вычисляют значения функции f(a) и f(b). Затем находят точку, делящую [a, b] на две равные части, по итерационной формуле
Начало
Ввод границ интервала [a, b]
xc = ( a + b ) / 2
Вычисление fa = f ( a ) fb = f ( b )
Вычисление xс = ( a + b ) / 2 fс = f ( x c )
Одинаковы знаки fс и fa ?
Нет
Да
Нет
a = xс
b = xс
fa = fс
fb = fс
Достаточно мала / fс / ? Да Вывод x c и fc
Стоп
Рис. 5. Алгоритм метода половинного деления
(6)
и вычисляют значение функции f(xc). Далее по перемене знака функции выбирают ту половину [a, b], в которой расположен корень. Если знаки f(xc) и f(a) совпадают, то в дальнейшем полагают a = xc и f(a) = f(xc). Если же, напротив, знаки f(xc) и f(a) различаются, а знаки f(xc) и f(b) совпадают, то полагают b = xc и f(b) = f(xc). В результате этих действий получают новый отрезок, содержащий корень. Этот отрезок имеет длину в два раза меньше, чем исходный. Точно так же, как и в предыдущем случае, если очередное рассчитанное значение f(x) достаточно близко к нулю, вычисления прекращаются. Иначе процесс половинного деления продолжается. В некоторых случаях для остановки итерационной процедуры используют условие малости полученного на очередном шаге отрезка, записывая его, например, как
(b − a ) xc ≤ δ .
(7)
13
Приняв δ = 0,01, можно таким образом получить положение корня с точностью порядка одного процента. Метод половинного деления позволяет заметно ускорить поиск решения по сравнению с пошаговым поиском, рассмотренным в п. 1.3.1. Для того чтобы оценить, каков выигрыш, вспомним, что для уменьшения длины исходного отрезка, содержащего корень, в миллион раз в предыдущем случае потребовалось выполнить три итерационных шага и провести вычисление f(x) в 297 новых точках. В то же время нетрудно подсчитать, что в методе половинного деления для получения аналогичного результата необходимо сделать 20 шагов, так как при N = 2 и K = 20 получается сужение в NK = 220 = 1048576 раз. А расчет функции f(x) для этого потребуется провести лишь в N × 20 = 1 × 20 = 20 новых точках. В итоге объем и время вычислений по сравнению с ранее рассмотренной процедурой сокращается примерно в пятнадцать раз. 1.3.3. Метод хорд
Этот итерационный метод подобно рассмотренному выше методу половинного деления заключается в повторяющемся делении интервала на две части с выбором из них той, которая содержит корень уравнения. Однако в методе хорд точка, с помощью которой исходный отрезок [a, b] делится на две части, выбирается не как средняя, а вычисляется с помощью линейной интерполяции функции f(x) на [a, b]. Последовательно выполняются следующие действия. Вначале вычисляются значения функции f(x) на концах отрезка в точках a и b, то есть f(a) и f(b). После этого составляется уравнение хорды, которая представляет собой прямую y(x), проходящую через эти две точки. Данная хорда описывается соотношением y ( x ) - f ( a ) f (b) - f ( a ) = . x-a b-a
(8)
С помощью хорды на отрезке [a,b] выбирается точка xс, в которой y(xc) = 0. Для этого подставим в (8) y(x) = y(xc) = 0 и получим итерационную формулу метода хорд: xc = a - f ( a )
b-a . f (b) - f ( a )
(9)
Точка xc делит отрезок [a, b] на две части. Также как и в методе половинного деления из двух частей выбирается та, на краях которой функция f(x) имеет
14
противоположные знаки. Далее описанный процесс повторяется многократно и может быть остановлен по условию (5) или (7). Процесс поиска корня методом хорд показан графически на рис. 6.
Рис. 6. Метод хорд
Из рисунка видно, что получаемые с помощью (9) точки xc постепенно сходятся к корню уравнения. Поскольку в рассмотренном методе очередное приближение xc определяется с помощью интерполяции, учитывающей наклон кривой f(x), он во многих случаях оказывается более эффективным, чем метод половинного деления. Алгоритм решения методом хорд имеет вид аналогичный алгоритму метода половинного деления, приведенному на рис. 5 и отличается только видом итерационной формулы, по которой рассчитывается xc. 1.3.4. Метод Ньютона (метод касательных или метод линеаризации)
Этот метод в отличие от ранее рассмотренных не требует предварительно указывать интервал, в котором располагается корень уравнения. Для начала работы требуется задать лишь одну начальную точку x0, расположенную вблизи от предполагаемого корня. Направление поиска определяется из этой точки с помощью линейной экстраполяции f(x). Таким образом, при начале расчета из заданной точки x0 определяется точка x1, затем из точки x1 рассчитывается x2 и так далее. Продолжение этого процесса далее дает последовательность чисел x0, x1, x2, x3, …, xi, … последовательно приближающихся к корню уравнения. Для получения итерационной формулы метода Ньютона воспользуемся разложением функции f(x) в окрестности точки xi в ряд Тейлора: ∆x 2 ∆x 3 f ( xi + ∆x ) = f ( xi ) + ∆x f ' ( xi ) + f " ( xi ) + f '" ( xi ) + ... , 2! 3!
(10)
где f ' ( xi ) , f " ( xi ) и f '" ( xi ) – первая, вторая и третья производные от функции f (x) по x.
15
Сократим (10), отбросив слагаемые, содержащие ∆x во второй и более высоких степенях. Тогда f ( xi + ∆x ) ≈ f ( xi ) + f ' ( xi ) ⋅ ∆x . Полагая далее, что в окрестностях xi имеется точка xi+1 = xi + ∆x, в которой функция f ( xi +1 ) = f ( xi + ∆x ) равна нулю, получим линейное уравнение f ( xi ) + f ' ( xi ) ⋅ ∆x = 0 , из которого найдем xi+1:
xi +1 = xi − f ( xi ) f ' ( xi ) .
(11)
Это соотношение является итерационной формулой метода Ньютона. Алгоритм метода Ньютона предНачало ставлен на рис. 7. Получаемые методом Ньютона точки xi образуют ряд чисел x0, x1, x2, Ввод x3, …, который сходится к точному начальрешению, то есть к корню уравнения. ной точки x 0 Из (11) следует, что каждый шаг метода Ньютона требует большего объема вычислений чем, например, меНомер тод половинного деления, так как приитерации ходится находить значение не только i=0 функции f(x), но и ее производной. Несмотря на это метод Ньютона и его модификации широко используются на Вычисление практике. x i+1 = i=i+1 Это обусловлено, во-первых, тем, = xi - f(xi) / f'(xi) что он не требует задания отрезка [a, b], содержащего корень, а может стартовать от одной начальной точки. ДостаВо-вторых, он имеет более высокую Нет точно мала скорость сходимости, чем ранее рас/ fi / ? смотренные методы. Да Теоретически можно показать, что метод Ньютона позволяет получить Вывод квадратичную сходимость. Это означаx i и fi ет, что на каждой итерации погрешность (отклонение очередного приближения xi от точного решения) Стоп уменьшается по квадратичному закону, то есть количество верных значащих Рис. 7. Алгоритм метода Ньютона цифр решения удваивается.
16
Если на очередном шаге достигнута погрешность не более 0,5 то за пятьшесть итераций она уменьшится до величины порядка 2–64, что сопоставимо с погрешностью вычислений на ЭВМ. В методе половинного деления для достижения такой же погрешности количество итераций потребовалось бы увеличить более чем на порядок. На рис. 8, а представлен ход решения методом Ньютона в графическом виде.
а
б Рис. 8. Метод Ньютона и метод секущих
При использовании метода Ньютона следует учитывать ряд его особенностей. Одна из них состоит в необходимости правильного выбора начального приближения. Чтобы понять, как влияет выбор начальной точки на работу метода, попробуйте графически найти решение для рис. 8, начав его из точки x0 = a. Метод Ньютона обладает локальной сходимостью, то есть способен найти корень, если начальное приближение задано в некоторой малой его окрестности. Если же начальное приближение взято неудачно и функция немонотонна, метод может дать расходящуюся последовательность xi (см. п. 1.5). Другая проблема заключается в том, что производная f ' ( x) в (11) находится в знаменателе. Это означает, что f ' ( x) не должна обращаться в ноль, так как в противном случае итерационная формула перестает работать. Трудности могут возникнуть и в том случае, если f ' ( x) не равна нулю, но достаточно мала, вследствие чего результат деления f ( x) f ' ( x) может оказаться неприемлемо большим. Во многих математических пакетах, например, в MathCAD и MATLAB эти проблемы решаются применением комбинированных алгоритмов, сочетающих достоинства различных методов, например, метода половинного деления и метода Ньютона. Первый обеспечивает устойчивую сходимость и используется на начальном этапе решения, а после некоторого числа итераций включается второй, быстрее приближающийся к корню уравнения.
17
1.3.5. Метод секущих
Производная f ′ ( x) в методе Ньютона может быть найдена аналитически дифференцированием функции f(x). Однако это усложняет подготовительный этап к решению уравнения. На практике часто используют модификации метода Ньютона, свободные от этого недостатка. Одно из упрощений сводится к тому, что производная вычисляется только один раз в начальной точке и затем это значение используется на всех последующих шагах. Данная модификация основывается на предположении о малом изменении производной вблизи корня. Одной из наиболее известных модификаций является метод секущих. В этом методе производная заменяется ее приближенным значением: f ′ ( x ) = lim
∆x →0
f ( x + ∆x ) − f ( x ) ∆x
⇒
F ′( x ) =
f ( xi +1 ) − f ( xi ) . xi +1 − xi
В формуле для F' ( x) в отличие от f ′ ( x) приращение ∆x = xi+1 – xi полагается малым, но ∆x ≠ 0. Геометрическая иллюстрация метода при ∆x < xi показана на рис. 8, б. В случае более жесткого условия ∆x << xi секущие на рис. 8, б практически совпадут с касательными к кривой (см. рис. 8, а). Алгоритм решения методом секущих аналогичен алгоритму метода Ньютона, приведенному на рис. 7 и отличается только видом итерационной формулы, по которой рассчитываются xi. Метод секущих также как и метод Ньютона имеет сверхлинейную, то есть приближающуюся к квадратичной сходимость. 1.3.6. Метод простой итерации
Метод простой итерации основывается на приведении исходного уравнения f(x) = 0 к следующему виду: x = ψ(x). При этом процесс последовательного приближения к корню строится на основе итерационной формулы
xi +1 = ψ( xi ) . Очевидно, получить расчетную формулу можно, используя следующую цепочку преобразований: f ( x) = 0 ⇒ bf ( x) = 0 ⇒ bf ( x) + x = x ⇒
ψ( x)
x = ψ ( x) ,
где b − некоторый не равный нулю сомножитель. На рис. 9 приведены графические иллюстрации, показывающие приближение к корню в методе простой итерации.
18
а
б
Рис. 9. Приближение к корню методом простой итерации
Сходимость процесса приближения к корню в значительной степени определяется видом зависимости ψ(x). На рис. 9 показаны сходящиеся процессы, а на рис. 10 – расходящийся. В последнем случае метод простой итерации не находит решения уравнения. Существенное влияние на сходимость оказывает выбор коэффициента b – сравните, например, рис. 9, а и рис. 10.
Рис. 10. Расходящийся процесс в методе простой итерации
На рис. 9 сходимость обеспечивается для медленно изменяющихся функций ψ(x), для которых выполняется условие | ψ' (x) | < 1. На рис. 10 расходящийся процесс наблюдается для более быстро меняющейся функции | ψ' (x) | > 1. Можно сделать вывод, что для обеспечения сходимости метода простой итерации необходимо выполнить условие | ψ' (x) | < 1. Алгоритм метода простой итерации приведен на рис. 11.
19
Теоретически можно показать, что высокая скорость сходимости обеспечивается при b = −1 f ′ ( x ) . В этом случае метод простой итерации эквивалентен методу Ньютона. Вообще говоря, если в методе Ньютона производная f ′ ( x) каждый раз вычисляется на очередном шаге, то в методе простой итерации для определения b можно вычислить производную в начальной точке x0 и потом сохранять параметр b = −1 f ′ ( x) неизменным. Такой метод, называемый иногда упрощенным методом Ньютона, был рассмотрен в п. 1.3.5.
Начало
Ввод начальной точки x0
Номер итерации i=0
Вычисление
i=i+1
xi+1 = ψ ( xi )
1.3.7. Методы, использующие нелинейную интерполяцию Достаточно мала / fi / ?
Нет
Существует группа численных методов, являющихся развитием идеи Да метода Ньютона. Как правило, они используют различные виды параболической интерполяции. Вывод Различие алгоритмов этих метоxi и fi дов определяется способом построения параболы. Например, в методе Мюллера вначале необходимо Стоп вычислить три исходные точки (x0, f(x0)), (x1, f(x1)) и (x2, f(x2)). Рис. 11. Алгоритм метода По данным трем точкам строится папростой итерации рабола, аппроксимирующая f(x). После этого очередное приближение xi+1 определяется как корень квадратного уравнения, соответствующего параболе. Многократное повторение процедуры обеспечивает последовательное приближение решению. 1.3.8. Методы решения алгебраических уравнений
Для алгебраических уравнений вида (2): a0 + a1 x + a2 x 2 + a3 x 3 + a4 x 4 + ... + an x n = 0
разработаны специальные методы решения. При отыскании корней алгебраических уравнений необходимо учитывать следующие их свойства.
20
1. Алгебраическое уравнение порядка n имеет n корней, которые могут быть действительными или комплексными. 2. Если все коэффициенты ai действительные, то все комплексные корни образуют комплексно-сопряженные пары. 3. Число положительных действительных корней равно или меньше перемен знаков в последовательности коэффициентов ai. 4. Число отрицательных действительных корней равно или меньше перемен знаков в последовательности коэффициентов ai при замене x на –x. Специальные методы решения алгебраических уравнений обычно сводятся к понижению их порядка. Обычно из функции f(x) в левой части уравнения выделяется сомножитель в виде квадратного уравнения:
(x
2
+ px + q )( b0 + b1 x + b2 x 2 + b3 x3 + ... + bn−2 xn−2 ) = 0 .
При этом порядок второго сомножителя снижен на 2 относительно исходного уравнения. Из квадратного уравнения находят два корня по известной формуле, а с оставшимся сомножителем вновь повторяют описанную процедуру понижения порядка. Основной трудностью в данном способе решения является разделение f(x) на сомножители без остатка. Для этого используют специальные итерационные процедуры, позволяющие подбирать приближенные значения коэффициентов p, q, b0, b1, b2, …, bn в обоих сомножителях. Недостатком подобных методов является то, что по мере понижения порядка уравнения накапливается ошибка, обусловленная неточным определение коэффициентов сомножителей. В итоге последние из найденных корней будут определены с наибольшей погрешностью.
1.4. Источники погрешности решения задачи на ЭВМ Рассмотренные итерационные методы поиска корней нелинейных уравнений по своей природе являются приближенными в отличие от прямых методов, дающих точное решение. С точки зрения точности результата использование прямых методов может показаться более предпочтительным. Однако на самом деле при решении задачи на компьютере ответ все равно будет содержать погрешность. В качестве основных источников погрешности обычно рассматривают три вида ошибок. Это так называемые ошибки усечения, ошибки округления и ошибки распространения. Рассмотрим их. 1.4.1. Ошибки усечения
Этот вид ошибок связан с погрешностью, заложенной в самой задаче. Он может быть обусловлен неточностью определения исходных данных. Например, если в условии задачи заданы какие-либо размеры, то на практике
21
для реальных объектов эти размеры известны всегда с некоторой точностью. То же самое касается любых других физических параметров. Сюда же можно отнести неточность расчетных формул и входящих в них числовых коэффициентов. Большое число расчетных формул являются эмпирическими и дают результат с некоторой погрешностью, содержат подгоночные коэффициенты, обеспечивающие приемлемую ошибку в ограниченном диапазоне входных параметров. Поэтому, как правило, если исходные данные известны с некоторой погрешностью, вряд ли стоит пытаться получить результат с меньшей погрешностью. 1.4.2. Ошибки распространения
Данный вид ошибок связан с применением того или иного способа решения задачи. В ходе вычислений неизбежно происходит накопление или, иначе говоря, распространение ошибки. Помимо того, что сами исходные данные не являются точными, новая погрешность возникает при их перемножении, сложении и т. п. Накопление ошибки зависит от характера и количества арифметических действий, используемых в расчете. Обычно для решения одной и той же задачи может быть использован ряд различных методов решения. Например, систему линейных алгебраических уравнений можно решить методом Гаусса или через определители (методом Крамера). Теоретически оба метода позволяют получить точное решение. Однако на практике при решении больших систем уравнений метод Гаусса обеспечивает меньшую погрешность, чем метод Крамера, так как использует меньший объем вычислений. 1.4.3. Ошибки округления
Это тип ошибок связан с тем, что истинное значение числа не всегда точно сохраняется компьютером. При сохранении вещественного числа в памяти компьютера оно записывается в виде мантиссы и порядка, примерно так же, как отображается число на дисплее калькулятора (см. рис. 12). ±
R1 R2 R3
.
.
.
Мантисса
.
.
.
Rn
±
D1 D2
.
.
.
Dm
Порядок
Рис. 12. Структура записи вещественного числа
Здесь R1, R2, R3, … Rn – разряды мантиссы, D1, D2, …, Dm – разряды порядка. На самом деле конечно, в отличие от дисплея калькулятора, мантисса и порядок числа, включая их знаки, в памяти компьютера хранятся в двоичном виде. Но для обсуждения природы ошибок округления это различие не столь принципиально.
22
Понятно, что иррациональные числа такие, как π = 3,14159… и e = 2,712… не могут быть представлены в памяти компьютера в принципе. Однако же и рациональные числа, если количество их значащих цифр превышает число отведенных разрядов мантиссы (см. рис. 12), будут представлены не точно. При этом цифра последнего сохраняемого в ЭВМ разряда может быть записана с округлением или без него. Фактически при заданной структуре хранения числа компьютер может использовать не бесконечное, а конечное число рациональных чисел, которые вписываются в приведенную на рис. 12 схему. Поэтому любой входной параметр решаемой задачи, ее промежуточный результат и окончательной ответ всегда округляются до разрешенных в компьютере чисел. Следующий важный вывод касается диапазона представления чисел в ЭВМ. Если проводить рассуждения для десятичной системы счисления, то максимальное по модулю число, которое может быть представлено в соответствии со схемой на рис. 12, равно ±X∞ = ± 999 … 9 × 10 +99 … 9 .
Все числа, превышающие по модулю X∞, не представимы в ЭВМ и рассматриваются как машинная бесконечность. Если в ходе расчетов будет получен результат, превышающий X∞, то произойдет аварийное завершение вычислений по переполнению. Нетрудно убедиться опытным путем, что, например, в MathCAD верхний диапазон чисел соответствует X∞ ~ 10307. Минимальное по модулю число, сохраняемое в памяти компьютера, по схеме на рис. 12 равно ±X0 = ± 000 … 1 × 10 –99 … 9 .
Числа, модуль которых меньше X0, воспринимаются ЭВМ как нуль, точнее как машинный нуль. Если при выполнении расчетов будет получен результат меньше, чем X0, то это будет воспринято как потеря порядка. Обычно в подобной ситуации результат полагается равным нулю, и вычисления продолжаются. На рис. 13 показана "машинная" числовая ось, на которой отмечены X0 и X∞ . Числа располагаются на оси неравномерно. Их плотность возрастает по мере приближения к нулю.
Рис. 13. "Машинная" числовая ось
23
На рис. 13 вблизи единицы отмечена небольшая область εм, которую называют машинное эпсилон. Параметр εм весьма важен, так как он характеризует относительную точность представления чисел в компьютере. В зависимости от способа округления чисел в ЭВМ величина εм определяется первым отбрасываемым или последним сохраняемым разрядом мантиссы. Следует иметь ввиду, что длина мантиссы в памяти компьютера устанавливается программно. Например, при выполнении расчетов на языке ФОРТРАН с использованием "обычной" точности (двоичная запись числа длиной четыре байта) εм ~ 10–7. При удвоенной длине мантиссы εм ~ 10–16.
1.5. Использование специализированных математических пакетов В настоящее время широко известны специальные математические пакеты, облегчающие решение задач на компьютере. Это, например, системы MATLAB и MathCAD, ориентированные на решение широкого круга математических задач. Они имеют удобный дружественный интерфейс, объектноориентированный язык, набор элементарных математических и специальных функций, встроенные графические средства. Рассмотрим их применение для решения нелинейных уравнений. 1.5.1. Поиск корней нелинейных уравнений в MathCAD
Благодаря встроенным функциям root, Find и Minerr система MathCAD обеспечивает получение готового решения уравнений без составления программы. Однако не во всех случаях результат может оказаться верным, даже при отсутствии видимых ошибок. Ниже рассматриваются примеры решения задач в MathCAD, обсуждаются вычислительные проблемы и способы их преодоления. MathCAD освобождает пользователя от необходимости программирования алгоритма решения уравнений. Однако основной принцип работы в MathCAD – решение без программирования – имеет помимо очевидных достоинств и обратную сторону: неуверенность в результате вычислений. Эта неуверенность объясняется тем, что процесс решения скрыт от пользователя и не может быть проконтролирован непосредственно. Примеры вычислений с ошибочным результатом приведены ниже. Зададим функцию, содержащую гиперболические синус и косинус: f(x) = sh(x) / (ch(x))2. График этой функции в интервале –8 < x < 8 представлен на рис. 14, а. Корнем этой функции является x = 0. Слева и справа от этой точки f(x) имеет минимум и максимум, а при удалении от начала координат f(x) приближается к нулю. С формальной точки зрения решение уравнения f(x) = 0 не должно вызывать проблем, поскольку функция не содержит разрывов и имеет один корень во всей области определения неизвестного – ∞ < x < + ∞.
24
а
б
Рис. 14. Графики функций f(x) = sh(x) / (ch(x)) 2 и f(x) = sh(x) / (ch (x))
При начальном приближении x = –0,5 процедура root довольно уверенно определяет значение корня: x:= -0.5 f(x):=sinh(x)⋅(cosh(x)) –7 root(f(x),x) = -7.351×10
–2
Однако сравнительно небольшое изменение начальной точки – до x = –0,7 приводит к заведомо неверному результату. Причём с увеличением требований к точности (параметр TOL) результаты удаляются от корня: x := -0.7 x := -0.7 x := -0.7
–3
TOL := 10 –6 TOL := 10 –9 TOL := 10
root(f(x),x) = 7.829 root(f(x),x) = 14.958 root(f(x),x) = 21.89
Причина ошибок кроется как в характере зависимости f(x), так и в особенностях работы процедуры, обеспечивающей решение. При начальном приближении x = -0,7 алгоритм root (в основу которого положен метод секущих) попадает на внешний правый по отношению к x = 0 склон зависимости f(x) (см. рис. 14, а) и "скатывается" по этому склону в поисках нуля f(x) в сторону +∞. Это видно по возвращаемым функцией root числам. Очевидно, что результаты решения неверны. Однако система не выдаёт никаких сообщений об ошибке. Это объясняется тем, что MathCAD считает корнем не то значение x, при котором f(x) точно равна нулю, а то, при котором f(x) не превышает значения системной переменной TOL, равной по умолчанию 10–3. Данное условие во всех трёх случаях выполняется. С увеличением требований к точности расчёта (то есть с уменьшением TOL) возвращаемые root числа все больше отклоняются от корня x = 0, так как с ростом | x | функция f(x) приближается к нулю. Расчёты при различных начальных значениях x показывают, что границы области сходимости в рассматриваемой задаче примерно соответствуют условию | x | < 0,6. Аналогичный результат дает альтернативная запись решения методом Ньютона.
25
Для успешного решения уравнения необходимо правильно выбирать не только начальное приближение, но и критерий точности расчёта. Иллюстрацией этого служит пример решения модифицированного уравнения, отличающегося от рассмотренного множителем 10–3: –3
x := –0.5 TOL := 10 –3 root(f(x)⋅10 ,x) = 0.307 Корни исходного уравнения f(x) = 0 и нового f(x)⋅10–3 = 0 должны совпадать. Однако MathCAD выдаёт неверный результат. Эта ошибка объясняется тем, что функция f(x)⋅10–3 при любых значениях x не превышает значения параметра TOL. Чтобы получить разумный результат, необходимо скорректировать требования к точности, выбрав, например, TOL = 10–6. В этом случае MathCAD возвращает x = –7,35117⋅10–7. В ряде случаев особенности уравнения могут привести к неработоспособности алгоритма поиска корня. Например, для уравнения f(x) = sh(x) / (ch(x)) будет выдано следующее сообщение: x := 2 TOL := 10-3
root sinh(x) ⋅ (sinh(x))-1, x = Found a number with a magnitude greater than 10^307 while trying to evaluate this expression
Неудача объясняется тем, что функция имеет пологие участки слева и справа от точки x = 0 (см. рис. 14, б). Поскольку алгоритм root на каждом итерационном шаге делит значения функции f(x) на численный эквивалент её производной, возникает переполнение (overflow), так как производная f ′ ( x) при | x | ≥ 2 близка к нулю. Опасность ошибок, подобных рассмотренным выше, состоит в том, что они могут остаться незамеченными, поскольку MathCAD не выдаёт никаких предупреждающих сообщений. Поэтому при решении уравнений желательно придерживаться следующих правил. Во-первых, необходимо сначала провести отделение корней уравнения. Во-вторых, желательно выполнить поиск решения несколько раз от различных начальных точек. Решение следует подвергать проверке, если его правильность не очевидна.
26
Приведённые примеры не свидетельствуют о слабости встроенных в MathCAD процедур решения уравнений. С подобными проблемами можно столкнуться и при использовании других средств, например, MATLAB или пакетов прикладных программ для численных расчётов. 1.5.2. Поиск корней нелинейного уравнения в MATLAB
В MATLAB реализована процедура поиска корней уравнения в виде функции fzero, использующей комбинацию методов половинного деления, секущих и обратной квадратичной интерполяции (в версиях до 4.Х использовалась процедура ZEROIN). Обращение к функции можно записать в виде X1=fzero(FUN,X0,OPTIONS),
где FUN – строка, содержащая имя действительной функции f(x) действительной переменной x, X0 – начальное приближение x, OPTIONS – опции решения. Если структура OPTIONS пропущена или заменена пустой матрицей [ ] , используются установленные по умолчанию настройки процедуры решения. Поскольку имя функции f(x) указывается как строчная переменная FUN, оно должно быть заключено в апострофы или выделено символом @. Например, для функции f(x) = sin(x) после ввода строки X=fzero('sin',3) возвращается результат X=3.14159... . Любая более сложная функция f(x), для которой требуется найти корень, может быть задана с помощью m-файла. Рассмотрим задачу, представленную в демонстрационных примерах пакета MATLAB. Решение отыскивается для тестовой функции humps(x), записанной в файле humps.m в виде y=1.0/((x-0.3).^2+0.01)+1.0/((x-0.9).^2+0.04)-6 .
Графический анализ (см. рис. 15) показывает, что данное уравнение имеет корень вблизи x = 1,3.
Рис. 15. График функции humps(x), построенный в MATLAB
27
Уточнение второго корня с помощью функции fzero выполняется при начальном приближении x = 1.0: X = fzero(@humps,1.,OPTIMSET(’Display’,’iter’))
Поскольку в наборе опций OPTIMSET задан параметр iter, на экран выводятся промежуточные значения расчётных параметров. При этом выходная переменная x принимает следующие значения: X = 1.0; 0.9717; 1.0283; 0.96; 1.04 ... 1.29955 .
Последнее число, соответствующее корню уравнения, выводится на двадцать втором шаге решения. Заключительные пять шагов используют интерполяционную процедуру – они отмечены словом "interpolation". 2. УКАЗАНИЯ К ВЫПОЛНЕНИЮ РАБОТЫ
2.1. Подготовка к работе Изучите методы решения уравнений на ЭВМ, используя указанную литературу. Обратите особое внимание на следующие вопросы: 1. Виды уравнений и их основные свойства; 2. Основные свойства аналитических и итерационных методов решения уравнений; 3. Методы исследования уравнений и отделения корней; 4. Итерационные методы поиска корней уравнения на ЭВМ.
2.2. Порядок выполнения работы 1. На основании полученного задания определите вид уравнения, которое требуется решить. Проведите графическое исследование уравнения. 2. Составьте алгоритм решения задачи и подготовьте программу на одном из языков программирования высокого уровня. 3. Выполните расчет на ЭВМ с помощью программы. 4. Решите задачу с помощью пакета MathCAD, MATLAB или другого. Сравните полученный результат с предыдущим решением. 5. Оформите отчет по работе.
2.3. Содержание отчета 1. Цель работы. 2. Задание. 3. Описание метода решения, краткие сведения из теории (формулы, алгоритм и т.п.).
28
4. Программа (распечатка), ее описание. 5. Результаты расчета при различных начальных приближениях. 6. Решение с помощью программы и специализированного пакета (MathCAD, MATLAB и т. п.), сравнение результатов. 7. Краткие выводы по работе.
2.4. Контрольные вопросы 1. Опишите свойства алгебраических и трансцендентных уравнений. 2. Для чего производится процедура отделения корней и предварительное исследование уравнений. Приведите пример. 3. Приведите примеры известных вам способов исследования нелинейных уравнений. 4. Опишите основные свойства прямых и итерационных методов решения уравнений. 5. Что понимают под сходимостью итерационной процедуры? Ответ поясните примерами. 6. Что такое область сходимости применительно к итерационной процедуре? 7. Поясните, что такое скорость сходимости и как она связана с эффективностью метода. 8. Опишите метод половинного деления. 9. Опишите метод хорд. Назовите его достоинства и недостатки. 10. Опишите метод секущих. Дайте его сравнительную характеристику. 11. Опишите метод касательных. Укажите его достоинства и недостатки. 12. Опишите метод простой итерации. Дайте его характеристику. 13. Приведите пример итерационного метода, использующего квадратичную интерполяцию для решения нелинейных уравнений на ЭВМ. 14. Какие специальные методы применяются для решения алгебраических уравнений? 15. Почему на практике часто применяют комбинированные алгоритмы, включающие в себя различные методы отыскания корней? 16. Расскажите об особенностях представления чисел в ЭВМ. Как влияет способ представления чисел в ЭВМ на точность расчетов? 17. Что такое машинный нуль, машинная бесконечность и машинное ε ? Как эти параметры влияют на точность расчетов на ЭВМ? 18. Для чего используется нормировка уравнений при их решении на ЭВМ? 19. Назовите три основных источника погрешностей при решении задач на ЭВМ, их природу и способы уменьшения.
29
3. ВАРИАНТЫ ЗАДАНИЙ
Ниже приведены варианты заданий. Каждое из них включает ряд вариантов, отличающихся друг от друга набором исходных данных. Все параметры в формулах, если не оговорено иное, следует записывать в системе СИ. Задание 1. Заземлитель в форме кольца радиусом r расположен в грунте на глубине h. Его сопротивление при h >> r рассчитывается по формуле
R=
1 πr 16 r + ln , 2 4π rG h d
где π = 3,14…, G − электропроводность грунта, d − диаметр проводника из которого изготовлено кольцо. Задавшись параметрами h и d, указанными в таблице, а также приняв G = 0,03 1/Ом⋅м, найдите радиус r, обеспечивающий требуемое сопротивление заземления R . Вариант Параметр 1-1 1-2 1-3 1-4 1-5 1-6 h, м 1,2 1,1 0,9 1,5 1,6 1 d, м 0,03 0,02 0,015 0,025 0,014 0,035 R, Ом 17 25 22 15 16 21 Задание 2. Заземлитель, изготовленный в виде решетки прямоугольной формы из металлических труб, расположен горизонтально в грунте на глубине h. Сопротивление заземлителя рассчитывается по формуле
L2 ln + 4,95 2 r h R= , 2 π LG где π = 3,14…, L = 6×l − суммарная длина труб, r − радиус труб, h − глубина, G − удельная электропроводность грунта. Задавшись параметрами r = 0,01 м, h (из таблицы), определите размер l, соответствующий требуемому сопротивлению R. Вариант Параметр 2-1 2-2 2-3 2-4 2-5 2-6 1 0,02 0,015 0,01 0,025 0,02 0,025 G, /Ом⋅м r, м 0,025 0,015 0,035 0,03 0,01 0,03 h, м 1 1,2 0,8 1,5 1,5 1,2 R, Oм 15 12 16 9 12 8
30
Задание 3. Электрическая емкость системы двух параллельных пластин прямоугольной формы (см. рисунок) при a ≥ d и b ≥ d может быть определена по формуле
C = ε1ε0
ab 1 d 2πa 1 d 2πb 1 + ln 1 + ln 1 + 1 + , d π a d π b d где ε1 − относительная диэлектрическая проницаемость среды, ε0 = 8,85⋅10–12 Ф/м; a и b − размеры пластин; d − расстояние между пластинами, π = 3,14…. Найдите зазор d, обеспечивающий получение требуемой емкости C при указанных в таблице параметрах.
Параметр a, м b, м ε1 С, пФ
3-1 0,002 0,005 4,1 10
3-2 0,004 0,007 10 2
Вариант 3-3 3-4 0,004 0,02 0,006 0,01 3,7 7 6,5 10
3-5 0,015 0,008 9,6 15
3-6 0,009 0,012 5,1 9
Задание 4. Электрическая емкость двух коаксиальных плоских дисков (см. рисунок) при L / R < 1 рассчитывается по формуле πR 16πR + ln C = ε1ε0 R − 1 , L L
где ε1 − относительная диэлектрическая проницаемость среды, ε0 = 8,85⋅10–12 Ф/м, R − радиус дисков, L − расстояние между дисками, π =3,14... . Найдите радиус R, удовлетворяющий требуемому значению емкости С, при заданных в таблице параметрах ε1 и L . Параметр ε1 L, мм C, пФ
4-1 1 1 100
4-2 2 1 33
Вариант 4-3 4-4 4 10 4 5 20 27
4-5 10 4 36
4-6 4 3 47
31
Задание 5. В интегральных схемах используют планарные конденсаторы, имеющие вид металлического диска, расположенного в круглом вырезе металлизации на поверхности диэлектрической подложки (см. рисунок). Емкость такого конденсатора определяется по формуле 2 r r 1+ r R C = 2 ε1ε0 R 1 + + 1 − ln , R 1− r R R где ε1 − относительная диэлектрическая проницаемость диэлектрика, ε0 = 8,85⋅10−12 Ф/м, R − радиус выреза, r – радиус диска. Задавшись указанными в таблице параметрами ε 1 и r, найдите радиус R, обеспечивающий требуемую емкость С.1 Вариант Параметр 5-1 5-2 5-3 5-4 5-5 5-6 1 12 10 4 11 7 ε1 r, мм 31 5 4,5 10 20 10 С, пФ 4,7 6 5,5 4,5 35 7,5
Задание 6. В интегральных схемах используются плоские катушки индуктивности в виде круглой металлической спирали. Индуктивность такой катушки (в наногенри) приближенно определяется по формуле 8a 1 c 2 8a 1 2 L = 0,4 ⋅π N a ln + ln + 3,583 − , 2 c 24 a c где π = 3,14…, N − число витков, a = (R1 + R2) / 2, с = R2 – R1, R1 и R2 − внутренний и внешний радиусы. Все размеры в формулах указаны в миллиметрах. Найдите радиус R2, удовлетворяющий требуемому значению индуктивности L при указанных в таблице N и R1. Вариант Параметр 6-1 6-2 6-3 6-4 6-5 6-6 R1, мм 1,5 2 1,3 2 1,5 2 6 3,5 5 2 3 2,5 N L, нГн 250 120 230 35 77 68
32
Задание 7. В гибридных интегральных схемах используются плоские пленочные катушки индуктивности в виде квадратной спирали. Индуктивность такой катушки (в наногенри) приближенно определяется по формуле
L = 2,41 ⋅ a N
5 3
8a ln , c
где N − число витков, a = (R1 + R2) / 2, c = R2 – R1, R1 и R2 − размеры внутреннего и внешнего витков катушки. Размеры в формулах указаны миллиметрах. Задавшись числом витков N и размером R1, найдите параметр R2, обеспечивающий заданную индуктивность L (значения N, R1 и L даны в таблице). Параметр N R1, мм L, нГн
7-1 4 1 100
7-2 5 2,5 430
Вариант 7-3 7-4 3 4,5 2 1 160 180
7-5 3,5 1,5 140
7-6 5 1 170
Задание 8. В гибридных интегральных схемах в качестве одновитковой индуктивности может применяться тонкая металлическая полоска, нанесенная на диэлектрическую подложку в виде круглой петли (см. рисунок). Индуктивность такой петли в наногенри приближенно определяется по формуле 8πR L = 1,257 ⋅ R ln − 2 , W t + где R − радиус средней линии петли, W − ширина металлической полоски, t − ее толщина. Все размеры в формуле указаны в миллиметрах. Найдите размер R, удовлетворяющий требуемому значению L при заданных параметрах W и t (их значения указаны в таблице). Параметр W, мм t, мм L, нГн
8-1 0,5 0,03 25
8-2 2 0,035 72
Вариант 8-3 8-4 1 1,25 0,01 0,035 60 37
8-5 1,5 0,03 45
8-6 0,75 0,025 42
33
Задание 9. Для экспериментально полученной прямой ветви вольтамперной характеристики полупроводникового диода при u < 0,6 В подобрана аппроксимация в виде степенного многочлена: i = a u + b u 2 + c u3 + d u 4 + e u5 ,
где ток i задан в миллиамперах, напряжение u – в вольтах. Используя аппроксимацию, найдите напряжение на диоде, при котором через него будет протекать заданный в таблице ток i. При составлении уравнения используйте указанные в таблице параметры a, b, c, d и e. Параметр i, мА a, мА/В b, мА/В2 c, мА/В3 d, мА/В4 e, мА/В5
9-1 11 0,2 97 88 350 112
9-2 15 2,3 150 120 457 97
Вариант 9-3 9-4 22 25 112 32 215 67 110 275 465 84 149 52
9-5 32 39 140 97 192 76
9-6 47 15 22 217 118 56
Задание 10. Коэффициент нелинейности полупроводникового нелинейного резистора (варистора) β определяется как отношение статического R и дифференциального r сопротивлений. При заданном постоянном напряжении зависимость β от температуры описывается выражением
β=
R r
2
=
T + K T − K T0 2
T − K T + K T0
,
где Т – температура активной области варистора, Т0 – температура окружающей среды, K – коэффициент температурной чувствительности рабочего слоя варистора. Найдите значение Т, при котором обеспечивается заданное значение β для известных K и Т0. Параметр β K, К Т0, К
10-1 1,5 700 303
10-2 2,5 1200 300
Вариант 10-3 10-4 2,0 7,5 1000 2780 293 313
10-5 1,5 900 299
10-6 2,5 1500 303
34
Задание 11. Конструкция радиоэлектронного устройства содержит консольный тонкий однородный стержень. Частоты механических резонансов стержня при таком закреплении определяются из уравнения cos(x) ch(x) + 1 = 0 , где x = kL – безразмерный параметр, k – волновое число, L – длина стержня. Собственная частота стержня ω связана с параметром k соотношением
ω = k 2 EJ m0 , где E – модуль упругости материала, J – момент инерции сечения, m0 – погонная масса стержня. Найдите первые пять резонансных частот стержня при заданных в таблице исходных данных. Параметр L, м Е, Н/м2 J, м4 m0, кг/м
11-1 0,2 3⋅1010 1⋅10−12 1
11-2 0,1 5⋅1010 2⋅10−12 2
Вариант 11-3 11-4 1,0 0,05 10 6⋅10 5⋅1010 1⋅10−12 2⋅10−12 1 0,8
11-5 0,1 3⋅1010 1⋅10−12 0,7
11-6 0,2 8⋅1010 1⋅10−12 1,5
Задание 12. Конструкция электронного устройства содержит тонкий однородный стержень, жестко закрепленный на концах. Частоты механических резонансов стержня при таком закреплении определяются из уравнения cos(x) ch(x) − 1 = 0 , где x = kL – безразмерный параметр, k – волновое число, L – длина стержня. Собственная частота стержня ω связана с параметром k соотношением
ω = k 2 EJ m0 ,
где E – модуль упругости материала, J – момент инерции сечения, m0 – погонная масса стержня. Найдите первые пять резонансных частот стержня при заданных в таблице исходных данных. Параметр L, м Е, Н/м2 J, м4 m0, кг/м
12-1 0,2 3⋅1010 1⋅10−12 1
12-2 0,1 5⋅1010 2⋅10−12 2
Вариант 12-3 12-4 1,0 0,05 10 6⋅10 5⋅1010 1⋅10−12 2⋅10−12 1 0,8
12-5 0,1 3⋅1010 1⋅10−12 0,7
12-6 0,2 8⋅1010 1⋅10−12 1,5
35
Задание 13. Линии связи в высокочастотных интегральных схемах выполняют в виде полосковых структур. При их расчете используют вспомогательный параметр − эффективную диэлектрическую проницаемость εэфф, учитывающую вклад диэлектрической проницаемости подложки и находящегося над ней воздуха. Для узкой полоски металла (W/h < 1) эта величина определяется по формуле ε + 1 ε1 − 1 ln ( π / 2 ) + ln ( π/4 ) / ε1 ε эфф = 1 ⋅ 1 + , 2 ε1 + 1 ln ( 8h / W )
где ε1 − относительная диэлектрическая проницаемость материала подложки, h − толщина подложки, W − ширина проводящей полоски. Задавшись приведенными в таблице параметрами h и W, определите проницаемость ε1, удовлетворяющую указанному значению εэфф. Вариант Параметр 13-1 13-2 13-3 13-4 13-5 13-6 h, мм 2 0,5 1 0,5 0,5 1 W, мм 1 0,2 0,3 0,4 0,1 0,3 5,3 4,8 5,5 3,5 4,3 4,8 εэфф Задание 14. Для защиты от вибрации блок самолетной радиолокационной станции установлен на четырех амортизаторах. Система амортизации при этом может иметь до шести собственных механических резонансов, частоты которых определяются уравнения Aω12 + Bω10 + Cω8 + Dω6 + Eω4 + F ω2 + G = 0, где A, B, C, D, E, F, G − коэффициенты, определяющиеся параметрами конструкции, ω – частота колебаний. Найдите резонансные частоты для заданных коэффициентов уравнения. Вариант Параметр 14-1 14-2 14-3 14-4 14-5 14-6 0,01 0 0 0,1 1 0 А 1 0,01 0,02 –20 0 0 B –78 1 0,1 102 –29900 1 C 3 3 3 3 0 –116 D 2,1⋅10 –1,25⋅10 –2,56⋅10 –8,98⋅10 4 5 5 6 26400 E –2,5⋅10 1,85⋅10 3,45⋅10 8,76⋅10 4,3⋅103 F 1,2⋅105 –8,75⋅106 –9,95⋅106 –7,5⋅105 9,12⋅108 –5,3⋅104 G –1,9⋅105 8,9⋅107 2,7⋅107 –3,3⋅108 –1,75⋅109 8,9⋅104
36
Задание 15. Волновое сопротивление двухпроводной линии рассчитывается по формуле 276 D D2 Z0 = lg + 1 + 2 , d d ε где ε − относительная диэлектрическая проницаемость среды, в которой находится двухпроводная линия, d и D – соответственно диаметры проводников и расстояние между их осями. Определите параметр D, обеспечивающий требуемое сопротивление Z0 при заданных ε и d. Исходные данные приведены в таблице. Параметр Z0, Ом ε d, мм
15-1 600 1 0,5
15-2 150 4 1,5
Вариант 15-3 15-4 350 225 1 3,5 1 2
15-5 150 2,5 1
15-6 100 3 1,5
Задание 16. Погонные потери мощности в проводниках коаксиальной линии, выполненной из меди, определяются по формуле 1,898 ⋅ 10−4 ε f (1 + D d ) α= , D ln ( D d )
где потери α определяются в дБ/м (децибелл на метр), d и D − соответственно диаметры центрального проводника и экрана (измеряются в метрах), ε − относительная диэлектрическая проницаемость среды между проводником и экраном, f − частота (измеряется в гигагерцах). Задавшись указанными в таблице параметрами ε, f и d, определите диаметр D, удовлетворяющий заданному значению α. Параметр ε f, ГГц d, м α, дБ/м
16-1 2,5 0,1 1⋅10–3 0,1
16-2 3 0,01 2⋅10–3 0,02
Вариант 16-3 16-4 7 2,7 0,05 0,2 –3 0,5⋅10 2⋅10–3 0,2 0,14
16-5 1 0,2 0,5⋅10–3 0,22
16-6 4 0,07 1,5⋅10–3 0,05
37
Задание 17. Погонные потери мощности в прямоугольном металлическом волноводе, выполненном из меди, для основного типа волны H10 определяются по формуле 2b λ 2 0,14 1 + a 2a α= , b λ 1 − ( λ 2a )
2
где потери α определяются в дБ/м (децибелл на метр), a и b − поперечные размеры волновода, λ − длина волны. Величины a, b и λ в формулу следует подставлять в сантиметрах. Задавшись указанными в таблице размерами a и b, определите длину волны λ, удовлетворяющую заданному значению α и условию a < λ < 2a. Параметр a, cм b, см α, дБ/м
17-1 2,3 1 0,4
17-2 1,6 0,8 0,3
Вариант 17-3 17-4 1,3 1,1 0,65 0,55 0,5 0,4
17-5 0,9 0,45 0,7
17-6 0,72 0,34 1,2
Задание 18. Погонные потери мощности в круглом металлическом волноводе, выполненном из меди, для основного типа волны H11 определяются по формуле 2 0,14 0,418 + 0,086 ( λ R ) , α= 2 R λ 1 − 0,086 ( λ R )
где потери α определяются в дБ/м (децибелл на метр), R − радиус волновода, λ − длина волны. Величины a и λ в формулу следует подставлять в сантиметрах. Задавшись указанным в таблице радиусом a, определите длину волны λ, удовлетворяющую заданному значению α и условию 2,1 R < λ < 3,4 R. Параметр R, cм α, дБ/м
18-1 10 0,01
18-2 8 0,012
Вариант 18-3 18-4 6 5 0,02 0,03
18-5 5 0,05
18-6 2,5 0,04
38
Задание 19. Экспериментально установлено, что зависимость деформации z конусной пружины от приложенной силы F можно рассчитать по формуле z = AF 4 + BF 3 + CF 2 + DF , где A, B, C и D − постоянные, определяющиеся конструкцией пружины. При подстановке в формулу значения силы F в ньютонах деформация z определяется в миллиметрах. Задавшись приведенными в таблице параметрами A, B, C и D, определите силу силу F, удовлетворяющую указанному значению z. Параметр А B C D z, мм
19-1 0,02 0,4 0,1 1,2 6
19-2 0,01 0,04 0,5 1,3 5
Вариант 19-3 19-4 0,01 0,005 0,3 0,01 0,1 0,1 2,1 1,9 3 2
19-5 0,003 0,02 0,4 1,1 4
19-6 0,01 0,05 0,2 3 5
Задание 20. Экспериментально установлено, что зависимость угла закручивания φ плоской спиральной пружины от приложенной силы F можно рассчитать по формуле ϕ = A F + B exp(CF ),
где A, B и C − коэффициенты, определяющиеся конструктивными параметрами пружины. При подстановке в формулу значения силы F в ньютонах угол φ определяется в градусах. Задавшись приведенными в таблице коэффициентами A, B и C, определите силу F, удовлетворяющую указанному значению φ. Параметр А B C φ, град.
20-1 1 2 0,5 10
20-2 2 1 0,8 18
Вариант 20-3 20-4 2 0,5 1,5 1,2 0,5 1 15 25
20-5 1,3 4,8 0,2 16
20-6 2,2 2,4 0,7 17
39
Лабораторная работа № 2 МЕТОДЫ РЕШЕНИЯ ОБЫКНОВЕННЫХ ДИФФЕРЕНЦИАЛЬНЫХ УРАВНЕНИЙ 1. КРАТКИЕ ТЕОРЕТИЧЕСКИЕ СВЕДЕНИЯ
Инженерные и научные задачи часто связаны с решением дифференциальных уравнений, так как с помощью последних описываются многие физические явления. Соответственно процессы в технических устройствах так же описываются дифференциальными уравнениями. Природа этих процессов различна. При анализе тепловых режимов аппаратуры рассчитывают тепловые потоки, при изучении электромагнитных процессов – электрические и магнитные поля, при оценке прочности изделий вычисляют механические напряжения и деформации. К сожалению, для многих практически важных случаев задачи, описываемые дифференциальными уравнениями, весьма сложны, и получить их точное решение оказывается затруднительно или невозможно. Эти трудности могут быть связаны с видом уравнения, например, с его нелинейным характером. Однако решить подобные сложные задачи также как и более простые можно с помощью компьютера. Поэтому методы решения дифференциальных уравнений на ЭВМ широко применяются в инженерной практике.
1.1. Задача Коши и краевая задача Методы решения задач, содержащих обыкновенные дифференциальные уравнения, зависят от их математической формулировки. Рассмотрим их. 1.1.1. Классификация уравнений
Дифференциальные уравнения принято делить на две группы: обыкновенные дифференциальные уравнения и уравнения в частных производных. В данной лабораторной работе рассматриваются методы решения задач, описываемых обыкновенными дифференциальными уравнениями. Эти уравнения содержат только одну независимую переменную, в качестве которой может выступать время или пространственная координата. Иначе говоря, в таких уравнениях все функции зависят только от одной переменной и их производные по этой переменной являются полными. Уравнения в частных производных содержат более одной независимой переменной. Этими переменными могут быть, например, одновременно пространственные координаты и время или только пространственные координаты для статической задачи. В таких уравнениях производные от функций по любой из независимых переменных являются частными. Кроме того, уравнение может содержать смешанные производные. Подобного рода задачи и методы их решения будут рассмотрены в следующей лабораторной работе.
40
1.1.2. Задача Коши
Важным элементом задач, содержащих дифференциальные уравнения, являются дополнительные условия, которые необходимы для получения количественного решения. Применительно к обыкновенным дифференциальным уравнениям различают два вида задач: задачу с начальными условиями (задачу Коши) и задачу с краевыми условиями (краевую задачу). Задачу Коши можно сформулировать следующим образом. Дано обыкновенное дифференциальное уравнение du ( x) = f ( x, u ) dx
(1)
u(x0)=u0.
(2)
и начальное условие Требуется найти функцию u(x), удовлетворяющую уравнению (1) и начальному условию (2). На практике подобные задачи обычно связаны с расчётом переходных электрических, нестационарных тепловых или механических процессов при заданном в некоторый начальный момент времени исходном состоянии системы. Формулировка краевой задачи будет рассмотрена в п. 1.4.
1.2. Одношаговые методы решения задачи Коши К одношаговым относятся метод Эйлера (первого порядка), его модификация (второго порядка) и методы Рунге–Кутта (более высоких порядков). 1.2.1. Метод Эйлера
Этот метод является простейшим численным методом решения задачи Коши. Рассмотрим его на примере решения обыкновенного дифференциального уравнения первого порядка (1) с соответствующим начальным условием (2). Расчетную формулу метода Эйлера можно получить, используя разложение функции u(x) в ряд Тейлора в окрестности некоторой точки xi: u ( xi + h ) = u ( xi ) + h
du ( xi ) h 2 d 2u ( xi ) h3 d 3u ( xi ) + + + ... . dx 2! dx 2 3! dx 3
(3)
Если приращение h мало (то есть h << xi), то члены ряда, начиная со слагаемого, включающего h во второй степени, могут быть отброшены как малые величины. Тогда из (3) в первом приближении получим
41
u ( xi + h ) = u ( xi ) + h
du ( xi ) . dx
(4)
Воспользуемся формулой (4), применив ее к единственной известной из условия задачи точке x0. Найдем в x0 производную du(x0)/dx, подставив (2) в (1): du ( x0 ) = f x0 , u ( x0 ) = f ( x0 , u0 ) . dx Подставив последнее выражение в (4) и полагая xi = x0, получим
u ( x0 + h ) = u ( x0 ) + hf ( x0 , u ( x0 ) ) или, сокращая обозначения, в окончательном виде u1 = u0 + hf ( x0 , u0 ) . Таким образом, (4) при известном значении функции u0 = u(x0) в начальной точке x0 позволяет найти приближенное значение u1 = u(x1) при малом смещении h от x0. На рис. 1 графически показан начальный шаг решения методом Эйлера.
Рис. 1. Метод Эйлера
Решение можно продолжить, используя найденное значение функции u1 для вычисления следующего значения – u2. Распространяя эти рассуждения на последующие точки, запишем расчетную формулу метода Эйлера в виде ui +1 = ui + hf ( xi , ui ) , i = 0,1,2,... . (5) Из рис. 1 видно, что ошибка метода Эйлера на шаге связана с используемой линейной аппроксимацией u(x). Хотя тангенс угла наклона касатель-
42
ной к кривой точного решения в точке (x0,u0) известен и равен du(x0)/dx, он изменяется при смещении от x0 до x1. Следовательно, при сохранении начального наклона касательной на всем интервале h расчет u1 выполняется с погрешностью. Ошибка метода Эйлера на каждом шаге имеет порядок h2, так как члены, содержащие h во второй и более высоких степенях, отбрасываются – см. (3) и (4). Уменьшая h можно снизить локальную ошибку на шаге. 1.2.2. Модифицированный метод Эйлера
Точность метода Эйлера можно существенно повысить, улучшив аппроксимацию u(x) на рассчитываемом шаге. Для этого при разложении u(x) в ряд Тейлора учтем дополнительно слагаемое, содержащее h2 и d2u(xi)/dx2 в (3). Определим вторую производную, аппроксимировав ее конечной разностью: d 2u ( xi ) d du ( xi ) +u′ u ′( xi + h) − u′( xi ) , = = ≈ dx 2 dx dx + x h
(6)
где ∆x = h, u′ ( xi + h ) = du ( xi + h ) dx и u′ ( xi ) = du ( xi ) dx . Подставляя полученное выражение в (3) и отбрасывая члены ряда, начиная со слагаемого, содержащего h3, запишем h du ( xi ) du ( xi + h) u ( xi + h ) = u ( xi ) + + . 2 dx dx Заменяя в последнем выражении производные с помощью (1) так же, как это было сделано в п.1.2.1, и, используя сокращенные обозначения, получим расчетную формулу модифицированного метода Эйлера
h ui +1 = ui + f ( xi , ui ) + f ( xi +1 , ui +1 ) . 2
(7)
Соотношение (7) дает решение для ui+1 в неявном виде, поскольку ui+1 присутствует одновременно в левой и правой его частях. Следует отметить, что использование неявных методов оправдано тем, что они, как правило, более устойчивы, чем явные. Формула (7) может рассматриваться и как явное решение, если в ее правую часть подставить значение ui+1*, рассчитав его предварительно методом Эйлера по формуле (5). При этом значение ui+1* является прогнозом, а уточнение результата по формуле (7) – его коррекцией. Непосредственная подстановка формулы Эйлера (5) в правую часть (7) дает расчетное соотношение метода Эйлера-Коши (или метода Хьюна). Графически модифицированный метод Эйлера представлен на рис. 2. Из рис. 2 видно, что поправка, учитывающая изменение наклона кривой u(x) заметно уменьшает ошибку на шаге h.
43
Модифицированный метод Эйлера обеспечивает второй порядок точности. Ошибка на каждом шаге при использовании этого метода пропорциональна h3. Повышение точности достигается за счет дополнительных затрат машинного времени при расчете каждого шага.
Рис. 2. Модифицированный метод Эйлера
Дальнейшее снижение погрешности решения можно получить за счет использования лучшей аппроксимации u(x), учитывающей слагаемые высоких порядков. Эта идея положена в основу методов Рунге-Кутта. 1.2.3. Метод Рунге-Кутта четвертого порядка
В модифицированном методе Эйлера для получения второй производной d 2u(xi)/dx2 используется конечно-разностная формула (6), включающая значения первой производной u'(xi) и u'(xi+h) в начальной и конечной точках шага. Если подобным же образом вычислить третью производную, рассчитав предварительно вторую производную в двух точках шага, то можно с помощью (3) построить расчетную формулу метода третьего порядка точности. Для этого потребуется определить первую производную u'(x) в дополнительной промежуточной точке между xi и xi + h. Аналогичные рассуждения позволяют вывести расчетные формулы методов более высоких порядков, обеспечивающих заметное снижение погрешности решения. Однако на практике их реализация требует существенного повышения объема вычислений с использованием дополнительных промежуточных точек на каждом шаге. Существуют и другие способы построения численных методов с высоким порядком точности. Один из них, применяемый при построении группы методов Рунге-Кутта, заключается в аппроксимации решения дифференциального уравнения суммой p
u ( xi + h ) ≈ ξ ( xi , h ) = u ( xi ) + ∑ An kn ( h ) , n =1
где An – коэффициенты разложения, kn – последовательность функций
(8)
44
k1 = hf ( xi , ui ) , k2 = hf ( xi + α 2 h, ui + β 21k1 ) , k3 = hf ( xi + α 3h, ui + β 31k1 + β 32 k2 ) ,
(9)
.........................................................., k p = hf ( xi + α p h, ui + β p ,1k1 + ... + β p , p −1k p −1 ) , αn , βnm , 0 < m < n ≤ p – некоторые параметры. Неизвестные параметры An , αn и βnm можно выбрать из условия ψ (0) = ψ′(0) = ψ′′(0) = ... = ψ ( K ) (0) = 0 ,
(10)
где функция ψ(h) = u(xi + h) – ξ(xi,h) показывает отклонение приближенного решения ξ(xi,h) от точного u(xi + h). Увеличение параметра p в (8) позволяет сделать погрешность, связанную с заменой точного решения приближенным, как угодно малой. Предположим, что p = 1. Тогда, подставляя (8) в (10), из условия ψ(0) = ψ'(0) = 0 получим A1 = 1 и ψ''(0) ≠ 0, откуда p
u ( xi + h ) ≈ u ( xi ) + ∑ An kn ( h ) = ui + k1 = ui + hf ( xi , ui ) , n =1
что соответствует формуле Эйлера (5). Таким же образом можно получить формулы более высоких порядков точности, которые называют методами Рунге-Кутта. Одним из наиболее известных является вариант метода Рунге-Кутта, соответствующий p = 4. Это метод четвертого порядка точности, для которого ошибка на шаге имеет порядок h5. Его расчетные формулы имеют следующий вид: k + 2 k 2 + 2 k3 + k 4 ui +1 = ui + 1 , 6 где h k k1 = hf ( xi , ui ), k2 = hf xi + , ui + 1 , 2 2 h k k3 = hf xi + , ui + 2 , k 4 = hf ( xi + h, ui + k3 ). 2 2 Рассмотренные выше метод Эйлера и его модификация по сути дела являются методами Рунге-Кутта первого и второго порядка соответственно. Несмотря на увеличение объема вычислений метод четвертого порядка имеет преимущество перед методами первого и второго порядков, так как он обеспечивает малую локальную ошибку. Это позволяет увеличивать шаг интегрирования h и, следовательно, сокращать время расчета.
45
1.2.4. Погрешность решения и выбор шага
Как было показано выше, порядок точности метода p определяет ошибку дискретизации ~h p+1. Знание порядка ошибки не обеспечивает ее прямую оценку. Получить такую оценку позволяет правило Рунге (формула двойного пересчета). Пусть одношаговый метод имеет порядок точности p. Тогда погрешность, равная разности точного решения uT и приближенного ui+1,h, полученного численно с использованием шага h, имеет порядок p+1:
uT − ui +1,h ≈ Ch p +1 , где C – константа, не зависящая от h. При расчете с уменьшенным вдвое шагом, равным h/2, погрешность изменится:
( 2)
uT − ui +1,h ≈ C h 2
p +1
.
Вычитая последнее выражение из предыдущего, определим изменение
( 2)
ui +1,h − ui +1,h ≈ Ch p +1 − C h 2
p +1
( 2) (2
=C h
p +1
p +1
− 1) .
Выражая из последнего соотношения постоянную C и подставляя в предыдущую формулу, получим оценку погрешности по правилу Рунге ui +1,h − ui +1,h 2 . (11) uT − ui +1,h ≈ p +1 2 2 −1 Ошибка дискретизации стремится к нулю при стремлении h к нулю. Следовательно, уменьшая шаг h можно сделать локальную ошибку (на шаге) сколь угодно малой. Однако при уменьшении h необходимо увеличить количество шагов. Поэтому сокращение h не приводит к такому же снижению глобальной (накапливаемой от шага к шагу) ошибки. Малые ошибки, появившиеся в начале вычислений, могут совершенно исказить решение, если только не подобрать подходящий численный метод. Это явление иногда называют «неустойчивостью». Неустойчивость проявляется в катастрофическом нарастании погрешности решения вплоть до возникновения паразитных осцилляций кривой решения. На практике уменьшению h препятствуют и ошибки округления, вызванные неточностью представления чисел в компьютере. При уменьшении шага, начиная с некоторого h0, вклад ошибок округления преобладает, что приводит к возрастанию погрешности решения (рис. 3). Обычно алгоритмы обеспечивают автоматический выбор шага. Для этого выполняется два пробных расчета – с заданным Рис. 3. Зависимость погрешности шагом h и с уменьшенным вдвое h/2. решения от h
46
В простейшем случае ограничиваются сравнением результатов решений в одной и той же точке: ui +1,h − ui +1,h < δ , где δ − некоторое малое поло2
жительное число, определяющее требования к точности. Более сложные оценки основываются на формулах подобных правилу Рунге. Если оценка показывает большую ошибку, алгоритм переходит на уменьшенный вдвое шаг.
1.3. Многошаговые методы решения задачи Коши 1.3.1.Многошаговые методы
Из вышеизложенного видно, что снижение погрешности решения задачи Коши может быть обеспечено использованием одношаговых методов высоких порядков точности. При этом в пределах каждого шага интегрирования приходится вводить промежуточные точки и увеличивать и объем вычислений. Снизить вычислительные затраты без ухудшения погрешности можно, если на очередном шаге уточняющую информацию получать не за счет дополнительных точек, а из предыдущих шагов. Действительно, если в расчете использовать не только последнюю из известных точек решения, а еще и ряд предыдущих, можно более точно предсказать дальнейший ход кривой. Методы, реализующие эту идею, получили название многошаговых. 1.3.2. Метод Адамса
В простейшем случае многошаговый метод опирается только на две последние точки решения – (xi, ui) и (xi, ui). Вычисление следующей точки строится на двух интервалах – от xi-1 до xi и от xi до xi+1. В данном случае говорят, что метод является двухшаговым. Для получения расчетной формулы двухшагового метода проинтегрируем обе части дифференциального уравнения (1) на интервале от xi до xi+1. Интегрирование левой части дает xi +1
∫ xi
du ( x) dx = u ( xi +1 ) − u ( xi ) ≈ ui +1 − ui . dx
(12)
Для интегрирования правой части (1) заменим f(x, u) = f(x, u(x)) на интерполяционный многочлен F(x). Для двух известных точек xi-1 и xi может быть построен линейный многочлен, совпадающий с кривой решения в точках (xi-1, ui-1) и (xi, ui): x − xi −1 x − xi F ( x) = f ( xi , ui ) − f ( xi −1 , ui −1 ) . h h Тогда интегрирование правой части дает xi +1
h
∫ F ( x ) dx = 2 3 f ( x , u ) − f ( x i
xi
i
i −1
, ui −1 ) .
(13)
47
Приравнивая правые части (12) и (13) и применяя сокращенные обозначения f i ≡ f(x i ,u i ), f i +1 ≡ f(x i +1 ,u i +1 ), запишем формулу двухшагового метода h ui +1 = ui + [3 fi − fi −1 ] . 2 Аналогично, учитывая большее число предыдущих точек решения можно построить формулы экстраполяционного метода Адамса-Башфорта: h ui +1 = ui + [ 23 fi − 16 fi −1 + 5 fi −2 ] ; 12 h ui +1 = ui + [55 f i − 59 fi −1 + 37 fi −2 − 9 fi −3 ] . 24 Первая соответствует трехшаговому, а вторая – четырехшаговому методу. 1.3.3. Методы прогноза и коррекции (предиктор-корректор)
Аналогичные вышеприведенным выражения можно получить, включая в интерполяционный многочлен рассчитываемую точку xi+1 как известную. Этот подход дает формулы метода Адамса-Моултона: h ui +1 = ui + [ fi +1 + f i −1 ] ; 2 h ui +1 = ui + [5 fi +1 + 8 fi − f i −1 ] ; 12 h ui +1 = ui + [9 f i +1 + 19 f i − 5 f i −1 + f i −2 ] . 12 Данный метод является неявным, то есть требует решения уравнения относительно ui+1, что представляется неудобным. Тем не менее, неявные формулы применяются на практике, так как позволяют повысить устойчивость решения и существенно увеличить шаг. Обычно решение строится в два этапа. Сначала по явной схеме определяют прогноз ui+1, например, по формуле Адамса-Башфорта. На втором этапе производится коррекция ui+1 по неявной формуле. Далее, многократно используя неявную формулу, можно дополнительно уточнять ui+1 подобно тому, как это делается в методе простой итерации. Однако обычно ограничиваются единственной итерацией. Описанный алгоритм многошаговых методов получил название метода прогноза и коррекции. 1.3.4. Общая характеристика многошаговых методов
По сравнению с одношаговыми многошаговые методы требуют меньшего объема вычислений (сравните формулы Рунге-Кутта и Адамса-Башфорта). К недостаткам многошаговых методов относится трудность смены шага, так как расчетные формулы не учитывают эту возможность. Данная проблема решена в многозначных методах, использующих иную экстраполяцию решения.
48
Кроме того, многошаговые методы не обладают свойством самостартования, так как требуют задания ряда предыдущих точек. В то же время любой из одношаговых методов способен стартовать из единственной начальной точки.
1.4. Краевая задача и метод стрельбы 1.4.1. Краевая задача
В краевой задаче требуется найти решение обыкновенного дифференциального уравнения с дополнительными условиями, заданными при нескольких различных значениях независимой переменной. Например, для обыкновенного дифференциального уравнения второго порядка d 2u du = f x, u , (14) 2 dx dx
эти условия задаются в двух разных точках x = a и x = b: u ( a ) = A, и u ( b ) = B .
(15)
Поскольку эти точки определяют границы области a < x < b, в которой обычно и отыскивается решение, поставленные в них дополнительные условия называют граничными или краевыми. В инженерной практике, например, такая задача может быть связана с расчетом прогиба стержня при заданном способе закрепления его концов. Одним из методов решения краевой задачи является метод конечных разностей. Этот метод будет рассмотрен в следующей лабораторной работе. Другим способом решения краевой задачи является ее приведение к задаче Коши путем замены дополнительных условий. Рассмотрим метод стрельбы, использующий этот подход. 1.4.2. Метод стрельбы
Итак, если дана краевая задача, например, в вышеприведенной формулировке, то в методе стрельбы она заменяется задачей Коши для того же уравнения (14) но с начальными условиями u (a ) = A,
du dx
= k = tgθ .
(16)
x=a
Здесь u(a) – точка, которая является началом кривой решения u(x) дифференциального уравнения, θ – угол наклона касательной к этой кривой в начальной точке. Считая решение задачи Коши зависящим от начального условия du = tgθ , будем подбирать такое значение θ, при котором кривая решеdx x =a
49
ния u(x) в точке b даст совпадающий с (15) результат u(b) = B. Если это условие будет выполнено, то решение задачи Коши совпадет с решением краевой задачи. Применительно к описанному подходу называние "метод стрельбы" вполне оправдано, поскольку в нем производится как бы "пристрелка" по углу наклона кривой u(x) в начальной точке. Чтобы сократить количество попыток при поиске решения u(x), применяют различные стратегии подбора параметра θ. Например, при использовании метода половинного деления действуют следующим образом. Вначале выполняют два пробных расчета при значениях параметра θ равных θ1 и θ2. Эти значения выбирают таким образом, чтобы при θ = θ1 решение давало в точке x = b "перелет", то есть u(b) > B, а при θ = θ2 – "недолет", то есть u(b) < B. Далее, используя в начальном условии (15) значение θ3 = (θ1 + θ2) / 2, вновь численно решают задачу Коши. Из трех полученных решений отбрасывают то, которое дает в точке x = b наибольшее отклонение от B. Затем от двух оставшихся значений параметра θ находят среднее θ4 и вновь выполняют с этим значением расчет. Повторение описанного процесса прекращают, когда разность двух последовательно найденных значений θ станет меньше некоторого заданного малого числа или достаточно малым будет отклонение u(b) от B. Подобный алгоритм может быть построен и с использованием метода Ньютона. 1.4.3. Метод стрельбы для линейного дифференциального уравнения
Если обыкновенное дифференциальное уравнение второго порядка является линейным, то есть имеет вид d 2u du = f1 ( x ) + f 2 ( x )u + f 3 ( x ) 2 dx dx при граничных условиях (15), то поиск решения методом стрельбы существенно упрощается. Выполнив два "пристрелочных" расчета при θ1 и θ2, как это было описано ранее, получим два решения u1(x) и u2(x). Если u1(b) = B1 и u2(b) = B2, причем B1 ≠ B2, то решением краевой задачи будет линейная комбинация двух решений 1 u ( x) = ( B − B2 ) u1 ( x ) + ( B1 − B ) u2 ( x ) . B1 − B2 Подставляя в это выражение при x = a значения u1(a) = u1(a) = A и при x = b значения u1(b) = B1, u2(b) = B2, нетрудно убедиться, что оно удовлетворяет обоим исходным граничным условиям задачи.
50
1.5. Примеры решения задачи Коши 1.5.1. Решение задачи Коши в MathCAD
Рассмотрим в качестве примера расчет переходного процесса в последовательном электрическом колебательном контуре. Свободные колебания тока в контуре описываются уравнением d 2 I (t ) dI (t ) 1 L R + + I (t ) = 0 , dt 2 dt C где I – ток, L – индуктивность контурной катушки, R – сопротивление потерь контура, C – емкость конденсатора. Примем R = 5 Ом, L = 10 –5 Гн и С = 10 –9 Ф. Используя обозначения z0 = I и z1 = dz0/dt = dI/dt, преобразуем исходное уравнение в систему дифференциальных уравнений первого порядка:
dz0 dt = z1 (17) dz 1 1 1 = − R z1 + z0 . dt L C Приняв в качестве начальных условий I = 1 мА и dI/dt = 0, запишем решение в пакете MathCAD следующим образом:
В этом примере использована функция rkfixed. Она вычисляет решение системы, содержащей обыкновенные дифференциальные уравнения первого порядка методом Рунге-Кутта с фиксированным шагом интегрирования. Обращение к функции выполняется следующим образом: F := rkfixed(Z0, t0, tk, N, f) , где F – выходные данные, возвращаемые функцией, Z0 – вектор начальных значений, размерность которого должна соответствовать порядку решаемой системы, t0 – начальное значение аргумента, tk – верхний предел изменения аргумента, N – количество рассчитываемых точек на интервале от t0 до tk, f – имя функции, описывающей правую часть системы дифференциальных уравнений. Из приведенного примера видно, как записывается функция f(t,z) в документе MathCAD. Имя зависимой переменно z должно совпадать с именами ее компонент, присутствующих в правой части формулы f(t,z). Сами дифференциальные уравнения в предварительно приводятся к каноническому виду (17) так, чтобы в левой части каждого из них находилась только производная по одной из компонент z. Первым в системе должно записываться уравнение,
51
определенное для производной от нулевой компоненты z, то есть от z0, затем – от z1 и так далее. Следует отметить, что отсчет индексов в MathCAD определяется параметром ORIGIN и обычно по умолчанию начинается с нуля. Функция rkfixed возвращает найденное решение в виде двухмерного массива (см. рис. 4, а). В приведенном примере результат передается переменной F1. Значения независимой переменной t размещаются в нулевом столбце F<0> массива. Они изменяются в пределах от t0 до tk с шагом (tk – t0) / N. В приведенном примере t0 = 0, tk = 5·10–6 c, N = N1 = 500, поэтому шаг изменения аргумента равен (tk –t0) / N1 = 5·10–6 / 500 = 10–8 с. Найденное численно решение z0(t) и первая производная z1(t) записываются соответственно в первом и во втором столбцах – F1<1> и F1<2>. Результат решения методом Рунге-Кутта показан графически на рис. 4, б.
а
б Рис. 4. Решение задачи Коши в MathCAD
Выполним аналогичный расчет с уменьшенным вдвое шагом при N = N2 = 1000 и оценим погрешность решения по правилу Рунге (11):
Таким образом, погрешность решения ∆ при шаге h/2 не превышает 10–9. Рассмотрим решение этой же задачи методом Эйлера с использованием рекурсивной процедуры. Изменив для удобства записи обозначения переменных z0 → Y0 и z1 → Y1, преобразуем систему уравнений (17): dY 0 Y 0i +1 − Y 0i Y 0i +1 ≈ Y 0i + ∆t Y 1i ≈ Y1i dt = Y1 ∆t ⇒ ⇒ 1 R dY 1 = − R Y 1 − 1 Y 0 Y 1i +1 − Y1i ≈ − R Y 1 − 1 Y 0 Y1i +1 ≈ Y 1i − ∆t L Y1i + LC Y 0i . i i L LC L LC ∆t dt
52
Здесь использована замена производных на их приближенные аналоги dY/dt ≈ ∆Y/∆t. Благодаря этому решение задачи можно представить в MathCAD следующим образом:
В данной записи, соответствующей методу Эйлера (5), параметр ∆t – шаг интегрирования, i – счетчик точек решения. Начальные значения переменных t, Y0 и Y1 заданы одновременным присваиванием. Использованная в примере рекурсивная ("возвратная") процедура вычисляет последующие точки решения с индексом i+1 из предыдущих с индексом i. Рассчитанные методом Эйлера зависимости Y0(t) приведены на рис. 5.
б
а Рис. 5. Расчет методом Эйлера
Зависимость, представленная на рис. 5, а получена при ∆t = h = 10–10 с, а на рис. 5, б – при ∆t = h = 7 · 10–9 с. В последнем случае неприемлемый с физической точки зрения результат объясняется выбором слишком большого шага интегрирования (см. п. 1.2.4). Метод Эйлера дает корректный результат при h = 10–10 с, то есть расчете порядка 50000 точек. Однако оценка погрешности такого решения по правилу Рунге дает ∆ ≈ 1,5 · 10–3. Кроме rkfixed в MathCAD имеется еще ряд функций, обеспечивающих решение задачи Коши. К ним относятся odesolve, rkadapt, Bulstoer, Stiffb и Stiffr. Функциии rkadapt и Bulstoer предназначены для решения задач с гладкими функциями и медленно меняющимися решениями, Stiffb и Stiffr – для задач с жесткими системами. Функция sbval позволяет привести краевую задачу к задаче Коши и решить ее методом стрельбы.
53
1.5.2. Решение задача Коши в MATLAB
В MATLAB имеется ряд функций для решения задачи Коши. Одна из них – ode45 – использует метод Рунге-Кутта четвёртого-пятого порядка точности с автоматическим выбором размера шага. Обращение к ode45 выполняется следующим образом (синтаксис приведен для версии 6.Х): [T,Y] = ode45(ODEFUN,TSPAN,Y0) Входные параметры процедуры ode45: ODEFUN – имя функции (в виде строчной переменной), задающей правую часть системы дифференциальных уравнений. Уравнения должны быть записаны в нормальной форме u' = ODEFUN(T,Y), где u' – вычисляемый векторстолбец производных; TSPAN = [T0 TFINAL] – вектор, задающий интервал изменения независимой переменной. T0 – начальная точка, TFINAL – последнее значение аргумента, при котором завершается расчёт; Y0 – вектор начальных значений зависимых переменных. Выходные параметры ode45: T – вектор, содержащий отсчёты аргумента в точках решения; Y – массив, содержащий вычисленные значения u и u' в точках, соответствующих отсчетам независимой переменной в T. Требования к точности и другие параметры численного решения задаются в MATLAB по умолчанию. Изменить эти настройки позволяет дополнительный аргумент OPTIONS (см. help ODESET). Рассмотрим дифференциальное уравнение второго порядка, описывающее колебания в нелинейной системе (например, автогенераторе), и известное как уравнение Ван-дер-Поля: u" + (u2 – b) u' + u = 0 , где u, u' и u" – функция, её первая и вторая производные по времени t, b – произвольный параметр. Параметр b определяет потери в системе, а слагаемое u2 в скобках – её нелинейные свойства (например, рабочие характеристики активного элемента автогенератора). Данное дифференциальное уравнение второго порядка можно привести к системе двух дифференциальных уравнений первого порядка
(
)
y1 ' = 1 − y2 2 y1 − y2 , y2 ' = y1 где y1 = u' и y2 = u, а параметр b принят равным единице. Для выполнения расчётов воспользуемся внешней функцией vdp1, записанной в m-файле vdp1.m. Эта функция, вычисляющая правую часть уравнения Ван-дер-Поля, имеет следующий вид: function dydt = vdp1(t,y) dydt = [y(2); (1-y(1)^2)*y(2)-y(1)] .
54
Для получения решения дифференциального уравнения, описываемого функцией vdp1 на интервале 0 < t <20, при начальных условиях y1 = u' = 2 и y2 = u = 0, следует ввести в MATLAB следующую строку: [t,y]=ode45(@vdp1,[0 20],[2 0]). На рис. 6, а представлены рассчитанные функцией ode45 и построенные с помощью команды plot зависимости y2(t) ≡ u(t) и y1(t) ≡ u’(t).
a б Рис. 6. Результаты решения уравнения Ван-дер-Поля
График на рис. 6, а показывает, что с течением времени колебания в системе нарастают. Однако в дальнейшем рост амплитуды колебаний замедляется и система переходит в устойчивое состояние, описываемое фазовыми кривыми y2 (y1), представленными на рис. 6, б. Кроме рассмотренной функции ode45 MATLAB содержит ряд других функций для решения задачи Коши – см. ode23, ode113, ode15s, ode23s, ode23t, ode23tb. 2. УКАЗАНИЯ К ВЫПОЛНЕНИЮ РАБОТЫ
2.1. Подготовка к работе Изучите методы решения уравнений на ЭВМ, используя указанную литературу. Обратите особое внимание на следующие вопросы: 1. Различие обыкновенных дифференциальных уравнений и уравнений в частных производных; 2. Отличие формулировок задачи Коши и краевой задачи; 3. Cвойства одно– и многошаговых методов решения задачи Коши; 4. Решение систем обыкновенных дифференциальных уравнений.
55
2.2. Порядок выполнения работы 1. Формализуйте задачу для решения на ЭВМ. При необходимости произведите ее нормировку и другие преобразования, облегчающие решение на ЭВМ. 2. Выберите программную реализацию решения (с помощью специальных процедур в MATLAB, MathCAD или в виде отдельной программы). 3. Выполните расчет на ЭВМ, используя разные шаги интегрирования, оцените погрешность полученного решения. 4. Оформите отчет по работе.
2.3. Содержание отчета 1. Цель работы. 2. Задание. 3. Описание метода решения – сведения из теории (формулы, алгоритм). 4. Распечатка решения задачи на ЭВМ, включая графики и комментарии. 5. Краткие выводы по работе.
2.4. Контрольные вопросы 1. Приведите примеры задач с обыкновенными дифференциальными уравнениями. Чем отличаются формулировки задачи Коши и краевой задачи? 2. Назовите основные различия, достоинства и недостатки одношаговых и многошаговых методов решения задачи Коши. 3. Опишите решение задачи Коши методом Эйлера. 4. Опишите решение задачи Коши модифицированным методом Эйлера. 5. Опишите решение задачи Коши методом Рунге-Кутта. 6. Что такое порядок точности метода и как он связан с его эффективностью? Приведите примеры методов разных порядков. 7. Как влияет размер шага при решении задачи Коши на погрешность результата? Как работает процедура автоматического выбора шага? 8. Составьте алгоритм решения задачи Коши для системы двух уравнений первого порядка методом Эйлера. 9. Опишите процедуру решения задачи Коши для уравнения второго порядка одношаговым методом. 10. Поясните понятие устойчивости решения задачи Коши. 11. Опишите решение задачи одним из многошаговых методов. 12. Опишите решение задачи Коши методом предиктор-корректор. 13. Приведите схему решения краевой задачи методом стрельбы с использованием метода деления отрезка пополам. 14. Приведите схему решения краевой задачи методом стрельбы для линейного дифференциального уравнения. 15. Расскажите об особенностях представления чисел в ЭВМ. 16. Для чего используется нормировка уравнений при решении на ЭВМ? 17. Опишите источники погрешностей при решении задач на ЭВМ.
56
3. ВАРИАНТЫ ЗАДАНИЙ
Ниже приведены варианты заданий. Каждое из заданий включает ряд вариантов, отличающихся друг от друга набором исходных данных. Все параметры в формулах, если не оговорено иное, следует записывать в системе СИ. Задание 1. Для защиты от вибрации приборный блок установлен специальные на упругие опоры (амортизаторы). Его движение на амортизаторах при отсутствии боковых и крутильных колебаний описывается дифференциальным уравнением вида d 2x dx m 2 + β + kx = 0 , dt dt где x – отклонение блока от исходного положения, t – время, m – масса блока, d2x/dt2 – ускорение, β – коэффициент трения (в амортизаторах), dx/dt – скорость движения при колебаниях блока, kx – слагаемое, отвечающее за сопротивление упругих элементов (пружин), k – коэффициент жесткости амортизаторов. Суммарная жесткость пружин зависит от деформации x: k = k0 (1 + ax2). Решите уравнение при следующих данных: β = 0,5 кг/с; начальные условия x = 1 см, dx/dt = 0 при t = 0. Остальные параметры заданы в таблице. Вариант Параметр 1-1 1-2 1-3 1-4 1-5 1-6 m, кг 12 5 7 9,5 15 4 k0, Н/м 0,5 1 1,5 1 2 2 2 a, 1/м 1 –0,5 2 2 +3 –0,5 Получите точки решения, охватывающие не менее пяти периодов колебаний, и постройте по ним соответствующий участок зависимости x(t). Задание 2. Приборный блок установлен на упругие опоры (амортизаторы). Его вертикальные колебания описывается дифференциальным уравнением, приведенным в задании 1. Амортизаторы имеют встроенные демпфирующие элементы. Поэтому коэффициент трения β в системе зависит от деформации x: β = β0 (1 + ax2). Решите уравнение для следующих исходных данных: коэффициент трения k = 1 Н/м; начальные условия x = 1,5 см и dx/dt = 0 при t = 0. Остальные параметры заданы в таблице. Вариант Параметр 2-1 2-2 2-3 2-4 2-5 2-6 m, кг 5 10 8,5 7 3 12 1,5 1 0,5 0,5 0,3 1 β0, кг/с 2 a, 1/м 0,5 1 1,5 0,2 0,3 0,3 Получите начальные точки решения, охватывающие несколько периодов колебаний, и постройте по ним соответствующий участок зависимости x(t).
57
Задание 3. Вертикальные колебания механической системы (см. задание 1) под действием вынуждающей силы описывается уравнением вида
d 2x dx m 2 + β + kx = F (t ) , dt dt где x – отклонение системы от исходного положения, t – время, m – масса блока, β – коэффициент трения, k – коэффициент жесткости амортизаторов. Внешнее воздействие представляет собой периодическую последовательность ударных импульсов F(t) F при nT ≤ t < nT + τ и , F (t ) = m 0 при nT + τ и ≤ t < ( n + 1)T , где n = 0, 1, 2, 3, 4… . Решите уравнение для следующих данных: масса m = 1 кг; коэффициент трения β = 0,5 кг/с, коэффициент жесткости k = 5 Н/м. Начальные условия x = 0 и dx/dt = 0 при t = 0. Остальные параметры даны в таблице. Вариант Параметр 3-1 3-2 3-3 3-4 3-5 3-6 0,5 1 0,1 0,3 0,2 1,2 τ и, с T, с 1,5 2 1 1,5 2,5 1,7 Fm , Н 3000 2500 2000 3000 2500 2000 Получите начальные точки решения, охватывающие не менее трех периодов колебаний. Постройте зависимости F(t) и x(t). Задание 4. Вертикальные колебания механической системы (см. задание 1) под действием последовательности полусинусоидальных импульсов описывается дифференциальным уравнением вида
d 2x dx m 2 + β + kx = Fm cos ( ωt ) , dt dt где x – отклонение системы от исходного положения, t – время, m – масса блока, β – коэффициент трения, k – коэффициент жесткости амортизаторов, Fm и ω – параметры вынуждающей силы. Решите уравнение для следующих данных: масса m = 3 кг; коэффициент трения β = 1 кг/с, коэффициент жесткости k = 4 Н/м. Начальные условия x = 0 и dx/dt = 0 при t = 0. Остальные параметры даны в таблице. Вариант Параметр 4-1 4-2 4-3 4-4 4-5 4-6 m, кг 2 3 1,5 14 2,5 3 Fm, Н 150 1960 980 720 250 170 ω, рад/с 0,1 2 2 0,2 12,5 0,3 Получите участок решения x(t), на котором устанавливаются устойчивые колебания в системе. Постройте зависимости F(t) = |Fmcos(ωt)| и x(t).
58
Задание 5. Прогиб однородной балки под собственным весом при консольном закреплении описывается дифференциальным уравнением y′′ = −
3 PL2 1 x 2 2 ′ − 2 1 + ( y ) , EJ L L
где L – длина балки, P – удельный вес балки (на единицу длины), EJ – жесткость балки, x – координата (0 < x < 1). Задавшись начальными условиями y = 0 и y′ = 0 при x = 0, получите точки решения y(x) на всей длине балки для указанных параметров. Параметр L, м PL2/EJ
5-1 1,5 0,001
5-2 1 0,005
Вариант 5-3 5-4 0,9 2 0,002 0,01
5-5 2,5 0,015
5-6 1 0,002
Задание 6. Количество особей в популяциях двух видов, взаимодействующих между собой по типу жертва – хищник, равно соответственно x и y. Изменение популяций во времени описывается системой дифференциальных уравнений (модель Лотки-Вольтерра) dx dt = ax − bxy , dy = −cy + dxy , dt где t – время, ax – скорость размножения жертв, bxy – скорость их истребления с учетом частоты встреч с хищниками, cy – скорость вымирания хищников, dxy – скорость размножения хищников в присутствии жертв. Задавшись параметрами a, b, c, d и приняв начальные условия x0, y0 при t = 0, решите задачу. Получите участок решения, на котором наблюдаются повторяющиеся колебания численности популяций. Постройте соответствующие графики x(t), y(t) и y(x). Параметр a b c d x0 y0
6-1 0,15 0,0001 1 0,005 200 50
6-2 0,2 0,001 2,1 0,01 500 150
Вариант 6-3 6-4 3,2 0,2 2,1 0,001 1,8 3,1 1 0,01 5 1000 3 500
6-5 0,15 0,02 5 0,001 10000 200
6-6 0,1 0,01 2,7 0,002 1000 50
59
Задание 7. Развитие популяций хищников и их жертв описывается моделью Холлинга-Тэннера: dx x b = a 1 − x − xy , dt k 1 k 2 + x dy = c − d y y , dt x где x и y – относительная численность жертв и хищников соответственно, t – время, ax – скорость размножения жертв, ax/k1 – учитывает конкуренцию жертв из-за пищи, bxy/(k2+x) – скорость истребления жертв хищниками с учетом насыщения последних, cy – скорость размножения хищников, сdy2/x – учитывает вымирание хищников при недостатке пищи x. Используя заданные в таблице параметры и начальные условия x0, y0 получите участок решения, описывающий колебания x(t) и y(t). Вариант Параметр 7-1 7-2 7-3 7-4 7-5 7-6 20 35 7 32 15 50 x0 5 7 3 17 2 5 y0 1,5 1,7 2,7 1,1 2,4 1,6 a 1,5 4,2 3,1 2,9 4,1 5,6 b 0,1 0,6 0,2 0,09 0,08 0,2 c 0,1 0,13 0,05 0,15 0,08 0,1 d 8 9,3 7,6 12 5,9 13,5 k1 1 2,1 2,5 1,5 2,1 1,8 k2 Задание 8. Свободные колебания тока в последовательном электрическом колебательном контуре описываются дифференциальным уравнением d 2i ( t ) di ( t ) 1 L + R + i (t ) = 0 , dt 2 dt C где i – ток, L – индуктивность катушки, R – сопротивление потерь контура, C – емкость конденсатора. Предполагается, индуктивность катушки зависти от протекающего через нее тока: L =L0 (1 – k i 2), где k – коэффициент. Рассчитайте и постройте график зависимости i(t), охватывающий не менее пяти периодов колебаний, для начальных условий di/dt = 0 и i = 10 мА при t = 0. Остальные параметры указаны в таблице. Вариант Параметр 8-1 8-2 8-3 8-4 8-5 8-6 1 0,5 1 2 1,5 2 R, Ом 0,001 0,01 0,1 0,047 0,0068 0,068 C, мкФ 1 5 10 50 50 10 L0, мкГн 2 3 3 3 3 2 5·10 9·10 10 5·10 4·10 103 k, 1/A
60
Задание 9. Вынужденные колебания тока в электрическом колебательном контуре (см. рисунок) описываются дифференциальным уравнением d 2i di 1 L 2 + R + i = U m ω cos ( ωt ) , dt dt C где i – ток, L – индуктивность катушки, R – сопротивление потерь, C – емкость конденсатора, Um – амплитуда напряжения генератора, ω = 2π f – угловая частота. Сопротивление нелинейного резистора зависит от протекающего через него тока: R = R0 (1 + k i 2), где k – коэффициент. Рассчитайте и постройте графики зависимостей u(t) = Umsin(ωt) и i(t), охватывающие несколько периодов колебаний, для Um = 1 В и начальных условий di/dt = 0 и i = 0 при t = 0. Остальные данные приведены в таблице. Вариант Параметр 9-1 9-2 9-3 9-4 9-5 9-6 R0, Ом 2 3 5 3 7,5 1 L, мкГн 1 5 10 50 2 10 C, мкФ 0,001 0,01 0,1 0,047 0,0047 0,068 6 6 5 5 6 f, Гц 10 5·10 10 2·10 2·10 6·104 k, 1/A2 8·1010 2·1014 1014 5·1010 4·1015 7·1012 Задание 10. На выходе однополупериодного диодного выпрямителя для ослабления пульсаций напряжения параллельно нагрузке включен конденсатор. Зависимость напряжения u на выходе выпрямителя от времени t описывается дифференциальным уравнением
du 1 U m cos ( ωt ) − u u = − , dt C R0 + RД RH где C – емкость конденсатора, Rн – сопротивление нагрузки, R0 – выходное сопротивление источника переменного напряжения (трансформатора), RД – сопротивление диода, Um – амплитуда переменного напряжения, ω = 2π f – угловая частота. Рассчитайте и постройте графики зависимостей u0(t) = Umcos(ωt) и u(t) при Um = 12 В, f = 50 Гц для приведенных в таблице параметров. Начальное условие u(t=0) = 0. В расчете используйте аппроксимацию
Параметр RН, Ом C, мкФ
10-1 200 2000
105 , если u > U m cos (ω t ) , R0 + RД = 5, если u ≤ U m cos (ωt ) . Вариант 10-2 10-3 10-4 310 170 100 500 200 470
10-5 75 5000
10-6 180 680
61
Задание 11. Напряжение с выхода двухполупериодного диодного выпрямителя подается на нагрузку через LC-фильтр, ослабляющий нежелательные пульсации. Зависимости напряжения u на выходе фильтра и общий ток i в цепи от времени t описываются системой дифференциальных уравнений
du 1 u = i − , dt C RH di 1 dt = L U m cos ( ωt ) − iR0 − u , где L и C – индуктивность дросселя и емкость конденсатора фильтра, RН – сопротивление нагрузки, R0 = RВ + RL, RВ – выходное сопротивление выпрямителя, RL – сопротивление обмотки дросселя, Um – амплитуда пульсирующего напряжения на выходе выпрямителя, ω = 2π f – угловая частота. Рассчитайте и постройте графики зависимостей uВ(t) = |Umcos(ωt)|, u(t) и i(t). Исходные данные: Um = 12 В и f = 50 Гц. Начальные условия u (t = 0) = 0, i (t = 0) = 0. Параметры R0, RН, L и C приведены в таблице. Параметр R0, Ом RН, Ом L, Гн C, мкФ
11-1 20 500 0,5 100
Вариант 11-3 11-4 35 120 750 1000 0,1 1 200 50
11-2 75 1000 0,7 40
11-5 90 2000 1,2 100
11-6 20 1000 0,05 1000
Задача 12. Уравнение Ван-дер-Поля, описывающее колебания в нелинейной системе (например, автогенераторе), имеет следующий вид: y′′ +
(y
2
− b ) y′ + y = 0 ,
где y, y' и y" – функция, её первая и вторая производные по времени t. Постоянная b определяет потери в системе. Нелинейные свойства системы, например рабочие характеристики активного элемента генератора, учитываются слагаемым y2. Задавшись указанными в таблице начальными условиями и параметром b, решите уравнение и постройте графики зависимостей y(t) и y'(t), охватывающие несколько периодов колебаний. Вариант Параметр 12-1 12-2 12-3 12-4 12-5 12-6 y(0) 1 0 1 2 2 -3 y'(0) 1 1 -2 1 3 20 7 3y 1,5 y' 0 b y y'
62
Задание 13. Генератор, выполненный на туннельном диоде, содержит последовательный электрический LC-контур и источник постоянного напряжения E. Колебания напряжения u(t) и тока i(t) в генераторе описываются системой дифференциальных уравнений du 1 dt = C i − iд ( u ) , du = 1 [ E − iR − u ] , 0 dt L где t – время, L и C – индуктивность катушки и емкость конденсатора контура, R0 = RE + RL, RE – внутреннее сопротивление источника питания, RL – сопротивление обмотки катушки индуктивности. N-образная вольт-амперная характеристика туннельного диода iД(u) описывается формулой iД (u ) = ( 0,6u − 14u 3 + 20u 4 ) exp ( −10u ) + 0,02 exp ( u ) − 1 .
Рассчитайте и постройте графики зависимостей u(t) и i(t). Начальные условия u (t = 0) = 0, i (t = 0) = 0. Параметры E, R0, L и C даны в таблице. Параметр E, В R0, Ом L, нГн C, пФ
13-1 0,27 7 20 12
13-2 0,3 4,2 7·103 2200
Вариант 13-3 13-4 0,22 0,18 3,5 4,8 4 1,5·10 10 130 12
13-5 0,36 11,3 17 27
13-6 0,19 5,2 200 120
Задание 14. При расчете преобразователя частоты на диоде с барьером Шоттки используется эквивалентная схема, показанная на рисунке.
Элементы Umcos(ωГt) и Rг на рисунке относятся к гетеродину, напряжение с которого поступает на смесительный диод. Диод представлен эквивалентной схемой, содержащей следующие элементы: L – индуктивность выводов, RS – омическое сопротивление потерь, C(u) и R(u) – емкость и сопротивление
63
барьерной области диода, зависящие от обратного смещения на его переходе. Зависимости напряжения u на барьере диода и тока i в общей цепи от времени t могут быть найдены из нелинейной системы дифференциальных уравнений du 1 u = i− , dt C (u ) R (u ) di = 1 U cos ω t − u − i R + R . ( г) ( s г ) dt L m Решите систему уравнений при следующих данных: Rг = 50 Ом, L = 1,2 нГн, Rs = 6 Ом. Начальные условия: u(t) = 0, i(t) = 0 при t = 0. Амплитуда Um и частота fг колебаний гетеродина указаны в таблице. Вариант Параметр 14-1 14-2 14-3 14-4 14-5 14-6 L, нГн 1,2 1,5 1,7 1,4 2,2 1,1 RS, Ом 6 5,5 4,7 5,8 4,8 7 Um, В 0,65 0,55 0,7 0,8 0,9 0,97 fг, ГГц 9 14 11 8,2 12 16 В расчете применяйте следующие аппроксимации зависимостей R(u) и С(u) для диода с барьером Шоттки. Для вольт-амперной характеристики используйте формулу u iд (u ) = = i0 [ exp(bu ) − 1] , R(u ) где i0 = 5 ·10–13 А, b = 28 1/В. Зависимость С(u) описывается формулой C0 , C (u) = 1− u ϕ где C0 = 0,14 пФ, ϕ = 0,85 В – высота потенциального барьера. Рассчитайте несколько периодов колебаний и постройте графики зависимостей uГ(t) = Umcos(ωГt), u(t) и i(t). Задание 15. Распределение напряженности электрического поля в полупроводнике описывается уравнением Пуассона. Для одномерного случая, когда изменение поля рассматривается только по координате z (вдоль полупроводникового образца), это уравнение можно привести к следующему виду:
dE 1 j = − qN 0 , dz ε1 v где ε1 – диэлектрическая (решеточная) проницаемость полупроводника, j – плотность тока вдоль оси 0z, v – дрейфовая скорость электронов вдоль оси 0z, q = 1,6·10–19 Кл – элементарный заряд, N0 – уровень легирования полупроводника.
64
В полупроводнике типа арсенида галлия зависимость дрейфовой скорости v от напряженности электрического поля E существенно нелинейная. Характеристика v(E) описывается аппроксимацией: v(E)=
µ 0 E + vS ( E Et ) 1 + ( E Et )
4
4
,
где µ0 = 0,6 м2/В⋅с, vS = 105 м/с, Еt = 3,5·105 В/м. Решите уравнение при следующих данных: диэлектрическая проницаемость ε1 = 12,5ε0 = 12,5 × 8,85·10–12 Ф/м, поперечное сечение образца S = 2,5 мкм × 300 мкм. Ток i = j S, протекающий через образец, и начальное значение E(z) при z = 0 указаны в таблице. Рассчитайте зависимость E(z) на участке структуры длиной не менее 50 мкм и найдите соответствующее распределение концентрации свободных носителей заряда n ( z ) = j q v E ( z ) . Параметр –3
N0, м i, мА E(0), В/м
15-1 5·1020 5,5 0,1·105
15-2 4,5·1020 8,3 3,7·105
Вариант 15-3 15-4 20 5,3·10 4·1020 6,7 7,45 5 2,5·10 3·105
15-5 5,7·1020 10,6 3,5·105
15-6 4,1·1020 7,62 3,6·105
Задание 16. Для охлаждения микропроцессора используется металлический теплоотводящий радиатор. Процесс передачи тепла от радиатора в окружающий воздух описывается дифференциальным уравнением dT = P − α S (T − TC ) , dt где m и c – масса и удельная теплоемкость материала радиатора, T – температура радиатора, t – время, P – выделяемая микропроцессором мощность, α S (T − TC ) – отводимое тепло, α – коэффициент теплоотдачи конвекцией, S – площадь поверхности радиатора, ТС – температура окружающей среды. Радиатор снабжен вентилятором, который автоматически включается если температура процессора и радиатора превышает допустимый предел, то есть Т > Тmax, и останавливается, если Т < Тmin. Включение обдува эквивалентно изменению коэффициента теплоотдачи α по следующему закону: cm
α0, если T ≤ Tmin или T < Tmax при dT/dt > 0, α= α1, если T ≥ Tmax или T > Tmin при dT/dt < 0, где α0 – коэффициент теплоотдачи при выключенном вентиляторе, α1 – коэффициент теплоотдачи при обдуве.
65
Рассчитайте участок зависимости Т(t), на котором система охлаждения выходит на рабочий режим Tmin < Т(t) < Tmax. Параметры радиатора: c = 950 Дж/кг·К, m = 0,05 кг, S = 0,04 м2. Начальную температуру процессора примите равной Т(t=0) = Тc = 293 K. Прочие данные указаны в таблице. Параметр P, Вт α0, Вт/м2·K α1, Вт/м2·K Тmin, K Тmax, K
16-1 42 17 80 313 353
16-2 55 15 95 308 343
Вариант 16-3 16-4 27 65 12 25 35 82 313 313 343 353
16-5 43 21 160 308 343
16-6 22 9 75 303 343
Задание 17. Работа системы автоматического регулирования температуры нагревателя описывается дифференциальным уравнением cm
dT = Qвх − αS (T − Tc ) , dt
где c и m – удельная теплоемкость и масса нагревателя, T – температура нагревателя, t – время, Qвх – вырабатываемое нагревателем тепло, α – приведенный коэффициент теплоотдачи, S – площадь поверхности нагревателя, Тс – температура окружающей среды. Для поддержания температуры T заданных пределах Tmin < T < Tmax нагреватель мощностью P переключается по следующему закону: P, если T ≤ Tmin или T < Tmax при dT/dt > 0, Qвх = 0, если T ≥ Tmax или T > Tmin при dT/dt < 0, где Тmin и Тmax – минимальное и максимальное значения температуры. Рассчитайте участок зависимости Т(t), на котором нагреватель выходит на рабочий режим при начальной его температуре Т(t=0) = Тc и Tmin = 290 К, Tmax = 295 К. Мощность P и другие параметры даны в таблице. Параметр P, Вт cm, Дж/К αS, Вт/K Τс, K Τmin, K Τmax, K
17-1 2000 240 15 288 290 295
17-2 250 140 5 263 290 305
Вариант 17-3 17-4 350 1000 100 270 8 10 275 233 300 290 315 325
17-5 750 700 5 278 313 328
17-6 500 470 7 293 303 333
66
Задание 18. Для защиты электрических цепей от перегрузки используются плавкие предохранители. Процесс нагрева плавкого элемента до его разрушения описывается уравнением теплового баланса dT ( c1m1 + c2m2 ) + αS (T − TC ) = i 2 R0 1 + β (T − T0 ) , dt где c1 и m1 – удельная теплоемкость и масса плавкого элемента, c2 и m2 – удельная теплоемкость и масса среды, в которой находится элемент, T – температура элемента, t – время, α – коэффициент теплоотдачи, S – поверхность охлаждения, TC – температура окружающей среды, i – ток, протекающий через элемент, R0 – электрическое сопротивление элемента при T0 = 293 K, β – температурный коэффициент сопротивления. Эффективность защиты зависит от того, насколько быстро при перегрузке плавкий элемент предохранителя разорвет электрическую цепь. Рассчитайте зависимость T(t) при начальном условии T(t=0) = TC = 293 K. Слагаемое c2m2 в уравнении полагайте равным нулю. Определите время, за которое перегорает предохранитель, если температура плавления его рабочего элемента равна 1373 K. Вариант Параметр 18-1 18-2 18-3 18-4 18-5 18-6 –4 –4 –4 –5 –4 c1m1, Дж/K 1,7·10 5·10 3,3·10 4,4·10 8·10 1,4·10–3 3·10–5 3,5·10–5 4·10–5 1,2·10–5 6·10–5 7·10–5 αS, Вт/K R0, Ом 0,04 0,014 0,017 0,14 0,006 0,004 i, А 1 2 1,5 0,5 3 5 β, 1/K 0,05 0,06 0,05 0,04 0,07 0,08 Задание 19. Движение снаряда, выпущенного под углом θ к горизонту (см. рисунок), описывается системой дифференциальных уравнений, являющихся уравнениями баланса сил, действующих вдоль координат x и y: d 2x m 2 = − kvx , dt 2 m d y = −kv − gm , y dt 2 где vx = v cosθ и vy = v cosθ – горизонтальная и вертикальная составляющая скорости снаряда v = vx 2 + v y 2 , t – время, k – коэффициент трения, учитывающий сопротивление воздуха, m – масса снаряда, g ≈ 9,8 м/c2 – ускорение свободного падения. С учетом vx = dx/dt и vy = dy/dt исходная система уравнений приводится к следующему виду:
67
dx dt = vx , dv dt = − k m ⋅ v , x x dy dt = v , y dv y dt = − k m ⋅ v y − g . Рассчитайте зависимости x(t) и y(t). Постройте траекторию снаряда y(x) из точки x(t=0) = 0 и y(t=0) = 0 при заданных k, m, θ и начальной скорости v(t=0). Вариант Параметр 19-1 19-2 19-3 19-4 19-5 19-6 k, кг/c 1,4 0,05 2,9 1 2 1,8 m, кг 15 0,3 110 42 85 52 v(t=0), м/с 300 10 350 140 300 330 15 45 25 33 20 45 θ, град Задание 20. Процесс производства, хранения и сбыта товара описывается системой дифференциальных уравнений dT dt = O − k1T ( S − V ) , dV = k1T ( S − V ) − k2V , dt O dD dt = Ck1T ( S − V ) − C − k3T , где T – количество товара на рынке, V – количество не потребленного товара у покупателей, D – доход в единицу времени, O – объем выпуска товара, k1 – коэффициент скорости продаж, S – потенциальный спрос (объем товара, удовлетворяющий потребность при отсутствии ажиотажного спроса), C – условная цена товара (C > 1), k2 – коэффициент потребления товара, k3 – плата за хранение единицы товара. Переменные T, O, V, D и параметры S и C измеряются в условных денежных единицах. Рассчитайте зависимости T(t), V(t) и D(t) при начальном условии D(t=0) = 0. Остальные данные приведены в таблице. Вариант Параметр 20-1 20-2 20-3 20-4 20-5 20-6 T(t=0) 3 10 15 4 12 7 V(t=0) 3 20 5 11 12 5 11,7 7 21 15 18 32,6 O 15,5 3 18 15 21 18 S 1,2 1,3 1,5 1,1 1,2 1,2 C k1 0,02 0,03 0,2 0,5 0,05 0,02 k2 3 2 1,1 2 1,3 2,6 k3 0,01 0,001 0,1 0,05 0,12 0,04
68
Лабораторная работа № 3 РЕШЕНИЕ ДИФФЕРЕНЦИАЛЬНЫХ УРАВНЕНИЙ В ЧАСТНЫХ ПРОИЗВОДНЫХ 1. КРАТКИЕ ТЕОРЕТИЧЕСКИЕ СВЕДЕНИЯ
Большое число задач, связанных с анализом физических (и не только физических) полей описываются дифференциальными уравнениями в частных производных. К сожалению, во многих случаях, представляющих практический интерес, найти аналитическое решение таких задач трудно или практически невозможно. Это обычно обусловлено сложной формой или неоднородностью свойств области, в которой отыскивается решение. Однако результат можно получить численно с помощью компьютера. Подходы к решению дифференциальных уравнений с частными производными определяются их математической формой. Поэтому рассмотрим классификацию уравнений с этой точки зрения. 1.1. Классификация уравнений по математической форме
Во многих случаях для описания физических процессов используют уравнений с частными производными до второго порядка включительно. Так, например, изучение свободных колебаний различной природы приводит к волновым уравнениям вида ∂ 2u ∂ 2u ∂ 2u 1 ∂ 2u 2 + 2 + 2 − 2 2 = 0, ∂y ∂z c ∂t ∂x
(1)
где u(x,y,z,t) – функция, описывающая волновой процесс, x, y, z – координаты, с – скорость распространения волны в данной среде, t – время. Оператор 2 2 ∂2 ∂ ∂ + + 2 2 2 принято обозначать значком ∆, который в этом слу ∂x ∂y ∂z чае носит название оператора Лапласа. Процессы распространения тепловой энергии описываются уравнением теплопроводности ρC
∂ 2T ∂ 2T ∂ 2T ∂T − k 2 + 2 + 2 = Q, ∂t ∂y ∂z ∂x
(2)
где ρ и C – плотность и теплоемкость вещества, T – температура, k – коэффициент теплопроводности, Q – плотность источников тепла. Анализ стационарных состояний, например, статических тепловых, электрических, магнитных полей или деформаций при статических нагрузках проводят, используя уравнение Пуассона
69
∂ 2u ∂ 2 u ∂ 2 u + + = − f ( x, y, z ), ∂x 2 ∂y 2 ∂z 2
(3)
где u(x,y,z) – функция, описывающая статическое поле, f(x,y,z) – распределенные источники. Если f(x,y,z) = 0, то (3) обращается в уравнение Лапласа: ∂ 2 u ∂ 2 u ∂ 2u + + =0 . ∂x 2 ∂y 2 ∂z 2
(4)
Известны и другие виды задач и соответствующие им дифференциальные уравнения в частных производных, например, уравнение диффузии или уравнение Гельмгольца. Несмотря на различие процессов, описываемых рассмотренными уравнениями, и форм их записи, все они с математической точки зрения могут быть представлены как частные случаи обобщенной формы дифференциального уравнения второго порядка. Рассмотрим уравнение второго порядка с двумя независимыми переменными x и y: ∂ 2u ∂ 2u ∂ 2u (5) A 2 + 2B + C 2 + D = 0, ∂x ∂x∂y ∂y где A, B, С и D – некоторые функции, зависящие в общем случае от x, y, u, ∂u/∂x и ∂u/∂y, причем A, B и С одновременно не обращаются в ноль. Дифференциальные уравнения, описывающие физические поля, могут быть нелинейными. Однако на практике многие задачи рассматриваются в линейном приближении, когда уравнение с частными производными линейно относительно неизвестной функции u и ее частных производных. На основании того, что уравнению (5) можно поставить в соответствие квадратичную форму Aζ 12 + Bζ 1ζ 2 + Cζ 22 = 0 , по математической природе различают следующие типы квазилинейных уравнений: 1) гиперболический, если B 2 − 4 AC > 0 – его аналогом является волновое уравнение (1); 2) параболический, если B 2 − 4 AC = 0 – его аналог уравнение теплопроводности (2); 3) эллиптический, если B 2 − 4 AC < 0 – аналог уравнение Пуассона (3) или Лапласа (4). В задачах, описываемых дифференциальными уравнениями в частных производных, другой важной составляющей помимо самого уравнения является формулировка дополнительных условий. Для задач с уравнениями гиперболического или параболического типа, содержащих в качестве независимой переменной время t, условия по t обычно формулируются как начальные, описывающие исходное состояние системы. По координатам x, y и z задают граничные условия. В тепловых задачах они, например, описывают распределение температуры на границе
70
расчетной области. В задачах с уравнениями эллиптического типа, не содержащими переменную t, используют только граничные условия по координатам x, y и z, а саму задачу называют краевой. Если краевое условие задает распределение функции u на границе, то его принято называть условием Дирихле. Условие, определяющее производG JJJJJJJJG G JJJG ную n ⋅ grad(u) ≡ n ⋅ ∇u на границе расчетной области, называют условием G Неймана. Здесь n – единичная нормаль к границе. Условия, представляющие собой комбинацию двух вышеназванных, называют смешанными. С помощью дифференциальных уравнений формулируют и другой вид задач – задачи на собственные значения, связанные, например, с определением собственных волн (частот) колебательных систем или волноведущих структур. Однако здесь они не рассматривается. Приведенная классификация позволяет определить общие подходы к решению дифференциальных уравнений в задачах различных по физической сути, но сходных с математической точки зрения. В настоящее время широкое распространение получили метод конечных разностей и метод конечных элементов, основы которых и будут рассмотрены ниже.
1.2. Основы метода конечных разностей Метод конечных разностей заключается в том, что дифференциальное уравнение в частных производных заменяется соответствующей ему системой алгебраических уравнений. Решение этой системы дает приближенное решение для искомой функции u(x,y,z,t). Метод включает следующие основные этапы: 1) построение сетки, охватывающей рассматриваемую область, например, элемент конструкции какого-нибудь устройства; 2) построение на полученной сетке конечно-разностной аппроксимации, эквивалентной исходному дифференциальному уравнению и дополнительным условиям; 3) формирование на основе конечно-разностной аппроксимации системы алгебраических уравнений и ее решение. Рассмотрим перечисленные этапы на примере двухмерных задач. 1.2.1. Построение сетки
Формирование сетки производится с учетом геометрии задачи, например, формы детали, для которой выполняется расчет. Обычно для деталей, имеющих прямоугольную форму, используют декартову систему координат и соответственно прямоугольную сетку. На рис. 1 приведен пример такой двухмерной сетки, нанесенной на прямоугольную пластину. В методе конечных разностей применяют и другие виды сеток. Например, если исследуемая конструкция содержит элементы с осевой симметрией, используют полярную сетку.
71
В дальнейшем решение задачи строят, опираясь на узлы сетки, то есть на точки пересечения ее линий.
Рис. 1. Прямоугольная сетка
Конечно-разностная аппроксимация производных в дифференциальном уравнении строится путем замены этих производных на их приближенные аналоги с помощью сетки. Так, например, частную производную ∂u ∂x = lim u ( x + ∆x ) − u ( x ) ∆x в точке (xi, yi) можно заменить прибли∆x → 0
женным значением так называемой "правой производной" ∂u ∆u u −u u −u ≈ = i +1 i = i +1 i ∂x ∆x ПРАВАЯ xi +1 − xi ∆x
(6)
или "левой производной"
∂u ∆u u −u u −u ≈ = i i −1 = i i −1 ∂x ∆x ЛЕВАЯ xi − xi −1 ∆x
(7)
где ∆u и ∆x – приращения функции и аргумента, ui, xi и ui+1, xi+1 – значения функции и аргумента в узлах i и i+1, причем ∆x – шаг сетки по координате x. Аналогично получается формула для второй производной ∂2u/∂x2 : 2
∂ u ∂ ∂u = ≈ ∂x 2 ∂x ∂x
∆u ∆x
− ПРАВАЯ
∆x
∆u ∆x
ЛЕВАЯ
ui +1 − ui ui − ui −1 − ∆x ∆x ui +1 − 2ui + ui −1 (8) = . = ∆x ∆x 2
В полученных выражениях в отличие от точных производных используются малые, но не бесконечно малые разности ∆u и ∆x. Поэтому сам метод и получил название метода конечных разностей. Формулы для производных по независимым переменным y, z, t получают аналогично.
72
1.2.2. Аппроксимация уравнения эллиптического типа
Преобразование уравнения эллиптического типа (3) для двухмерной задачи (когда ∂2u/∂z2 ≡ 0) производится путем замены в нем производных ∂2u/∂x2 и ∂2u/∂y2 конечно-разностными формулами. Заменив в (3) ∂2u/∂x2 с помощью (8) и используя аналогичное выражение для ∂2u/∂y2, получим u i +1, j − 2u i , j + u i −1, j ∆x
2
+
u i , j +1 − 2u i , j + u i , j −1 ∆y
2
=−
P , W
(9)
где индексы i и j отсчитываются соответственно по осям X и Y. Для упрощения анализа предположим, что в сетке используются квадратные ячейки, то есть ∆x = ∆y = h ≠ 0, тогда
ui+1, j + ui−1, j + ui , j +1 + ui , j −1 − 4ui , j = −
P 2 h . W
(10)
Уравнение (10) связывает между собой неизвестное значение функции ui,j с ее значениями в четырех соседних узлах. На сетке эти узлы образуют пятиточечный шаблон (рис. 2, а), позволяющий легко определить индексы в (10) для любого произвольно выбранного на сетке узла i,j . Записывая (10) для каждого узла 2 < i < n–1, 2 < j < m–1 и подставляя вместо i и j соответствующие номера, получим систему связанных уравнений. Количество уравнений будет равно количеству узлов, в которых необходимо найти неизвестные ui,i. Иначе говоря, число неизвестных равно числу уравнений и система будет замкнутой. Значения функции u в узлах сетки, лежащих на границе рассматриваемой области, определяются заданными граничными условиями. Например, если в задаче об изгибе Рис. 2. Шаблон "крест" для пластины ее края считаются жестко закрепуравнения эллиптического типа ленными, то смещение в граничных узлах полагается нулевым: u1,j = un,j = ui,1 = ui,m = 0. Решение системы алгебраических уравнений, получаемой в результате конечно-разностной аппроксимации уравнения эллиптического типа, является одним из наиболее тяжелых по вычислительным затратам этапов расчета. Для повышения точности решения приходится использовать сетки с большим числом узлов, на которых формируются и довольно большие системы − нередко до нескольких тысяч алгебраических уравнений. Одним из способов уменьшения числа узлов и является использование сеток с неравномерным шагом. При этом сетку сгущают в наиболее важных с точки зрения точности участках, например, вблизи углов или отверстий.
73
В то же время решение задачи облегчается тем, что каждое из алгебраических уравнений содержит небольшое количество неизвестных. В качестве примера ниже приведена система с разреженной матрицей ленточного типа, полученной из (10) для прямоугольной области (рис. 1) при n = m = 5. В правой части записаны ui,j относящиеся к узлам, лежащим на границах.
Для решения подобных систем используют специальные методы, учитывающие разреженность матрицы коэффициентов. К специальным прямым относятся некоторые матричные методы и метод прогонки (аналог метода Гаусса). Из итерационных применяют метод Якоби (одновременных смещений) и метод Гаусса-Зейделя (последовательных смещений), а также модификации последнего, например, метод верхней релаксации. 1.2.3. Аппроксимация уравнения гиперболического типа
Построение алгебраических уравнений на основе дифференциального уравнения гиперболического типа (1) выполняется, так же как и в предыдущем случае, заменой производных конечно-разностными аналогами. В качестве примера рассмотрим задачу продольных колебаниях тонкого однородного стержня длиной L (рис. 3), когда его деформация u зависит только от продольной (вдоль оси стержня) координаты x и времени t. Рис. 3. Модель стержня Колебания стержня описываются дифференциальным уравнением
∂ 2u 1 ∂ 2u − = 0, ∂x 2 a 2 ∂t 2
(11)
где a = E ρ , E и ρ – модуль упругости и плотность материала стержня. Аппроксимация уравнения производится на сетке в координатах t и x. Примерный вид сетки показан на рис. 4. Данная задача не имеет верхней границы по координате t. Это объясняется тем, что с формальной точки зрения колебания в стержне могут продолжаться неопределенно долгое время, даже если будут учтены потери, приводящие к их затуханию.
74
Рис. 4. Сетка в координатах t и x
Используя сетку, запишем в конечных разностях уравнение, эквивалентное (11): ui , j +1 − 2ui , j + ui , j −1 ∆t 2
= a2
ui +1, j − 2ui , j + ui −1, j ∆x 2
(12)
или
ui , j +1 = 2 (1 − β 2 ) ui , j + β 2 ( ui +1, j + ui −1, j ) − ui , j −1 ,
(13)
где β = a ∆t/∆x. Из (12) и (13) видно, что форма шаблона уравнения гиперболического типа подобна форме шаблона уравнения эллиптического типа. Аналогично предыдущей задаче запишем уравнение (13) для каждого узла сетки и, подставляя в него вместо i и j соответствующие этим узлам номера, получим систему связанных алгебраических уравнений. В качестве граничных условий по x в данной задаче могут использоваться любые условия, описывающие способ закрепления стержня. Например, жесткое закрепление предполагает нулевой сдвиг на концах стержня. Это соответствует условию u(x=0,t) = 0 и u(x=L,t) = 0, где x = 0 и x = L – координаты концов стержня. По времени t в качестве начальных условий зададим при t = 0 исходную деформацию стержня и начальную скорость его колебаний u(x, t=0) = fд (x),
∂u = v ( x ) t =0 . ∂t t =0
(14)
Решение системы уравнений для рассматриваемой задачи можно получить с помощью сравнительно простой процедуры, называемой явной схемой. Эта схема строится на том, что все уравнения системы последовательно связаны между собой.
75
Расчет будем проводить в следующем порядке. Вначале определим деформацию стержня в моменты t = 0 и t = 0+∆t. Для t = 0 деформация u(x,0) ≡ ui,1 известна из заданных начальных условий (14). Для следующего момента времени t = ∆t деформацию u(x,∆t) ≡ ui,2 определим с помощью второго начального условия, задающего скорость ∂u/∂t при t = 0: ∂u = v( x) ∂t t =0
⇒
ui ,2 − ui ,1 = vi ,1 , ∆t
тогда
ui ,2 = ui ,1 + vi ,1 ∆t .
(15)
При известных из (14) и (15) ui,1 и ui,2 начнем решение задачи следующим образом. Полагая, что j = 2, то есть ui,j–1 = ui,1 и ui,j = ui,2, подставим в (13) известную из (14) соответствующую t = 0 начальную деформацию ui,1 ≡ u(x, t=0) = fд (x), и соответствующую t = ∆t деформацию ui,2 = ui,1 + vi,1∆t (см. (14)). Вычисление правой части (13) позволяет определить ui,j+1 = ui,3 в момент времени t = 2∆t. Далее действуя аналогично и сдвигая шаблон решения на одну линию сетки по координате t, вычисляются последовательно фазы колебаний ui,4 – из ui,2 и ui,3, затем ui,5 – из ui,3 и ui,4 и так далее. То есть очередной временной слой j+1 рассчитывается из предыдущих − с индексами j и j–1. При решении гиперболического уравнения следует обращать внимание на выбор шага сетки по x и t. Теоретически можно показать, что приближенное решение, получаемое с помощью (13), сходится к точному при ∆x→0 и ∆t→0 со скоростью O(∆x2 + ∆t2), если β = a∆t/∆x < 1. Иначе говоря, если выбран шаг сетки ∆x по координате x, то появляется ограничение на шаг по времени ∆t. При β > 1 метод становится неустойчивым как в абсолютном, так и в относительном смысле. Последнее означает, что по мере продолжения вычислений ошибки катастрофически нарастают. Теоретически показано, что при β = 1 метод устойчив и конечно-разностное решение совпадает с точным. При β < 1 решение хотя и устойчиво, но его точность с уменьшением β убывает. 1.2.4. Аппроксимация уравнения параболического типа
Решение двухмерной задачи с уравнением параболического типа (2) выполняется с помощью сетки аналогичной приведенной на рис. 4. Рассмотрим процесс теплопередачи по длинному однородному стержню длиной L, ось которого совпадает с осью x. Предположим, что в исходном состоянии стержень по всей длине имеет температуру T = T0. Затем, начиная с момента времени t = 0 температура на его правом конце x = L скачком возрастает до TL, в то время как на левом конце x = 0 поддерживается температура T = T0. Теплопередачей через боковую поверхность стержня будем пренебрегать.
76
Учитывая, что в стержне отсутствуют источники тепла (Q = 0), запишем в конечных разностях уравнение, эквивалентное (2): Ti , j +1 − Ti , j ∆t
=
k Ti +1, j − 2Ti , j + Ti−1, j ρC ∆x 2
(16)
или Ti , j +1 = βTi +1, j + (1 − 2β ) Ti , j + βTi −1, j ,
(17)
где β = (k/ρC)(∆t/∆x2). Из (16) и (17) видно, что шаблон для уравнения параболического типа напоминает перевернутую букву Т. Граничные условия по координате x в данной задаче включают температуру на концах стержня: T1,j = 0 при x = 0 и Tn,j = TL при x = L. По времени t начальное условие задает исходное распределение температуры в стержне T(x,t=0) = T0. Запишем уравнение (17) для каждого узла сетки и, подставляя в него вместо i и j соответствующие этим узлам номера, получим систему связанных уравнений. Решение системы уравнений для данной задачи, так же как и в предыдущем случае вычисляется с использованием явной схемы. При этом расчет упрощается за счет того, что распределение температуры в стержне для каждого последующего временного слоя j+1 определяется из известного распределения только в одном предыдущем слое j. При решении уравнения параболического типа также важен выбор шага ∆t. Для обеспечения сходимости и устойчивости метода желательно, чтобы параметр β = (k/ρC)(∆t/∆x2) в (17) не превышал 0,5. Нарушение этого условия приводит к расходящемуся или колеблющемуся решению. 1.2.5. Погрешность решения
Погрешность решения методом конечных разностей в первую очередь определяется ошибкой, вносимой при замене исходного дифференциального уравнения на его конечно-разностный аналог. Вначале оценим погрешность аппроксимации (6) для первой производной, используя разложение u(x) в окрестностях точки xi в ряд Тейлора:
u ( xi + ∆x) = u ( xi ) + ∆x
∂u ( xi ) ∆x 2 ∂ 2u ( xi ) ∆x3 ∂ 3u ( xi ) ∆x 4 ∂ 4u ( xi ) + + + + ... , (18) ∂x 2! ∂x 2 3! ∂x3 4! ∂x 4
откуда
∂u ( xi ) u ( xi + ∆x) − u ( xi ) ∆x ∂ 2u ( xi ) ∆x 2 ∂ 3u ( xi ) = − − − ... . 2! ∂x 2 3! ∂x3 ∂x ∆x
(19)
Согласно (18) погрешность конечно-разностной аппроксимация по формуле (6) обусловлена тем, что в ней не учитываются слагаемые высоких
77
порядков, начиная с (∆x/2!)(∂2u/∂x2). Можно утверждать, что в (19) слагаемые убывают по мере увеличения их порядка. Поэтому ошибка (6) приближенно равна (∆x/2)(∂2u/∂x2). Аналогичную оценку нетрудно провести и для второй производной. Для этого необходимо воспользоваться (18) и аналогичным разложением, записанным для u(xi –∆x):
∂u ( xi ) ∆x 2 ∂ 2u ( xi ) ∆x3 ∂ 3u ( xi ) ∆x 4 ∂ 4u ( xi ) u ( xi − ∆x) = u ( xi ) − ∆x + − + − ... (20) 2! ∂x 2 3! ∂x3 4! ∂x 4 ∂x Сложив (18) и (20) получим выражение для второй производной:
∂ 2u ( xi ) u ( xi + ∆x) − 2u ( xi ) + u ( xi − ∆x) ∆x 2 ∂ 4u ( xi ) = − − ... . 12 ∂x 4 ∂x 2 ∆x 2
(21)
Из сравнения (21) и (8) видно, что погрешность (8) определяется не учтенными в ней слагаемыми высоких порядков, начиная с (∆x2/12)(∂4u/∂x4). Поэтому ошибка (8) уменьшается пропорционально квадрату ∆x. Данный результат полезно учитывать при выборе шага сетки. Так, например, уменьшение вдвое шага ∆x = ∆y = h приводит к снижению ошибки аппроксимации для уравнения эллиптического типа в четыре раза. Нельзя утверждать, что уменьшение шага сетки однозначно повышает точность решения методом конечных разностей. С увеличением количества узлов сетки возрастает объем вычислений и, следовательно, растут вычислительные погрешности. На практике для оценки погрешности решения можно провести ряд пробных расчетов с разными значениями шага сетки и выбрать вариант, обеспечивающий приемлемую точность при невысоких вычислительных затратах.
1.3. Основы метода конечных элементов Существуют различные формулировки метода конечных элементов, различающиеся как в основных, так и в менее значительных деталях. Ограничимся кратким рассмотрением основных этапов решения задачи этим методом. 1.3.1. Формирование сетки
Метод конечных элементов основывается на том, что любое непрерывное распределение физической переменной u(x,y,z,t) в расчетной области, например деформацию или температурное поле, можно аппроксимировать набором кусочно-непрерывных функций, определенных на конечном числе подобластей (конечных элементов). Данные элементы имеют общие узловые точки и в совокупности аппроксимируют форму области.
78
В зависимости от геометрии и размерности задачи используют различные виды конечных элементов (см. рис. 5). Чаще всего применяются простейшие элементы – симплексы.
а
б
в
Рис. 5. Некоторые виды конечных элементов: a – одномерные; б – двухмерные; в – трехмерные
Количество узлов в симплексе на единицу превышает размерность задачи. Для двухмерной задачи симплекс-элементом будет являться прямолинейный трехузловой треугольник, а для трехмерных – прямолинейный четырехузловой тетраэдр. Широкое применение симплексов обусловлено тем, что они позволяют заполнять расчетную область произвольной формы полностью без разрывов, а также на них удобно использовать в качестве аппроксимирующих функций линейные полиномы. Обычно для разбиения расчетной области на элементы используется специальный алгоритм покрытия, обеспечивающий автоматическую генерацию сетки. Одна из таких процедур работает следующим образом (см. рис. 6, а). Вначале производится нанесение с некоторым шагом узлов на границу области. После этого внутри области строится вспомогательная кривая эквидистантная границе. На кривую также наносятся узлы. Поочередное соединение узлов на первом и втором контурах дает симплексы. Далее все операции повторяются до заполнения симплексами всей области. Известны и другие алгоритмы формирования конечных элементов, например, "картографический", использующий наложение на расчетную область сетки, которая затем адаптируется к границам и неоднородностям геометрии, или методы, основанные на заполнении объекта набором фигур (тел) с использованием свойств симметрии или отражения.
79
а
б Рис.6. Построение сетки конечных элементов
Пример автоматически сгенерированной трехмерной сетки для круглого диска показан на рис. 6, б. 1.3.2. Конечно-элементная аппроксимация
Рассмотрим построение аппроксимации на одномерном примере. Пусть требуется найти распределение некоторой непрерывной функции u(x) вдоль стержня (см. рис. 7, а). На практике эта функция может описывать, например, распределение температуры или деформацию стержня.
а
б Рис. 7. Одномерное распределение
Выберем и пронумеруем ряд точек вдоль оси х – это узловые точки (рис. 7, б). В нашем примере взято всего пять точек. Вообще говоря, их может быть произвольное количество, и располагаться они могут не на равном расстоянии друг от друга. Предположим, что значения u(х) в узловых точках известны. Они обозначены на рис. 7, б в соответствии с номерами узлов – u1, u2, u3, u4, u5. Разбиение расчетной области, то есть стержня, на конечные элементы может быть проведено различными способами. Можно, например, выделить
80
четыре элемента, включив в каждый из них по два соседних узла (рис. 8, а). А можно выделить в стержне всего два элемента, содержащие по три узла (рис. 8, б).
а
б
Рис. 8. Варианты разбиения стержня на элементы
При использовании четырех элементов, каждый из которых включает только два узла, аппроксимирующая функция в пределах элемента будет линейна по х, так как две точки однозначно определяют прямую линию. Общая аппроксимация зависимости u(х) по всей длине стержня будет складываться из четырех отрезков прямых (рис. 8, а). Зависимость u(x) в пределах одного элемента, ограниченного двумя соседними узлами x i и x j (j = i + 1), можно представить линейным интерполяционным полиномом u(x) ≈ α + αx x. Определив параметры α и αx по известным в точках xi и xj значениям функции ui и uj, запишем интерполяционный полином, то есть функцию элемента следующим образом: u ( x) ≈
xj − x x j − xi
ui +
x − xi u j = N iui + N j u j = N (e) u (e) , x j − xi
(22)
где Ni и Nj – так называемые функции формы конечного элемента, ui и uj – значения функции u(x) в точках xi и xj, [N(e)] = [Ni Nj] – матричная ui строка функций формы элемента, u (e) = – вектор-столбец. Здесь следуu j ет отметить, что ряд терминов метода конечных элементов получили название из механики, где он впервые начал активно использоваться. В случае разбиения области на два элемента (рис. 8, б) три узловые точки в каждом из них позволяют однозначно определить функции элементов в виде полиномов второй степени. Соответственно распределение u(х) на всей длине стержня будет аппроксимироваться кусочно-непрерывной квадратичной функцией. При этом общая аппроксимация для стержня может содержать излом из-за несовпадения углов наклона графиков полиномов (их первых производных) в третьем узле.
81
Для двухмерной или трехмерной задачи аппроксимация строится аналогичным образом. В зависимости от вида элементов (количества используемых в них узлов) также применяется линейная или нелинейная аппроксимация. Примеры аппроксимации двухмерной непрерывной функции u(x,y) приведены на рис. 9.
а
б
Рис. 9. Моделирование двухмерной скалярной функции с помощью линейной (а) и нелинейной (б) аппроксимации
Функция формы элемента будет представлена плоскостью, если для него взято минимальное число узлов, которое для треугольного элемента равно трем, а для четырехугольного – четырем. В этом случае используют линейную аппроксимацию u(x,y) ≈ α + αx x + αy y. По аналогии с одномерным случаем линейный интерполяционный многочлен для простейшего треугольного элемента, включающего только три узла, записывают в виде u ( x, y ) ≈ N i ui + N j u j + N k uk = N (e) u (e) ,
(23)
где Ni , Nj , Nk – функции формы элемента, ui , uj , uk – значения функции в узлах, принадлежащих элементу, [N(e)] – матричная строка функций формы элемента, [u(e)] – вектор-столбец значений функции u(x,y) в его узлах. Если элемент содержит большее количество узлов, то аппроксимирующая функция элемента будет отображаться криволинейной поверхностью. Для всей расчетной области аппроксимацией распределения u(x,y) является кусочно-линейная (или кусочно-нелинейная) поверхность, каждый из участков которой определяется на отдельном элементе с помощью значений u(х,y) в принадлежащих ему узлах. Для построения аппроксимации так, как это было показано выше, необходимо знать распределение u(х,y) во всей расчетной области. Однако до решения задачи эта зависимость обычно как раз и не известна. Тем не менее, используя аппроксимирующие формулы (22) или (23), решение можно получить. Способы отыскания решения рассмотрены ниже.
82
1.3.3. Построение решения
Вначале необходимо провести объединение конечных элементов в ансамбль. Значения u1, u2, u3, ... в узлах теперь будем рассматривать как неизвестные переменные, которые необходимо найти. Сформируем из этих значений, взятых по всей расчетной области, столбцовую матрицу, которую обозначим [u(Σ)]. Каждой строке [u(Σ)] соответствует узел сетки конечных элементов. Тогда аппроксимацией для всей расчетной области (в двухмерном случае) будет u(x,y) ≈ [N(Σ)] [u(Σ)] , где [N(Σ)] – матричная строка функций формы всех конечных элементов, входящих в расчетную область. При составлении матриц [N(Σ)] и [u(Σ)] производится сквозная нумерация узлов. Для двух- и трехмерных задач эта процедура сложна и от нее в значительной степени зависит время расчета. Следующий этап – построение разрешающей системы алгебраических уравнений на основе конечно–элементной аппроксимации. В результате решения задачи узловые значения u1, u2, u3, ... должны быть "подобраны" так, чтобы они обеспечивали наилучшее приближение к истинному распределению u(x,y). Этот "подбор" может осуществляться различными способами. Существуют вариационная и проекционная формулировки метода конечных элементов. При вариационном подходе производится минимизация некоторого функционала, связанного с исходным дифференциальным уравнением. Например, в задачах механики может минимизироваться потенциальная энергия системы. Процесс минимизации приводит к решению системы алгебраических уравнений относительно узловых значений u(х). Проекционный вариант метода конечных элементов является частным случаем метода взвешенных невязок. Последний основан на минимизации невязки в дифференциальном уравнении при подстановке в него приближенного решения вместо точного. В методе конечных элементов оценка невязки производится по отдельным элементам и также сводится к решению системы алгебраических уравнений относительно узловых значений u(х). При построении решения функции формы N позволяют определять в пределах каждого элемента пространственные дифференциальные операторы первого порядка от скалярного или векторного поля (см. (22)), например: JG JJJG JJJJJJJJG JJJJJJJJJJJJG JG JJJJJJJJJJJ (e) (e) (e) grad ( u ) = grad N ⋅ u , div A = grad N ⋅ A(e) , JJJG JG (e) A – узловое распределение векторного поля A в пределах где JJJJJJJJJJJJG JG JJG JG JJG элемента, grad N (e) = [ α x ] ⋅ ex + α y ⋅ ey , ex и ey – единичные базисные векторы (орты) декартовой системы координат. В методе конечных элементов также как и в методе конечных разностей матрица коэффициентов системы уравнений включает большое число нулевых элементов, что облегчает решение задачи.
83
К достоинствам метода конечных элементов, благодаря которым он находит широкое применение, относятся гибкость и разнообразие сеток, четко формализованные алгоритмы построения дискретных задач для произвольных областей, простота учета естественных краевых условий. Кроме того, этот метод применим к широкому классу исходных задач, а оценки погрешностей приближенных решений, как правило, получаются при менее жестких ограничениях, чем в методе конечных разностей. Несмотря на то, что метод конечных разностей на первый взгляд представляется наиболее легким в реализации, и был разработан раньше метода конечных элементов, последний в настоящее время является доминирующим в современных расчетных программах.
1.4. Использование пакетов MathCAD и MATLAB В настоящее время существует широкий спектр программных средств, обеспечивающих решение задач, описываемых дифференциальными уравнениями в частных производных. Часть из них, например CosmosWorks, MSC Nastran или ANSYS, относятся к так называемым CAE-системам (CAE – Computer Aided Engineering). Они применяются при разработке сложных технических объектов, в частности в автомобильной и аэрокосмической отрасли. MathCAD и MATLAB также имеют средства решения задач невысокой сложности в двухмерной постановке. 1.4.1. Примеры выполнения расчетов в пакете MathCAD
Для решения уравнения Пуассона (3) или Лапласа (4) на области, имеющей квадратную форму, в пакете MathCAD служат функции relax и multigrid. Функция relax использует метод релаксации для нахождения приближенного решения. При этом уравнение Пуассона представляется в виде (см. (10)): a j ,k u j +1,k + b j ,k u j −1,k + c j ,k u1,k +1 + d j ,k u j ,k −1 + e j ,k u j ,k = f j ,k . Обращение к функции relax выполняется следующим образом: relax(a, b, c, d, e, f, u0, R) , где a, b, c, d, e – квадратные матрицы одинакового размера, содержащие коэффициенты вышеприведенного уравнения, f – квадратная матрица, содержащая значения правой части уравнения в точках области, в которой ищется решение, u0 – квадратная матрица, содержащая граничные значения решения на границе области и начальное приближение для решения внутри области, R – спектральный радиус итераций Якоби. Параметр R управляет сходимостью алгоритма релаксации. Оптимальное значение R зависит от параметров задачи и выбирается в пределах 0 < R < 1.
84
Рассмотрим пример с использованием функции relax. Найдем распределение температуры T(x,y) на тонкой квадратной пластине (рис.10). Распределение описывается уравнением Лапласа ∂ 2T ∂ 2T + = 0. ∂x 2 ∂y 2
Заданы следующие граничные условия: на левой стороне пластины T ( Γ1 ) = 273 + 97 y 3 К; на верхней стороне – T ( Γ 2 ) = 273 + 85 x 2 К; на правой стороне – T ( Γ 3 ) = 358 − 28 y 2 К; на нижней стороне – T ( Γ 4 ) = 350 + 20cos ( πx ) К. Рис. 10. Модель пластины
Запишем решение задачи в MathCAD следующим образом.
Распределение температуры по пластине представлено на рис. 11.
85
Рис. 11. Распределение температуры по пластине
В приведенном примере отсчет узлов сетки начинается с индексов i = 0, j = 0, так как в MathCAD по умолчанию нумерация элементов массивов начинается с нуля. При необходимости можно ввести нумерацию начиная с единицы, задав соответствующий параметр ORIGIN = 1. В следующем примере рассмотрим расчет колебаний u(x,t) тонкого однородного по длине стержня методом конечных разностей (см. п. 1.2.3). Закрепление концов стержня будем полагать жестким, что соответствует нулевому сдвигу на концах стержня: u(x=0,t) = 0 и u(x=L,t) = 0, где x = 0 и x = L – координаты концов стержня. Предположим, что деформация стержня и начальная скорость его движения v(x) в момент времени t = 0 соответственно равны x u ( x, t = 0) = f д ( x) = A sin π , L
∂u = v ( x ) t =0 = 0 , ∂t t =0
где A = 0,002 м. Аналогично тому, как это было сделано в п. 1.2.3, определим деформацию стержня ui,2 в момент времени t = ∆t (см. (15)): так как
∂u = v( x) ∂t t =0
⇒
ui ,2 − ui ,1 = vi ,1 , то ui ,2 = ui ,1 + vi ,1 ∆t = ui ,1 , ∆t
где vi,1 = v(x) = 0 при t = 0. Зададим исходные данные к расчету: длина стержня L = 0,05 м; модуль упругости E = 2·1011 Н/м2; плотность материала ρ = 8·103 кг/м3.
86
Взяв шаг сетки по координате x равным ∆x = L / Ni = L / 50 = 10–3 м (где Ni – количество шагов разбиения по x) и шаг по времени
(
)
∆t = 2 L ρ E ⋅ 0,01 = 2·10–7 c, найдем решение:
Форма рассчитанных колебаний стержня показана на рис. 12.
Рис. 12. Колебания тонкого стержня
Для решения уравнения параболического типа (см. п. 1.2.4) может быть использована аналогичная схема расчета.
87
1.4.2. Выполнение расчетов в пакете MATLAB
Пакет MATLAB содержит приложение PDE Toolbox (от англ. Partial Differential Equation – дифференциальное уравнение в частных производных). Приложение обеспечивает решение дифференциальных уравнений в частных производных методом конечных элементов в двухмерной постановке. Оно включает графический интерфейс; инструменты задания формы уравнений и граничных условий; процедуру автоматической генерации сетки конечных элементов; средства для визуализации полученного решения и его анимации. PDE Toolbox использует проекционную формулировку метода конечных элементов. PDE Toolbox представляет собой набор специальных функций, написанных на языке MATLAB. Особое место среди всех функций PDE Toolbox занимают pdetool и pdeinit. При вызове этих функций из рабочего окна MATLAB разворачивается графический интерфейс, обеспечивающий решение задачи. З а п у с к п р и л о ж е н и я P D E T o o l b o x приводит к появлению на экране окне графического интерфейса, изображённого на рис. 13.
Рис. 13. Графический интерфейс PDE Toolbox
88
В верхней части интерфейса располагается строка главного меню, включающего пункты "File", "Edit" и другие. Непосредственно под главным меню размещена панель, включающая инструменты PDETool, список видов задач "Application" и указатель значений координат x и y. Ниже расположены окно "Set formula" (ввод формулы) и собственно графическое окно для работы с изображением расчётной области. Внизу имеется информационная строка “Info” и кнопка "Exit" (выход). Рассмотрим кратко основные этапы решения задачи в PDE Toolbox на примере расчета распределения электрического потенциала в автоэмиссионной диодной ячейке (рис. 14). Ячейка представляет собой двухэлектродную структуру, содержащую катод со скругленным на конце выступом и расположенный над ним анод. Будем полагать, что объемный заряд в межэлектродном пространстве отсутствует и распределение потенциала φ(x,y) подчиняется уравнению Лапласа (см. (4)) Рис. 14. Диодная структура
∂ 2ϕ( x, y ) ∂ 2ϕ( x, y ) + = 0. ∂x 2 ∂y 2
Н а п е р в о м э т а п е необходимо сформировать исходную геометрию задачи в графическом окне интерфейса PDETool (см. рис. 15).
Рис. 15. Подготовка изображения двухэлектродной структуры в окне PDETool
89
Показанная на рис. 15 геометрия структуры составлена из набора геометрических фигур – прямоугольника R1, окружности E1 и многоугольника P1. Изображения электродов формируются с помощью команд пункта Draw (Рисовать) главного меню: Draw Mode – переключение в режим ввода (прорисовки) геометрии; Rectangle/square – ввод прямоугольника или квадрата с помощью мыши начиная от его верхней левой вершины; Rectangle/square (centered) – ввод прямоугольника или квадрата с помощью мыши начиная от его центра; Ellipse/circle – ввод эллипса или круга с помощью мыши начиная от верхней левой точки; Ellipse/circle (centered) – ввод эллипса или круга с помощью мыши начиная от центра; Polygon – прорисовка многоугольника отрезками ломаной линии, пока она не станет замкнутой; Rotate – поворот выделенных объектов вокруг некоторой точки; Export Geometry Description, Set Formula, Labels… – экспорт в базовую рабочую область MATLAB переменных описания геометрии. Быстрый вызов некоторых из этих команд обеспечивают элементы и – прямоугольник (квадрат), инструментальной панели и – эллипс (круг), – многоугольник. Для получения изображений произвольной формы служит строка "Set formula", располагающаяся под инструментальной панелью. В ней можно задать слияние нескольких фигур или "вычесть" их друг из друга используя. В данном случае используется формула R1–P1–E1, где R1 – прямоугольник (квадрат), P1 – многоугольник, E1 – эллипс (круг). Команды для редактирования изображения и настройки графического окна содержатся в следующих пунктах главного меню. Edit (Правка) содержит команды: Undo – отмена последнего действия; Cut – вырезать выделенный геометрический объект и поместить его в буфер; Copy – копировать выделенный объект в буфер; Paste – вставить геометрический объект из буфера; Clear – удалить выделенный объект; Select All – выделить все геометрические объекты. Options (Опции) содержит команды: Grid – показать / скрыть координатную сетку; Grid Spacing – установить пределы и шаг сетки; Snap – округлять координаты указателя мыши; Axes Limits – установить пределы координатных осей; Axes Equal – установить одинаковый масштаб по осям x и y; Turn Off Toolbar Help – выключить подсказки по инструментальной панели; Zoom – показать с увеличением выделенную часть модели; Application – переключение вида задачи; Refresh – обновить изображение модели. В т о р о й э т а п включает ввод граничных условий на граничных сегментах (см. рис. 16) и параметров уравнения. Определить условие на любом из сегментов можно, выделив его двойным щелчком левой кнопки мыши. Соответствующие команды располагаются в разделах Boundary и PDE главного меню.
90
Рис. 16. Границы расчетной области
Boundary (Границы) содержит команды: Boundary Mode – ввод граничных условий; Specify Boundary Conditions… – ввод параметров граничных условий; Show Edge Labels – показать номера граничных сегментов; Show Subdomain Labels – показать номера зон; Remove Subdomain Border – удалить границу зон; Remove All Subdomain Borders – удаление всех границ зон; Export Decomposed Geometry, Boundary Cond’s… – экспорт в рабочую область MATLAB переменных описания граничных условий. PDE (Уравнение) содержит команды: PDE Mode – переключение в режим ввода параметров уравнения; Show Subdomain Labels – показать номера зон; PDE Specification… – ввод параметров (коэффициентов) уравнения; Export PDE Coefficients… – экспорт в базовую рабочую область переменных, описывающих PDE коэффициенты в расчётной области. Переход к выполнению этих команд также обеспечивается элементами инструментальной панели – граничные условия и – параметры уравнения. В качестве граничных условий (см. п.1.1) на нижней и верхней границах зададим электрические потенциалы электродов, то есть условие Дирихле: вверху (на аноде) φ = 1000 В и внизу (на катоде) φ = 0 В. На левой и правой границах зададим условие Неймана ∂φ/∂n = 0 (где n – нормаль к границе), учитывая определенную симметрию задачи. Для ввода условия на какомлибо сегменте границы необходимо его выделить и открыть диалоговое окно "Boundary Condition". В окне следует установить переключатель в режим Dirichlet или Neuman и задать числовые параметры.
91
Зададим параметры уравнения эллиптического типа, вызвав через меню или панель инструментов диалоговое окно "PDE Specification". Выберем тип уравнения – "Elliptic" Если в списке "Application" установлен режим "Electrostatics" (задача электростатическая), то в окне MATLAB уравнение имеет вид "–div(ε×grad(ϕ))=ρ", где ε − диэлектрическая проницаемость, ϕ − электрический потенциал, ρ − объемный заряд. В том случае, когда установлен режим "Generic Scalar" в списке "Application" (задача в обобщенной скалярной форме), запись уравнения в MATLAB имеет вид "–div(c×grad(u))+a×u=f". Зададим ε = 1, ρ = 0 (или c = 1, a = 0, и f = 0). Н а с л е д у ю щ е м э т а п е формируется сетка конечных элементов (см. рис. 17). PDE Toolbox поддерживает только симплекс-элементы, для которых характерны линейные функции формы (см. (22) и (23)). Пункт Mesh (Сетка) главного меню включает следующие команды для работы с сеткой: Mesh Mode – переключение в режим построения сетки; Initialize Mesh – генерация сетки; Refine Mesh – сгущение сетки; Jiggle Mesh – регуляризация сетки в пределах установленной величины; Undo Mesh Change – отменить последнее изменение сетки; Display Triangle Quality – отобразить в цвете показатель регулярности конечных элементов; Show Node Labels – показать номера узлов; Show Triangle Labels – показать номера конечных элементов; Parameters… – установить параметры генератора сетки; Export Mesh – экспорт сетки в базовую рабочую область. На рабочей панели этому разделу меню соответствуют элементы – генерация сетки и – сгущение сетки.
Рис. 17. Формирование сетки
92
С л е д у ю щ и й э т а п включает собственно решение задачи и его вывод в графическом виде (см. рис. 18). Соответствующие команды располагаются в пунктах Solve и Plot главного меню. Solve (Решение) содержит команды: Solve PDE – решить краевую задачу; Parameters… – установить параметры решателя; Export Solution… – экспорт решения в базовую рабочую область. На инструментальной панели раз. делу Solve соответствует элемент Plot (График) содержит команды: Plot Solution – отобразить решение; Parameters… – установить параметры отображения решения; Export Movie… – экспорт в базовую рабочую область информации, необходимой для анимации решения нестационарной задачи. На панели PDETool имеются элементы – настройка графики и – увеличить фрагмент.
Рис. 18. Результат решения для двухэлектродной структуры: распределение эквипотенциальных линий ϕ = const
Результаты расчета можно сохранить, обратившись к пункту File (Файл) меню, включающему команды: New – создать новую модель; Open… – открыть ранее сохранённую в m-файле модель; Save – сохранение модели в m-файле с текущим именем; Save As… – сохранение модели в mфайле; Print… – печать рисунка; Exit – закрытие приложения PDETool. В с л е д у ю щ е м п р и м е р е рассмотрим расчет колебаний тонкой пластины квадратной формы (рис. 19), описываемых обобщенным гиперболическим уравнением вида
93
∂2u ∂2u ∂2u + − =0 . ∂x2 ∂y2 ∂t 2 Будем считать, что пластина жестко закреплена на левой и правой границах – u = 0, а два других ее края свободны – ∂u/∂n = 0. Расчет с помощью PDETool будем проводить в следующем порядке. Вначале установим вид расчета "Generic Scalar" в окне "Application" (обычно Рис. 19. Модель пластины этот режим выбран по умолчанию). Начертим изображение пластины в графическом окне PDETool таким образом, чтобы ее центр совпал с началом координат (x = 0, y = 0) и стороны были равны a = b = 2, где a – размер по оси x, b – размер по оси y (см. рис.19). Будем задавать граничное условие Дирихле u = 0 на левой и правой сторонах. На двух других сторонах примем условие Неймана ∂u/∂n = 0. Укажем, что задача описывается уравнением гиперболического типа, и введем соответствующие коэффициенты c = 1, a = 0, f = 0, d = 1 (рис. 20).
Рис. 20. Ввод параметров дифференциального уравнения
Зададим параметры решения и начальные условия – исходную деформацию пластины при t = 0:
πx u ( x, y, t = 0 ) = arctg cos , 2
∂u πy = 3sin ( πx ) exp sin . ∂x t =0 2
Для этого воспользуемся диалоговым окном "Solve Parameters", которое можно открыть выбрав пункты меню Solve → Parameters… (рис. 21). Вначале выберем шаг и верхний предел решения по времени. Для параметра Time введем строку "0:0.1:10". Таким образом, расчет будет выполняться по времени в пределах t = 0…10 с шагом ∆t = 0,1.
94
Начальные условия также записываются с учетом особенностей языка пакета MATLAB. Начальная деформация указывается строкой "atan(cos(pi*x/2))" , а первая производная "3*sin(pi*x) .*exp(sin(pi*y/2))" .
Рис. 21. Ввод параметров решения
Относительную и абсолютную погрешность примем равными 0,01 и 0,001, сохранив установленные по умолчанию значения. Сформируем сетку и настроим графические параметры решения с помощью диалогового окна "Plot Selection" (рис. 22).
Рис. 22. Параметры анимации
Завершающий этап – запуск решения задачи. После окончания вычислений в графическом окне интерфейса PDETool отображается деформация пластины в момент времени t = 10, а в дополнительном окне – анимация колебаний пластины (рис. 23).
95
Рис. 23. Анимация решения гиперболического уравнения
П р и л о ж е н и е P D E T o o l поддерживает решение различных типов задач, описываемых дифференциальными уравнениями в частных производных. В приведенной ниже таблице представлены основные из этих вариантов. Первая строка – "общий вид" соответствует обобщенной задаче, остальные относятся к конкретным физическим приложениям. В таблицу не включены задачи на собственные значения и системы дифференциальных уравнений. 2. УКАЗАНИЯ К ВЫПОЛНЕНИЮ РАБОТЫ
2.1. Подготовка к работе Изучите методы решения дифференциальных уравнений в частных производных (ДУЧП) на ЭВМ, используя указанную литературу. Обратите особое внимание на следующие вопросы: 1. Виды ДУЧП и их основные свойства; 2. Различие дополнительных условий для ДУЧП эллиптического, параболического и гиперболического типов; 3. Различие подходов к решению ДУЧП методами конечных разностей и конечных элементов; 4. Выбор параметров сетки в методах конечных разностей и конечных элементов, их влияние на погрешность расчета.
96 Таблица Классификация дифференциальных уравнений по математической форме Вид задачи Эллиптического типа Параболического типа Гиперболические Общий вид D×u’-div(c×grad(u))+a×u=f, d×u”- div(c× (Generic -div(c×grad(u))+a×u=f ×grad(u)) + a×u = f, где u’ эквивалентно ∂u/∂t Scalar) где u’’ ≡ ∂u/∂t -div(ε×grad(ϕ))=ρ, Электрогде ε − диэлектрическая статика ----проницаемость, ϕ − элек(Electroтрический потенциал, statics) ρ − объемный заряд. -div((1/µ)×grad(A))=j, Магнитогде µ − магнитная простатика ----ницаемость, A − магнит(Magnetoный векторный потенstatics) циал, j − плотность тока. ρ×C×T’-div(k×grad(T)) = -div(k×grad(T))= =Q+h×(Text-T), =Q+h×(Text-T), Теплогде T − температура, где T, k, Q, h и Text − соответствуют указанным передача k − коэф. теплопроводно--для уравнения (Heat сти, Q − источник тепла, эллиптического типа, Transfer) h − коэффициент конвекρ − плотность, тивной теплопередачи, Text − внешн. температура. C − теплоемкость. -div(D×grad(c))=Q, c’-div(D×grad(c))=Q, где c − концентрация, где c − концентрация, Диффузия --D − коэффициент D − коэффициент (Diffusion) диффузии, Q − объемный диффузии, Q − объемный источник. источник. Проводящая -div(σ×grad(ϕ))=q, среда где σ − проводимость, ----(Conductive ϕ − электрический потенMedia DC) циал, q − источник тока. -div((1/µ)×grad(E))+ Переменный +(jωσ-εω2)E=0, электромаг- где µ − магн. проницаенитный про- мость, E − электрическое ----поле, j – мнимая единица, цесс (AC Power Elecω – относ. угловая частота, tromagnetics) σ − относ. проводимость, ε − диэл. проницаемость. E – модуль Юнга, Механика: nu – коэффициент Пуассона, поле напряжений Kx – объемное воздействие (сила) в направлении x, (stress) ----Ky – объемное воздействие и поле деформаций (сила) в направлении y, (strain) ρ – плотность.
97
2.2. Порядок выполнения работы 1. Формализуйте задачу для решения на ЭВМ. В случае необходимости произведите нормировку ДУЧП и другие преобразования, облегчающие решение на ЭВМ. 2. Выберите программную реализацию решения (с помощью специальных встроенных процедур в пакетах MATLAB, MathCAD или в виде отдельной программы на языке высокого уровня). 3. Выполните расчет на ЭВМ. 4. Оформите отчет по работе.
2.3. Содержание отчета 1. Цель работы. 2. Задание. 3. Описание метода решения – краткие сведения из теории (формулы, алгоритм и т.п.). 4. Программа (распечатка), описание программы. 5. Анализ результатов и краткие выводы по работе.
2.4. Контрольные вопросы 1. Приведите классификацию ДУЧП в зависимости от их математической природы и физического смысла. 2. Какого вида граничные условия используют в задачах с ДУЧП? 3. Каковы особенности численного решения ДУЧП эллиптического, гиперболического и параболического типа? 4. Какие виды сеток используются в методе конечных разностей? Каким образом строят на этих сетках разностные аппроксимации и соответствующие им шаблоны? 5. Какие прямые и итерационные методы используют для решения систем алгебраических уравнений в задачах с ДУЧП? 6. Опишите метод прогонки и его роль в решении задач с ДУЧП. 7. Дайте характеристику итерационных методов, используемых для решения систем алгебраических уравнений в задачах с ДУЧП. 8. Как задаются граничные условия? Каким образом задается начальное приближение при решении ДУЧП с использованием итерационных методов? Ответ поясните на примере решенной задачи. 9. Из каких соображений выбирают шаг сетки в методе конечных разностей? 10. Каковы источники погрешности при решении задачи с ДУЧП? Каким образом можно оценить погрешность результата численного решения? 11. В каких случаях может возникать неустойчивость решения задачи? Как влияет выбор параметров сетки на устойчивость?
98
12. Что понимают под сходимостью процесса решения задачи? Ответ поясните на примере решенной задачи. 13. В чем заключается основное различие методы конечных разностей и метода конечных элементов? 14. Каким образом строят дискретную модель в методе конечных элементов? Каким образом строят аппроксимации решения? 15. Опишите последовательность решения задачи методом конечных элементов. 16. Расскажите об особенностях представления чисел в ЭВМ. Как влияет способ представления чисел в ЭВМ на точность расчетов? 17. Назовите три основных источника погрешностей при решении задач на ЭВМ, их природу и способы уменьшения. 3. ВАРИАНТЫ ЗАДАНИЙ
Ниже приведены варианты заданий. Каждое из них включает ряд вариантов, отличающихся друг от друга набором исходных данных. Все параметры в формулах, если не оговорено иное, следует записывать в системе СИ. Задание 1. Распределение температуры T(x,y) на тонкой пластине прямоугольной формы описывается уравнением Лапласа ∂ 2T ∂ 2T + = 0. ∂x 2 ∂y 2 Найдите распределение T(x,y). Размеры a, b и граничные условия указаны в таблице. ПараВариант метр 1-1 1-2 1-3 1-4 1-5 1-6
a , мм
24
25
60
30
25
24
b , мм
10
15
48
20
15
10
Т(Г1), °С
20
25+60
80
15+80
Т(Г 2), °С
20+80
Т(Г 3), °С
x a
a
80-80
85 25+60 y
100
x Т(Г 4), °С 20+80
y b
b
2
25
x a
y b
15+80 y b
0 a
b
95
2
80-80 x
80-70 y
80-70
3
15
80
75 75-75
10 3
2
y b
x a
0 75-75 x a
2
99
Задание 2. На подложке интегральной микросхемы располагается кристалл планарного биполярного транзистора (см. рисунок). Для описания распределения температуры в структуре используется уравнение Лапласа:
∂ 2T ∂ 2T + = 0. ∂x 2 ∂y 2 Подложка прямоугольной формы имеет размеры A × B. Предполагается, что транзистор в объеме и на своей геометрической границе имеет температуру TТ. Требуется определить распределение температуры по всей подложке. Размеры транзистора – 0,6 × 0,6 мм. Граничные условия, а также размеры A и B, a и b указаны в таблице. Параметр
Вариант 2-3 2-4 24 12
A, мм
2-1 8
2-2 6
2-5 7
2-6 4
B, мм
5
5
10
10
5
6
a, мм
2
3
7
4
2,5
1,5
b, мм
2
2
4
6
1,5
3
100
120
110
120
110
90
Т(Г1), °С
0
0
20
10
25
30
Т(Г2), °С
0
10
20
20
45
20
Т(Г3), °С
0
20
20
10
25
30
Т(Г4), °С
0
10
20
0
15
55
ТТ, °С
Задание 3. Прямоугольная металлическая пластина с вырезом (см. рисунок) используется как теплоотводящий элемент. В угловом вырезе пластины (границы Г2 и Г3) расположен источник тепла. Распределение температуры T(x,y) по площади пластины описывается уравнением Лапласа: ∂ 2T ∂ 2T + = 0. ∂x 2 ∂y 2
Найдите распределение T(x,y). Размеры A, B, C и граничные условия даны в таблице.
100
A, мм B, мм C, мм
3-1 200 45 65
3-2 180 55 70
Вариант 3-3 3-4 120 150 55 75 55 45
Т(Г1), °С
30
35
29
28
35
40
Т(Г2), °С
60
65
60
70
65
0,29
Т(Г3), °С
60
65
60
70
65
0,29
Т(Г4), °С
30
35
29
28
35
40
Т(Г5), °С
20
25
20
25
20
25
Т(Г6), °С
20
25
20
25
20
25
Параметр
3-5 100 85 70
3-6 210 110 80
Задание 4. Процесс передачи тепла в твердом веществе описывается уравнением теплопроводности ∂T − div k grad (T ) = Q, ∂t где ρ и C – плотность и теплоемкость вещества, T – температура, k – коэффициент теплопроводности, Q – плотность источников тепла. Рассчитайте процесс изменения температурного распределения T(x,t) в стержне, при указанных в таблице данных. Длина стержня L = 1м. Значения температуры на левом и правом концах стержня соответственно T(x=0) = T0 и T(x=L) = TL . Объемные источники тепла отсутствуют: Q = 0. ρC
Параметр
Вариант 4-3 4-4 3 3,5·10 2,9·103 250 300 100 80
ρ, кГ/м C, Дж/Кг·К k, Вт/м·К
4-1 2,8·103 880 75
4-2 3,5·103 140 210
Т0, °С
0
150
20
ТL, °С
100
10
120
3
4-5 3·103 330 150
4-6 3,5·103 440 180
210
35
140
70
65
5
Задание 5. Пространственное распределение концентрации некоторого вещества-примеси в неподвижной среде–"растворителе" описывается уравнением диффузии: ∂N − div D grad ( N ) = Q , ∂t
101
где N – объёмная концентрация, D – коэффициент диффузии, D grad(С) – плотность потока переноса примеси в процессе диффузии, Q – объёмная плотность источника примеси. Проводится диффузионная обработка участка кремния, на котором предполагается разместить интегральную схему. Для этого на поверхность эпитаксиального слоя n-типа наносится акцепторная примесь, вследствие чего в приповерхностном слое объемная концентрация равна N0. После этого для диффузионной обработки образец помещают в печь на 1час. Рассчитайте процесс диффузии в образце N(x,t) при указанных в таблице данных. Объемные источники диффузии отсутствуют: Q = 0. Вариант Параметр 5-1 5-2 5-3 5-4 5-5 5-6 2 –6 –5 –6 –5 –6 D, м /c 2,8·10 1,5·10 5,2·10 0,8·10 2,5·10 1,2·10–6 N0, м-3 1,9·1025 2,5·1026 3,3·1025 2,2·1024 4,5·1025 6,4·1021 Задание 6. Металлическая пластина, жестко закрепленная по краям, как показано на рисунке, равномерно нагружена по площади (нагрузка − P). Прогиб пластины W описывается уравнением Пуассона: ∂ 2W ∂ 2W P , + 2 = ∂x 2 ∂y D где D = Eh 3 [12(1 −ν 2 )] − изгибная жесткость, Е − модуль упругости, h − толщина пластины, ν − коэффициент Пуассона. Рассчитайте прогиб пластины при исходных данных, приведенных в таблице. На краях пластины используйте граничное условие W = 0. Параметр A, мм B, мм C, мм D, мм P, Н h, мм E, Н/м2 ν
6-1 180 65 100 50 50 5 70·109 0,28
6-2 150 75 65 60 80 4,5 120·109 0,35
Вариант 6-3 6-4 200 120 125 55 70 65 80 60 90 50 5,5 7,5 40·109 150·109 0,29 0,28
6-5 180 55 70 90 70 6 200·109 0,35
6-6 180 100 70 80 40 1 40·109 0,29
102
Задание 7. Пластина прямоугольной формы с вырезом на одной из сторон жестко закреплена по краям и равномерно нагружена по площади. Прогиб пластины определяется из уравнения Пуассона (см. задание 6). Рассчитайте прогиб W(x,y) по данным, приведенным в таблице: A, B – размеры пластины; h − ее толщина; R – радиус выреза; P – нагрузка; Е − модуль упругости; ν − коэффициент Пуассона. Граничное условие W = 0. Параметр A, мм B, мм R, мм h, мм P, Н E, Н/м2
ν
7-1 180 65 25 2 70·109 40 0,3
7-2 150 75 15 5 55·109 70 0,3
Вариант 7-3 7-4 200 120 140 100 40 45 4 6 9 65·10 80·109 140 50 0,28 0,33
7-5 180 90 35 5 110·109 120 0,3
7-6 180 100 30 2 70·109 60 0,28
Задание 8. Пластина прямоугольной формы с отверстием в середине жестко закреплена по краям и равномерно нагружена по площади (нагрузка − P). Прогиб пластины W(x,y) описывается уравнением Пуассона (см. задание 6). Рассчитайте W(x,y) по данным, приведенным в таблице: A и B – размеры пластины; C – расстояние от края пластины до центра отверстия; R – радиус отверстия; h − толщина пластины; Е − модуль упругости; ν − коэффициент Пуассона. На краях пластины граничное условие W = 0, по краю отверстия – ∂W / ∂n = 0, где n – нормаль к краю отверстия. Параметр A, мм B, мм С, мм R, мм h, мм P, Н E, Н/м2
ν
8-1 150 115 55 25 1 50 30·109 0,3
8-2 90 75 35 15 2 40 40·109 0,33
Вариант 8-3 8-4 120 200 100 130 60 80 30 25 1 2 55 65 9 70·10 40·109 0,3 0,3
8-5 100 90 35 30 3 10 90·109 0,32
8-6 120 100 50 30 2 25 50·109 0,27
103
Задание 9. Продольные колебания u(x,t) тяги описываются уравнением
∂ 2u ρ ∂ 2u = , ∂x 2 E ∂t 2 где E − модуль упругости, ρ − плотность материала стержня. Тяга имеет длину L и закреплена на концах. Захватив тягу в центре (см. рисунок), ее деформируют так, что продольное перемещение становится равным ∆u: при 0 ≤ x ≤ L 2, 2∆u x L u ( x, t = 0) = 2∆u (1 − x L ) при L 2 ≤ x ≤ L. Затем тяга освобождается. Рассчитайте колебания u(x,t) при заданных в таблице параметрах. Вариант Параметр 9-1 9-2 9-3 9-4 9-5 9-6 L, см 10 18 32 15 25 6 0,1 0,2 0,15 0,1 0,2 0,15 ∆u, см 2 9 9 9 9 9 E, Н/м 110·10 120·10 97·10 86·10 120·10 82·109 4,3·103 5,9·103 6,7·103 8,5·103 7,4·103 9,7·103 ρ, кг/м3
Граничные условия
Задание 10. Колебания тонкой пластины (см. рисунок) без учета потерь на трение описываются нормированным волновым уравнением вида ∂ 2u − ∆u = 0, ∂t 2 где u(x,y,t) – деформация пластины, x, y – координаты, t – время. Рассчитайте колебания при заданных в таблице размерах a и b, граничных Г1, Г2, Г3, Г4 и начальных u(t=0) и ∂u/∂t | t = 0 условиях. Вариант Параметр 10-1 10-2 10-3 10-4 10-5 10-6 a, см 1 2 3 2 3 2 b, см 2 1 2 3 1 2 Г1 u=0 u=0 ∂u/∂n = 0 Г2 u=0 ∂u/∂n = 0 ∂u/∂n = 0 Г3 u=0 u=0 ∂u/∂n = 0 Г4 u=0 ∂u/∂n = 0 ∂u/∂n = 0 u(t=0)
arctg cos ( πx a )
∂u/∂t | t = 0
2πx πy sin sin a b
tg cos ( πy b )
2cos ( πx a )
πx 2πy 2πx πy exp sin sin tg sin a sin b a b
104
Задание 11. Коаксиальный кабель со смещенной центральной жилой, поперечное сечение которого показано на рисунке, имеет следующие размеры: d − диаметр центрального проводника; w − его смещение относительно оси экрана; D − диаметр экрана. Распределение статического электрического потенциала ϕ(x,y) между проводником и экраном описывается уравнением Лапласа ∂ 2ϕ ∂ 2ϕ + =0 , ∂x 2 ∂y 2
где x и y – координаты. Рассчитайте распределение ϕ(x,y) в сечении кабеля при указанных в таблице размерах d, w, D и потенциале центрального проводника ϕ1. Потенциал экрана ϕ2 примите равным нулю. Параметр d, мм w, мм D, мм ϕ1, В
11-1 7 8 30 22
11-2 4 5 20 25
Вариант 11-3 11-4 3 2 2 5 10 15 13 9
11-5 2 3 12 15
11-6 3 6 25 10
Задание 12. Распределение статического электрического потенциала ϕ(x,y) в поперечном сечении экранированной двухпроводной линии описывается уравнением Лапласа (см. предыдущее задание). Линия имеет следующие размеры (см. рисунок): d1 и d2 – диаметры проводников; w1 и w2 − их смещение относительно оси экрана; D − диаметр экрана. Рассчитайте распределение ϕ(x,y) при указанных в таблице размерах и потенциалах проводников ϕ1 и ϕ2 относительно заземленного экрана. Параметр d1, мм d2, мм w1, мм w2, мм D, мм ϕ1, В ϕ2 В
12-1 3 3 5 5 30 15 -15
12-2 4 4 4 4 20 -10 9
Вариант 12-3 12-4 3 2 3 2 3 4 2 5 15 20 13 -25 -13 20
12-5 2 2 3 3 12 -15 15
12-6 3 3 6 6 25 4 -9
105
Задание 13. Проводник круглого сечения расположен в прямоугольном металлическом экране (см. рисунок): Ax, Ay − ширина и высота экрана; d − диаметр проводника. Распределение статического электрического потенциала ϕ(x,y) между проводником и экраном описывается уравнением Лапласа (см. задание 11). Рассчитайте распределение ϕ(x,y) при указанных в таблице данных, где ϕ1 и ϕ2 − потенциалы проводника и экрана. Параметр Ax, мм Ay, мм d, мм hx , мм hy , мм ϕ1, В ϕ2, В
13-1 22 10 3 11 5 27 5
13-2 9 8 2 5 4 15 0
Вариант 13-3 13-4 9 10 7 6 1 2 3 4 3 3 23 10 0 5
13-5 8 6 1 3 5 22 1
13-6 12 5 0,5 3 2 30 5
Задание 14. Двухпроводная линия, размещенная в прямоугольном экране, имеет следующие размеры (см. рисунок): A и B − ширина и высота экрана; d − диаметр проводников; hx – расстояние между проводниками; hy – высота проводников относительно нижней стенки экрана. Распределение статического электрического потенциала ϕ(x,y) в поперечном сечении структуры описывается уравнением Лапласа (см. задание 11). Рассчитайте распределение ϕ(x,y) при указанных в таблице исходных данных, где ϕ1 и ϕ2 − потенциалы первого и второго проводников. Электрический потенциал экрана примите равным нулю. Параметр A, мм B, мм d, мм hx , мм hy , мм ϕ1, В ϕ2, В
14-1 22 10 3 8 12 27 5
14-2 19 8 2 5 8 15 -15
Вариант 14-3 14-4 9 15 7 6 1 2 3 4 3 8 -23 10 12 5
14-5 8 6 1 3 5 22 -10
14-6 12 5 1 4 5 30 5
106
Задание 15. Два печатных проводника располагаются на диэлектрической плате, помещённой в металлический экран (см. рисунок): W1 − ширина первого проводника; W2 − ширина второго проводника; t − их толщина; d1 и d2 – расстояния от левой стенки экрана до проводников; h − толщина платы; A и B – ширина и высота экрана. Распределение статического электрического потенциала ϕ(x,y) в структуре описывается уравнением Лапласа (см. задание 11). Рассчитайте распределение ϕ(x,y) при указанных в таблице данных: ϕ1 и ϕ2 − потенциалы первого и второго печатных проводников; ε1 – относительная диэлектрическая проницаемость материала платы. Толщина проводников t = 0,1 мм. Потенциал экрана примите равным нулю. Параметр A, мм B, мм d1, мм W1, мм d2, мм W2, мм h, мм ϕ1, В ϕ2, В ε1
15-1 40 30 11 2 17 2 2 13 21 10
15-2 45 30 12 2 22 3 1 5 2 5
Вариант 15-3 15-4 25 35 25 20 6 10 2 3 12 18 3 3 2 2 7 2 3 8 4 10
15-5 25 15 9 2 16 2 1 5 7 4
15-6 30 20 8 2 16 2 1 6 2 7
Задание 16. Два печатных проводника располагаются на диэлектрической плате, помещённой в металлический экран (см. рисунок): W − ширина проводников; t − их толщина; d – расстояние от левой стенки экрана до проводников; h − толщина платы; A и B − ширина и высота металлического экрана, C – расстояние от нижней стенки экрана до подложки.
107
Распределение статического электрического потенциала ϕ(x,y) в данной структуре описывается уравнением Лапласа (см. задание 11). Рассчитайте распределение ϕ(x,y) при указанных в таблице исходных данных, где ϕ1 и ϕ2 − потенциалы верхнего и нижнего проводников; ε1 – относительная диэлектрическая проницаемость материала платы. Толщина проводников t = 0,1 мм. Потенциал экрана примите равным нулю. Вариант Параметр 16-1 16-2 16-3 16-4 16-5 16-6 A, мм 40 30 25 30 44 35 B, мм 24 30 20 28 34 28 C, мм 15 12 10 10 20 12 h, мм 1 2 1 2 1 0,5 d, мм 16 15 10 12 26 15 W, мм 1 2 2 1 3 1 3 8 2 9 2 7 ϕ1, В 5 3 7 5 2 4 ϕ2, В 4 5 5 4 4 7 ε1 Задание 17. Металлическая микрополосковая линия располагается на диэлектрической подложке, нижняя сторона которой имеет металлизацию. Структура характеризуется следующими параметрами: W − ширина печатного проводника; t − толщина печатного проводника; h − толщина подложки, ε1 – относительная диэлектрическая проницаемость материала подложки. Распределение статического электрического потенциала ϕ(x,y) в поперечном сечении структуры описывается уравнением Лапласа (см. задание 11). Рассчитайте распределение ϕ(x,y) при указанных в таблице размерах W, t, h и потенциале ϕ1 верхнего электрода относительно нижней металлизации. При расчете полагайте, что микрополосковая линия располагается в заземленном экране (см. задание 16), расстояние до боковых и верхней стенок которого много больше поперечных размеров самой линии. Параметр W, мм t, мм h, мм ϕ1, В ε1
17-1 1 0,2 2 13 10
17-2 1 0,3 1 5 5
Вариант 17-3 17-4 1 1,2 0,2 0,2 1 2 7 2 4 10
17-5 0,5 0,1 1 5 4
17-6 2 0,2 1 6 7
108
Задание 18. Четырехэлектродная структура, представленная на рисунке, окружает некоторую область, заполненную диэлектриком. Она характеризуется следующими основными параметрами: A и B – ширина и высота структуры; a − ширина уступа в правом нижнем углу; b − высота этого выступа; ϕ1 − потенциал левого электрода; ϕ2 − потенциал верхнего электрода; ϕ3 − потенциал правого электрода; ϕ4 − потенциал нижнего электрода. Распределение электрического потенциала ϕ(x,y) в поперечном сечении структуры описывается уравнением Лапласа (см. задание 11). Рассчитайте распределение ϕ(x,y) при указанных в таблице исходных данных. Размеры зазоров между электродами полагайте пренебрежимо малыми. Параметр A, мм B, мм a, мм b, мм ϕ1, В ϕ2, В ϕ3, В ϕ4, В
18-1 10 10 5 4 9 12 15 11
18-2 40 20 5 10 9 11 15 10
Вариант 18-3 18-4 20 20 10 20 2 3 2 4 2 11 5 8 7 9 3 12
18-5 15 5 2 2 7 11 15 9
18-6 15 20 5 8 9 10 15 12
Задание 19. Проводящий слой планарного резистора (см. рисунок), имеет длину L и ширину W. На двух противоположных сторонах резистора располагаются металлические контакты. Они выделены на рисунке черным цветом. В средней части резистора на расстоянии d от левого контакта сделаны два круговых выреза радиусом R. Распределение статического электрического потенциала ϕ(x,y) в резистивном слое описывается уравнением
σ div grad ( ϕ ) = − j , где σ – удельная электрическая проводимость резистивного материала, ϕ – электрический потенциал, j – плотность тока.
109
Рассчитайте распределение в резистивном слое потенциала ϕ(x,y), напряженности поля E = –grad (ϕ) и плотности тока j при указанных в таблице исходных данных, где U – приложенное к резистору напряжение. На свободных от контактов сторонах используйте условие Неймана n·grad(ϕ)=0. Параметр L, мм W, мм D, мм R, мм σ, Ом·м U, В
19-1 15 15 7 3 2·106 4
19-2 35 30 15 5 106 5
Вариант 19-3 19-4 30 20 20 20 15 10 5 4 6 10 1,5·106 4 2
19-5 30 18 10 2 2·106 3
19-6 25 20 15 6 1,8·106 5
Задание 20. Проводящий слой планарного резистора (см. рисунок), имеет П-образную форму. На двух противоположных сторонах резистора располагаются металлические контакты. Они выделены на рисунке черным цветом. Распределение статического электрического потенциала ϕ(x,y) в резистивном слое описывается уравнением
σ div grad ( ϕ ) = − j , где σ – удельная электрическая проводимость резистивного материала, ϕ – электрический потенциал, j – плотность тока. Рассчитайте распределение в резистивном слое потенциала ϕ(x,y), напряженности поля E = –grad (ϕ) и плотности тока j при указанных в таблице исходных данных, где U – приложенное к резистору напряжение. На свободных от контактов сторонах используйте условие Неймана n·grad(ϕ)=0. Параметр L, мм d, мм H, мм h, мм σ, Ом·м U, В
20-1 15 7 7 3 1,5·106 5
20-2 20 10 15 5 2·106 4
Вариант 20-3 20-4 25 30 10 15 15 10 10 5 6 1,2·10 106 3 5
20-5 20 10 20 10 1,2·106 4
20-6 35 15 30 15 2·106 2
110
ЗАКЛЮЧЕНИЕ Рассмотренные в лабораторном практикуме виды задач не исчерпывают все области применения численного моделирования. За рамками пособия оказался ряд важных вопросов таких, например, как методы решения систем уравнений и методы обработки данных, задачи на собственные значения и задачи оптимизации. Это объясняется стремлением достаточно подробно рассмотреть определенные группы методов при ограниченном объеме практикума. Практикум нацелен на выработку практических навыков решения прикладных задач. Поэтому включенные в него задания представлены как предметные задачи, описывающие реальный объект или процесс. Предметная формулировка представляется более продуктивной, чем абстрактная, так как помогает сопоставить физическую задачу с ее математическим описанием, а также показывает общность описания и методов решения задач, имеющих различную природу. Этот подход позволяет рассчитывать на успешное применение численного моделирования учащимся и в других дисциплинах.
БИБЛИОГРАФИЧЕСКИЙ СПИСОК Основной 1. Бахвалов, Н. С. Численные методы / Н. С. Бахвалов, Н. П. Жидков, Г. Н. Кобельков. М.: БИНОМ. Лаб. знаний, 2003. 632 с. 2. Бахвалов, Н. С. Численные методы в задачах и упражнениях / Н. С. Бахвалов, А. В. Лапин, Е. В. Чижонков. М.: Высш. шк., 2000. 192 с. 3. Вержбицкий, В. М. Численные методы. Линейная алгебра и нелинейные уравнения. М.: Высш.шк., 2000. 268 с. 4. Вержбицкий, В. М. Численные методы. Математический анализ и обыкновенные дифференциальные уравнения. М.: Высш.шк., 2001. 383 с. 5. Волков, Е. А. Численные методы. СПб.: Лань, 2004. 248 с. 6. Мудров, А. Е. Численные методы для ПЭВМ на языках Бейсик, Фортран и Паскаль. Томск: МП "РАСКО", 1991. 272 с. 7. Шуп, Т. Е. Прикладные численные методы в физике и технике. М.: Высш. шк., 1990. 255 с. Дополнительный 1. Бабенко, К. И. Основы численного анализа. М.: Наука, 1986. 744 с. 2. Боглаев, Ю. П. Вычислительная математика и программирование. М.: Высш.шк., 1990. 544 с. 3. Калиткин, Н. Н. Численные методы. М.: Наука, 1978. 512 с. 4. Каханер, Д. Численные методы и программирование / Д. Каханер, К. Моулер, С. Нэш. М.: Мир, 1999. 575 с.
111
5. Самарский, А. А. Введение в численные методы. М.: Наука, 1987. 286с. 6. Турчак, Л. И. Основы численных методов. М.: Наука, 1987. 320 с. 7. Математический энциклопедический словарь / Под ред. Ю. В. Прохорова. М.: Сов. энциклопедия, 1988. 847 c. 8. Ануфриев, И. Е. Самоучитель MatLab 5.3/6.X. СПб.: БХВПетербург, 2003. 710 с. 9. Потемкин, В. Г. Инструментальные средства MATLAB 5.Х. М.: ДИАЛОГ-МИФИ, 2000. 336 с. 10. MATHCAD 6.0 PLUS. Финансовые, инженерные и научные расчеты в среде Windows 95: Пер. с англ. М.: "Филинь", 1996. 712 с. 11. Дьяконов, В. П. MATHCAD 8 PRO в математике, физике и Internet / В. П. Дьяконов, И. В. Абраменкова. М.: "Нолидж", 1999. 512с. 12. Очков, В. Ф. MathCAD 8 Pro для студентов и инженеров. М.: "КомпьютерПресс", 1999. 381 с. 13. Плис, А. И. MathCAD 2000. Математический практикум для экономистов и инженеров / А. И. Плис, Н. А. Сливина. М.: Финансы и статистика, 2000. 656с. 14. Гулд, Х. Компьютерное моделирование в физике: [В 2 ч.] / Х. Гулд, Я. Тобочник. – М.: Мир, 1990. Ч.1. 349 с. 15. Левицкий, А. А. MATLAB 3.05, MathCAD 2.5. Практическое руководство. Красноярск, 1997. 200 с. 16. Методические разработки с использованием математических пакетов. Электрон. дан. Режим доступа: http://www.exponenta.ru, http://www.matlab.ru.
ОГЛАВЛЕНИЕ ВВЕДЕНИЕ Лабораторная работа № 1. ЧИСЛЕННЫЕ МЕТОДЫ РЕШЕНИЯ НЕЛИНЕЙНЫХ УРАВНЕНИЙ 1. Краткие теоретические сведения 2. Указания к выполнению работы 3. Варианты заданий Лабораторная работа № 2. МЕТОДЫ РЕШЕНИЯ ОБЫКНОВЕННЫХ ДИФФЕРЕНЦИАЛЬНЫХ УРАВНЕНИЙ 1. Краткие теоретические сведения 2. Указания к выполнению работы 3. Варианты заданий Лабораторная работа № 3. РЕШЕНИЕ ДИФФЕРЕНЦИАЛЬНЫХ УРАВНЕНИЙ В ЧАСТНЫХ ПРОИЗВОДНЫХ 1. Краткие теоретические сведения 2. Указания к выполнению работы 3. Варианты заданий ЗАКЛЮЧЕНИЕ БИБЛИОГРАФИЧЕСКИЙ СПИСОК
3 4 4 27 29 39 39 54 56 68 68 95 98 110 110
112
Учебное издание
Левицкий Алексей Александрович
ИНФОРМАТИКА ОСНОВЫ ЧИСЛЕННЫХ МЕТОДОВ Лабораторный практикум
Печатается в авторской редакции Гигиенический сертификат № 24.49.04.953.П.000338.05.01 от 25.05.2001 г. Подп. в печать 21.06.2005. Формат 60х84/16. Бумага тип. № 1. Офсетная печать. Усл. печ. л. 6,5. Уч.-изд. л. 5,5. Тираж 100 экз. Заказ 594/2 С 121 Отпечатано в ИПЦ КГТУ 660074, Красноярск, ул.Киренского, 28