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

корнюшин.численные методы

.pdf
Скачиваний:
43
Добавлен:
01.05.2015
Размер:
1.1 Mб
Скачать

ДАЛЬНЕВОСТОЧНЫЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ

ТИХООКЕАНСКИЙ ИНСТИТУТ ДИСТАНЦИОННОГО ОБРАЗОВАНИЯ И ТЕХНОЛОГИЙ

П. Н. Корнюшин

ЧИСЛЕННЫЕ

МЕТОДЫ

© Издательство Дальневосточного университета 2002

ВЛАДИВОСТОК

2002 г.

2

СОДЕРЖАНИЕ

СОДЕРЖАНИЕ...........................................................................................................................................................

1

Аннотация....................................................................................................................................................................

4

Рецензия на учебное пособие П.Н. Корнюшина «Численные методы».................................................................

4

Методические указания для студентов.....................................................................................................................

4

Модуль 1. Введение. Разностные уравнения............................................................................................................

5

1.0. Введение...............................................................................................................................................................

5

1.1. Разностные уравнения.......................................................................................................................................

10

1.1.1. Сеточные функции......................................................................................................................................

10

1.1.1.1. Сеточные функции и действия над ними...........................................................................................

10

1.1.1.2. Разностные аналоги формул дифференцирования произведения и интегрирования по частям ..

10

1.1.2. Разностные уравнения................................................................................................................................

11

1.1.2.1. Разностные уравнения.........................................................................................................................

11

1.1.2.2. Уравнение первого порядка................................................................................................................

12

1.1.2.3. Неравенства первого порядка.............................................................................................................

12

1.1.2.4. Уравнение второго порядка с постоянными коэффициентами........................................................

12

1.1.2.5. Примеры................................................................................................................................................

14

1.1.2.6. Разностное уравнение второго порядка с переменными коэффициентами. Задача Коши и краевая

задача..................................................................................................................................................................

15

1.1.3. Решение разностных краевых задач для уравнений второго порядка....................................................

16

1.1.3.1. Решение разностных краевых задач методом прогонки...................................................................

16

1.1.3.2. Устойчивость метода прогонки..........................................................................................................

17

1.1.3.3. Другие варианты метода прогонки.....................................................................................................

18

Модуль 2. Решение уравнений и задачи интерполяции........................................................................................

20

2.2. Численное решение алгебраических и трансцендентных уравнений ...........................................................

20

2.2.1. Задача отделения корней............................................................................................................................

20

2.2.2. Вычисление значений корня с заданной точностью. Метод итераций..................................................

21

2.2.3. Метод итераций для системы уравнений..................................................................................................

24

2.2.4. Принцип сжатых отображений..................................................................................................................

26

2.2.5. Об одном принципе нахождения сходящихся итерационных процессов..............................................

27

2.2.6. Метод хорд (секущих) и метод деления пополам....................................................................................

27

2.2.7. Метод Ньютона (метод касательных) .......................................................................................................

29

2.2.8. Вычисление значений алгебраического полинома..................................................................................

30

2.2.9. Метод Лобачевского нахождения корней алгебраических многочленов..............................................

31

2.3. Теория интерполирования.................................................................................................................................

33

2.3.1. Задача интерполирования в линейном пространстве ..............................................................................

33

2.3.2. Интерполяционный полином Лагранжа....................................................................................................

35

2.3.3. Формула остаточного члена полинома Лагранжа....................................................................................

36

2.3.4. Оценка остаточного члена формулы Лагранжа .......................................................................................

36

2.3.5. Понятие о разделенных разностях.............................................................................................................

37

2.3.6. Интерполяционная формула Ньютона......................................................................................................

38

2.3.7. Основные задачи в теории интерполирования.........................................................................................

38

2.3.8. Сплайн-интерполяция.................................................................................................................................

39

Модуль 3. Численное интегрирование и решение систем алгебраических уравнений......................................

42

3.4. Численное интегрирование...............................................................................................................................

42

3.4.1. Задача приближенного вычисления определенного интеграла..............................................................

42

3.4.1.1. Квадратурные формулы с наилучшей точностью для данного класса функций............................

42

3.4.1.2. Квадратурные формулы с наилучшей степенью точности ..............................................................

42

3.4.1.3. Интерполяционные квадратурные формулы.....................................................................................

43

3.4.1.4. Замечания к использованию квадратурных формул.........................................................................

44

3.4.2. Квадратурные формулы Ньютона-Котеса................................................................................................

44

3.4.3. Частные случаи формулы Ньютона-Котеса..............................................................................................

45

3.4.3.1. Формула прямоугольников .................................................................................................................

45

3.4.3.2. Формула трапеций ...............................................................................................................................

45

3.4.3.3. Формула парабол (Симпсона) .............................................................................................................

46

3.4.4. Квадратурные формулы Гаусса.................................................................................................................

46

3.5. Численное решение систем линейных алгебраических уравнений...............................................................

49

3.5.1. Системы линейных алгебраических уравнений.......................................................................................

49

3.5.1.1. Системы уравнений .............................................................................................................................

49

3

 

3.5.1.2. Частные случаи систем........................................................................................................................

49

3.5.1.3. Прямые и итерационные методы........................................................................................................

50

3.5.2. Прямые методы...........................................................................................................................................

51

3.5.2.1. Метод Гаусса........................................................................................................................................

51

3.5.2.2. Метод квадратного корня....................................................................................................................

53

3.5.2.3. Связь метода Гаусса с разложением матрицы на множители..........................................................

54

3.5.3. Итерационные методы................................................................................................................................

55

3.5.3.1. Метод итераций для решения системы линейных алгебраических уравнений..............................

55

3.5.3.2. Метод простой итерации.....................................................................................................................

56

3.5.3.3. Метод Зейделя......................................................................................................................................

56

3.5.3.4. Метод релаксации................................................................................................................................

58

Модуль 4. Линейное программирование................................................................................................................

60

4.6. Основы линейного программирования............................................................................................................

60

4.6.1. Основы математического программирования..........................................................................................

60

4.6.1.1. Оптимальное планирование и линейное программирование...........................................................

60

4.6.1.2. Математическая модель задачи линейного программирования......................................................

61

4.6.1.3. Классификация задач линейного программирования.......................................................................

66

4.6.2. Графический способ решения задачи линейного программирования ...................................................

68

4.6.2.1. Геометрический смысл линейных неравенств ..................................................................................

68

4.6.2.2. Геометрический смысл задачи линейного программирования........................................................

71

4.6.2.3. Задачи....................................................................................................................................................

73

4.6.2.4. Обобщение геометрической интерпретации на многомерный случай ...........................................

80

4.6.2.5. Алгебраическая характеристика вершины многогранника ограничений.......................................

82

4.6.3. Симплексный метод....................................................................................................................................

84

4.6.3.1. Геометрическая подготовка................................................................................................................

84

4.6.3.2. Жордановы исключения......................................................................................................................

86

4.6.3.3. Опорное решение, опорный план.......................................................................................................

91

4.6.3.4. Улучшение опорного плана ................................................................................................................

93

Глоссарий.................................................................................................................................................................

102

Литература...............................................................................................................................................................

104

4

Аннотация

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

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

Рецензия на учебное пособие П.Н. Корнюшина «Численные методы»

Написать учебное пособие по численным методам при наличии трудов таких классиков вычислительной математики, как Н.С. Бахвалов, И.С. Березин, Н.П. Жидков, А.А. Самарский и др.

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

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

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

Методические указания для студентов

1)Консультации можно получить по адресу: г. Владивосток, ул. Суханова 8, ДВГУ, ауд. 76 или по электронной почте: korn@ifit.phys.dvgu.ru.

2)Форма аттестации по курсу – компьютерное тестирование в соответствии с прилагаемыми тестами.

3)Нормы аттестации: сдача каждого из 4-х тестирований, соответствующих 4-м модулям, не менее чем на «удовлетворительно».

5

Модуль 1. Введение. Разностные уравнения

1.0. Введение

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

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

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

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

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

На третьем этапе осуществляется программирование вычислительного алгоритма и на четвертом этапе – проведение расчетов на компьютере. Разработка конкретных численных алгоритмов и их программирование на компьютере достаточно тесно связаны.

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

Следует отметить, что вычислительный эксперимент – это, как правило, не разовый счет по стандартным формулам, а, прежде всего, расчет серии вариантов для различных математических моделей.

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

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

6

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

При решении задачи на компьютере мы всегда получаем не точное решение исходной задачи, а некоторое приближенное решение. Чем же обусловлена возникающая погрешность? Можно выделить три основные причины возникновения погрешности при численном решении исходной математической задачи. Прежде всего, входные данные исходной задачи (начальные и граничные условия, коэффициенты и правые части уравнений) всегда задаются с некоторой погрешностью. Погрешность численного метода, обусловленную неточным заданием входных данных, принято называть неустранимой погрешностью. Далее, при замене исходной задачи дискретной задачей возникает погрешность, называемая погрешностью дискретизации или погрешностью метода. Например, заменяя производную u’(x) разностным отношением (u(x+x)- u(x))/x, мы допускаем погрешность дискретизации, имеющую при ∆x 0 порядок ∆x. Наконец, конечная разрядность чисел, представляемых в компьютере, приводит к погрешностям округления, которые могут нарастать в процессе вычислений. Естественно требовать, чтобы погрешности в задании начальной информации и погрешность, возникающая в результате дискретизации, были согласованы с погрешностью решения на компьютере дискретной задачи.

Сказанное означает, что основное требование, предъявляемое к вычислительному алгоритму, – это требование точности. Оно означает, что вычислительный алгоритм должен давать решение исходной задачи с заданной точностью ε >0 за конечное число Q(ε) действий. Алгоритм должен быть реализуемым, т.е. обеспечивать решение задачи за допустимое машинное время или, в силу конечной скорости вычислений на компьютере, – за допустимое число действий. Для большинства алгоритмов время решения задачи (объем вычислений) Q(ε) возрастает при повышении точности, т.е. при уменьшении ε. Конечно, можно задать ε настолько малым, что время счета задачи станет недопустимо большим. Важно знать, что алгоритм дает принципиальную возможность получить решение задачи с любой точностью. Однако на практике величину ε выбирают, учитывая требование точности и возможность реализуемости алгоритма на данном компьютере. Для каждой задачи, алгоритма и машины есть свое характерное значение ε.

Естественно добиваться, чтобы число действий (и тем самым машинное время решения задачи) Q(ε) было минимальным для данной задачи. Для любой задачи можно предложить много алгоритмов, дающих одинаковую по порядку (при ε0) точность ε>0, но за разное число действий Q(ε). Среди этих эквивалентных по порядку точности алгоритмов надо выбрать тот, который дает решение с затратой наименьшего машинного времени (числа действий Q(ε)). Такие алгоритмы будем называть оптимальными.

Остановимся еще на одном требовании, предъявляемом к вычислительному алгоритму, а именно – требовании отсутствия аварийного останова (авоста) компьютера в процессе вычислений. Следует иметь в виду, что компьютер оперирует с числами, имеющими конечное число значащих цифр и принадлежащих (по модулю) не всей числовой оси, а некоторому интервалу 0), М0>0, М<∞, где М0 – машинный нуль, М– машинная бесконечность. Если условие │М│<Мв процессе вычислений нарушается, то происходит аварийный останов вследствие переполнения разрядной сетки, и вычисления прекращаются. Возможность авоста зависит как от алгоритма, так и от исходной задачи.

Если решение исходной задачи выражается через очень большие (очень малые) числа │М│>М(│М│<М0), то, как правило, путем изменения масштабов можно привести задачу к виду, содержащему только величины, принадлежащие (по модулю) заданному интервалу 0). Часто возможность авоста может быть устранена путем изменения порядка действий. Поясним это на простом примере.

Пример 1. Пусть М=10р, М0=10, р=2n, n – целое число. Требуется вычислить

произведение чисел 10p/2,10p/4,10-p/2,103p/4,10-3p/4.

1-й способ. Перенумеруем числа в порядке убывания: q1=103p/4, q2=10p/2, q3=10p/4, q4=10-p/2,

q5=10-3p/4 и образуем произведения Sk+1=Skqk+1, S1=q1. Тогда уже на первом шаге мы получим авост, т.к. S2=q1q2=105p/4>M.

2-й способ. Перенумеруем числа в порядке возрастания: q1=10-3p/4, q2=10-p/2, q3=10p/4, q4=10p/2, q5=103p/4. В этом случае мы получим на первом шаге S2 = q1q2 =10-5p/4<M0, т.е. S2

машинный нуль; нулю равны и все последующие произведения S3, S4, S5; таким образом, здесь происходит полная потеря точности.

7

3-й способ. Перемешаем эти числа, полагая, q1=10-3p/4, q2=10p/2, q3=103p/4, q4=10-p/2, q5=10p/4.

Тогда последовательно найдем: S2=q1q2=10-p/4, S3=S2q3=10p/2, S4=S3q4=100, S5=S4q5=10p/4, т.е. в

процессе вычислений не появляются числа, большие 10p/2 и меньшие 10-p/4. Такой алгоритм является безавостным.

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

Пример 2. Пусть требуется найти yi (0<i i0) по формуле yi+1=yi+d (i 0) при заданных y0, d. Предположим, что при вычислении yi внесена погрешность (например, погрешность

округления), имеющая величину δi, т.е. вместо точного значения yi получено приближенное

 

~

 

 

 

значение y i

= yi +δi . Тогда

вместо точного значения yi+1 получим приближенное

значение

~

 

 

 

 

y i+1

= ( yi +δi ) + d = yi+1 +δi .

Таким образом, погрешность, допущенная на

любом

промежуточном шаге, не увеличивается в процессе вычислений. Алгоритм устойчив.

Пример 3. Рассмотрим уравнение yi+1=qyi (i≥0, y0 и q заданы). Пусть, как и в примере 2,

 

 

~

 

 

вместо yi получено значение

yi

= yi +δi . Тогда вместо yi+1 получим приближенное значение

~

 

 

~

 

yi+1

= q( yi +δi ) = yi+1 + qδi .

Таким образом, погрешность δi+1= yi+1

yi+1 , возникающая при

вычислении yi+1, связана с погрешностью δi уравнением δi+1=qδi, i=0,1,2,…. Следовательно, если q >1, то в процессе вычислений абсолютное значение погрешности будет возрастать (алгоритм

неустойчив). Если же q 1, то погрешность не возрастает, т.е. алгоритм устойчив.

Неустойчивость обычно связывают со свойством экспоненциального нарастания ошибки округления. Если же погрешность округления нарастает по степенному закону при переходе от одной операции к другой («от шага к шагу»), то алгоритм считают условно устойчивым (устойчивым при некоторых ограничениях на объем вычислений и требуемую точность). Процесс вычислений можно трактовать так: при переходе от шага к шагу происходит искажение (за счет погрешностей округления) последних значащих цифр (от последних значащих цифр справа налево движется «волна погрешности округления»). Нам нужно обычно сохранить верными несколько первых значащих цифр (4-5 знаков), и поэтому вычисления должны быть закончены до того, как до них дойдет «волна погрешности округления». Если погрешность округления ε0 нарастает от шага к шагу по экспоненциальному закону, то это приводит, как правило, к авосту на

промежуточном этапе вычислений, если (как в примере 3)

 

 

q

 

i ε0 M .

 

 

 

 

 

 

 

 

Если М=10р, ε0=10-k 0 , то авост наступает при i0>(p+k0)/lg

 

q

 

. Иначе обстоит дело при

 

 

 

 

степенном

росте

погрешности

округления. Пусть

 

δyi

 

 

inε0

(n≥1); тогда авост

наступит

при

 

 

 

i nε

 

M

 

 

 

 

 

 

1

 

 

 

1 / n

=10(p+k 0 )/n. Ясно,

 

 

 

 

 

 

 

 

 

 

 

 

 

0

, т.е.

при

i0

 

 

 

 

 

 

что при

n=1 авоста не

будет в

силу

0

 

 

 

 

 

 

M

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ε0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

очевидного

ограничения i<М=10р.

Неравенство

 

 

δyi

 

 

ε ,

где

ε=10-k – заданная точность,

 

 

 

 

 

 

 

 

 

ε

 

1 / n

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

=

 

(k0 k ) / n

= i0 . Если заданы ε

 

 

 

 

 

 

 

 

справедливо при i

 

 

 

 

10

и ε0, то это неравенство означает

 

 

 

 

 

 

 

 

 

 

 

ε0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ограничение на число уравнений i≤i0. Так, при k0=12, k=6 имеем i≤106/n, так что i≤103 при n=2. Ясно, что можно указать такое большое n, что допустимое число уравнений i0 очень мало. Однако на практике обычно встречаются случаи небольшого n.

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

8

случае задача поставлена корректно (задача корректна). Это значит, что 1) задача разрешима при любых допустимых входных данных; 2) имеется единственное решение; 3) решение задачи непрерывно зависит от входных данных (малому изменению входных данных соответствует малое изменение решения) – иными словами, задача устойчива. Во втором случае задача поставлена некорректно (задача некорректна). Такой вариант возникает, если, например, решение задачи неустойчиво относительно входных данных (малому изменению входных данных может соответствовать большое изменение решения).

Примером корректной задачи может служить задача интегрирования, а примером некорректной задачи – задача дифференцирования.

Пример

4. Задача интегрирования.

Дана функция f(x);

найти

интеграл J= 01 f (x)dx .

 

 

 

 

 

~

~

1

~

 

 

~

1

~

Заменим f на

f

и рассмотрим J = 0

f (x)dx и разность δJ= J J = 0

δfdx , где δf= f (x)-f(x).

Ясно, что

 

δJ

 

 

max

 

δf (x)

 

,

 

δJ

 

ε , если

 

δf

 

ε , т.е. J непрерывно зависит от f. Для вычисления

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0x1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

интеграла J воспользуемся квадратурной формулой:

 

 

 

 

 

 

 

 

N

 

 

 

N

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

JN= ck f (xk ), ck>0, ck =1.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

k =1

 

 

 

k =1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Повторяя рассуждения, приведенные выше, получим

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

~

N

~

 

N

 

N

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

δJN= J N J N

= ck ( f k fk ) =

ck δfk ,

 

δJ N

 

ck max

 

δf k

 

 

= max

 

δfk

 

.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

k =1

 

 

k =1

 

k =1

1k N

 

 

 

 

 

1k N

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Таким образом, задача вычисления интеграла по квадратурной формуле корректна.

 

 

 

 

Пример 5. Задача дифференцирования. Задача дифференцирования функции u(x), заданной

 

 

 

 

 

 

 

 

 

 

 

 

 

~

1

 

 

 

 

 

 

 

 

приближенно, является некорректной. В самом деле, пусть u (x)=u(x)+

 

sinN2x, где N достаточно

N

велико.

 

Тогда в

метрике

С

(на

некотором

 

отрезке 0≤x≤δ

(δ>π/N2)) имеем

 

 

 

 

 

~

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

~

 

 

 

 

 

δu

c

=

 

uu

=1/ N ε при N≥1/ε.

Для погрешности производных δu'= u '-u'=NcosN2x имеем

 

 

 

 

 

c

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

δu' c =N≥1/ε. Таким образом, малому изменению O(ε) в С функции u(x) соответствует большое

изменение O(1/ε) в С ее производной. Поэтому численное дифференцирование некорректно. Чтобы найти приближенное значение производной по формуле разностной производной с

некоторой точностью ε>0 при условии, что функция задана с погрешностью δi ( δi δ0 ),

необходимо выполнение условий согласования ε, δ0 и шага h сетки, например, вида ε≥k δ0

(k=const>0 не зависит от h, δ0, причем шаг сетки ограничен как снизу, так и сверху. Таким образом, достижимая точность численного дифференцирования лимитируется точностью задания самой функции.

В данном курсе рассматриваются только корректные задачи и численные методы, ориентированные на использование компьютеров.

Численные методы дают приближенное решение задачи. Это значит, что вместо точного решения u (функции или функционала) некоторой задачи мы находим решение y другой задачи, близкое в некотором смысле к искомому. Как уже указывалось, основная идея всех методов – дискретизация или аппроксимация (замена, приближение) исходной задачи другой задачей, более удобной для решения на компьютере, причем решение аппроксимирующей задачи зависит от некоторых параметров, управляя которыми можно определить решение с требуемой точностью. Например, в задаче численного интегрирования такими параметрами являются узлы и веса квадратурной формулы. Далее, решение дискретной задачи является элементом конечномерного пространства. Остановимся на этом подробнее.

Рассмотрим, например, дискретизацию пространства H={f(x)} функций f(x) непрерывного

_

аргумента x [a,b]. На отрезке a x b введем конечное множество точек ω ={xi, i=0,1,…,N,

_

x0=a, xN=b, xi<xi+1}, которое назовем сеткой. Точки xi будем называть узлами сетки ω . Множество

9

_

ω без узлов x0 и xN будем обозначать ω. Если расстояние hi=xi-xi-1 между соседними узлами постоянно (не зависит от i), hi=h для всех i=1, 2,…, N, то сетку ω называют равномерной (с шагом h), в противном случае – неравномерной. Вместо функции f(x), определенной для всех x [a,b], будем рассматривать сеточную функцию yi=f(xi) целочисленного аргумента i (i=0, 1,…, N) или

_

узла xi сетки ω , а H={f(x), x [a,b]} заменим конечномерным (размерности N+1) пространством HN+1={yi, 0≤i≤N} сеточных функций. Очевидно, что сеточную функцию yi=f(xi) можно рассматривать как вектор y=(y0, y1,…, yN).

Можно провести также дискретизацию и пространства функций f(x) многих переменных, когда x=(x1, x2,…, xp) – точка р-мерного евклидового пространства (р>1). Так, на плоскости (x1, x2) можно ввести сетку ω={xi=(i1h1, i2h2), i1, i2 =0, ±1,±2,...} как множество точек (узлов) пересечения

перпендикулярных прямых x1(i1 ) = i1h1 , x2(i2 ) = i2 h2 , h1 > 0, h2 > 0, i1 , i2 = 0,±1,±2,... , где h1 и h2 – шаги сетки по направлениям x1 и x2 соответственно. Сетка ω, очевидно, равномерна по каждому из переменных в отдельности. Вместо функции f(x)=f(x1, x2) будем рассматривать сеточную функцию

_

yi1i2 = f (i1h1 , i2 h2 ) . Если сетка ω содержит только те узлы, которые принадлежат

прямоугольнику (0≤x1≤l1, 0≤x2≤l2), так что h1=l1/N1, h2=l2/N2, то сетка имеет конечное число N=(N1+1)(N2+1) узлов, а пространство HN сеточных функций yi= yi1i2 является конечномерным.

Мы всюду рассматриваем только конечномерное пространство сеточных функций. Заменяя пространство H={f(x)} функций непрерывного аргумента и исходную задачу пространством H сеточных функций и дискретной аппроксимацией исходной задачи, мы должны быть уверены, что будем лучше приближаться к решению исходной задачи при увеличении числа узлов. Оценка качества приближения и выбор способа аппроксимации – главная задача теории численных методов.

Основное содержание курса в той или иной степени связано с применением разностных методов для решения дифференциальных уравнений. Выделим два главных вопроса:

1)получение дискретной (разностной) аппроксимации дифференциальных уравнений и исследование получающихся при этом разностных уравнений;

2)решение разностных уравнений.

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

Впервой главе рассматриваются одномерные (зависящие от одного целочисленного аргумента) разностные уравнения.

Вторая глава посвящена численному решению алгебраических и трансцендентных уравнений.

Втретьей главе излагаются основы теории интерполирования.

Четвертая глава содержит основные методы численного интегрирования.

В пятой главе рассматривается численное решение систем линейных алгебраических уравнений.

Шестая глава дает основные сведения классификации, постановки и решения задач линейного программирования.

10

1.1.Разностные уравнения

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

1.1.1.Сеточные функции

1.1.1.1.Сеточные функции и действия над ними

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

y(i)=yi, i=0, ± 1, ± 2,….

Для y(i) можно ввести операции, являющиеся дискретным (разностным) аналогом операций дифференцирования и интегрирования.

Аналогом первой производной являются разности первого порядка:

yi=yi+1-yi правая разность;yi=yi-yi-1 левая разность;

δyi= 12 (yi+ yi)= 12 (yi+1-yi-1) центральная разность;

следует заметить, что ∆yi= yi+1.

Далее можно определить разности второго порядка:

2yi=(yi)=(yi+1-yi)=yi+2-2yi+1+yi,

yi=(yi-yi-1)=(yi+1-yi)-(yi-yi-1)=yi+1-2yi+yi-1,

так что ∆2yi=yi+1.

Аналогично определяется разность m-го порядка: myi=(m-1yi), содержащая значения yi, yi+1,…,yi+m. Очевидно, что

i

i

y j =yi+1-yk, y j =yi-yk-1.

j =1

j =k

1.1.1.2. Разностные аналоги формул дифференцирования произведения и интегрирования по частям

Пусть yi, vi – произвольные функции целочисленного аргумента. Тогда справедливы формулы:

(yivi)=yivi+vi+1yi=yi+1vi+viyi,

(1)

(yivi)=yi-1 vi+vi yi=yi vi+vi-1 yi,

(2)

которые проверяются непосредственно. Например,

(yivi)=yi+1vi+1-yivi; yivi+vi+1yi=yi(vi+1-vi)+vi+1(yi+1-yi)=yi+1vi+1-yivi=(yivi).

При выводе формулы для (yivi) достаточно учесть, что (yivi)=(yi-1vi-1).

Формулы (1), (2) представляют собой аналоги формулы дифференцирования произведения

(y(x)v(x))'=yv'+vy'.

Аналогом формулы интегрирования по частям является формула суммирования по частям:

N 1

N

 

yivi = −vi yi +( yv)N ( yv)0 ,

(3)

i=0

i=1

 

которую записывают также в виде