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

КузнецовЧисМетЛабР

.pdf
Скачиваний:
16
Добавлен:
05.06.2015
Размер:
234.79 Кб
Скачать

МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ

Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования МОСКОВСКИЙ ГОСУДАРСТВЕННЫЙ МАШИНОСТРОИТЕЛЬНЫЙ УНИВЕРСИТЕТ (МАМИ)

А. Н. Кузнецов

ЧИСЛЕННЫЕ МЕТОДЫ

Лабораторные работы по курсу численных методов. Задания, указания и необходимые сведения. Учебное пособие для студентов специальностей

141100 Энергетическое машиностроение,

231300 Прикладная математика и других

Одобрено методической комиссией по математическим и естественно-научным дисциплинам

МОСКВА 2013

Разработано в соответствии с Федеральным государственным образовательным стандартом ВПО 2011 г. для студентов всех специальностей и направлений подготовки.

Рецензенты:

доцент, к. ф.-м. н. С. И. Еговкин, кафедра Прикладная математика Университета машиностроения, главный научный сотрудник Института прикладной математики

им. М. В. Келдыша РАН, д. ф.-м. н., профессор кафедры Вычислительные методы факультета ВМК МГУ им. М. В. Ломоносова Мажорова О. С.

Работа подготовлена на кафедре Прикладная математика

Численные методы. Лабораторные работы по курсу численных методов. Задания, указания и необходимые сведения. Учебное пособие для студентов специальностей 141100 Энергетическое машиностроение, 231300 Прикладная математика и других. ФГБОУ Московский государственный машиностроительный университет

(МАМИ). 2013. 22 с.

Настоящее пособие имеет целью озадачить студентов лабораторными работами, темы которых тесно связаны с лекциями курса численных методов. Задания снабжены необходимыми и достаточными для выполнения работ указаниями и сведениями. Библ. 4.

©Кузнецов А. Н.

©Университет машиностроения, 2013

Оглавление

Предисловие . . . . . . . . . . . . . . . . . . . . . . . . .

4

I Лабораторные работы

6

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

6

Лабораторная работа №1. Вычисление определен-

7

ных интегралов . . . . . . . . . . . . . . . . . . . . .

1.1

Условие задачи . . . . . . . . . . . . . . . . . .

7

1.2Варианты параметров задачи . . . . . . . . . .

1.3Необходимые сведения . . . . . . . . . . . . . . 8

1.4Метод Рунге оценки погрешностей . . . . . . . 87

Лабораторная работа №2. Интерполяция функции

9

многочленом Лагранжа . . . . . . . . . . . . . . .

2.1 Условие задачи . . . . . . . . . . . . . . . . . .

9

2.2Варианты параметров задачи . . . . . . . . . . 9

2.3Интерполяция и аппроксимация функций . . . 9

2.4Многочлен Лагранжа . . . . . . . . . . . . . . . 10

Лабораторная работа №3. Интерполяция функции

10

кубическими сплайнами . . . . . . . . . . . . . . .

3.1

Условие задачи . . . . . . . . . . . . . . . . . .

10

3.2

Варианты параметров задачи . . . . . . . . . .

11

3.3

Сплайны . . . . . . . . . . . . . . . . . . . . . .

11

Лабораторная работа №4. Решение нелинейной си-

12

стемы . . . . . . . . . . . . . . . . . . . . . . . . . . .

4.1

Условие задачи . . . . . . . . . . . . . . . . . .

12

4.2

Варианты параметров задачи . . . . . . . . . .

13

4.3

Нелинейные уравнения и системы . . . . . . .

13

Лабораторная работа №5. Метод ломаных Эйлера .

14

5.1

Условие задачи . . . . . . . . . . . . . . . . . .

14

5.2

Обыкновенные дифференциальные уравнения .

14

5.3

Метод ломаных Эйлера . . . . . . . . . . . . .

15

Лабораторная работа №6. Метод Рунге Кутты .

15

6.1

Условие задачи . . . . . . . . . . . . . . . . . .

15

6.2

Алгоритмы Рунге Кутты порядка r . . . . .

16

Лабораторная работа №7. Краевая задача для

17

обыкновенного уравнения . . . . . . . . . . . . . .

7.1

Условие задачи . . . . . . . . . . . . . . . . . .

17

7.2

Линейные краевые задачи . . . . . . . . . . . .

18

Лабораторная работа №8. Задача Штурма Ли-

19

увилля . . . . . . . . . . . . . . . . . . . . . . . . . .

8.1

Условие задачи . . . . . . . . . . . . . . . . . .

19

8.2

Самосопряженная задача Штурма Лиувилля

19

8.3

Метод стрельбы или пристрелки . . . . . . . .

20

ЛИТЕРАТУРА . . . . . . . . . . . . . . . . . . . . . . . . .

21

Предисловие

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

ций [3].

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

но развитию у бакалавриантов следующих компетенций (согласно ФГОС’у специальности; ОК общекультурная компетенция, ПК профессиональная):

способность к обобщению, анализу, восприятию информации, постановке цели и выбору путей е¨ достижения (ОК-1);

способностью к письменной и устной коммуникации на государственном языке . . . (ОК-2)

готовностью к самостоятельной, индивидуальной работе, принятию решений в рамках своей профессиональной компетенции (ОК-7)

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

ции, ведению дискуссии и полемики (ОК-12);

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

в своей предметной области (ПК-1)

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

исследования (ПК-2);

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

аппарат (ПК-3);

способностью и готовностью анализировать научно-техническую информацию, изучать отечественный и зарубежный опыт по тема-

тике исследования (ПК-6);

ПРЕДИСЛОВИЕ

5

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

кацией (публичной защитой) (ПК-7); способностью выполнять численные и экспериментальные иссле-

дования, проводить обработку и анализ результатов (ПК-14).

Замечания и пожелания автору можно направлять по адресу valentinvnk@yahoo.com.

IЛабораторные работы

Введение

Содержание этого раздела имеет отношение к каждой из лабораторных работ.

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

Число обозначает номер варианта лабораторной работы.

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

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

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

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

Предположим, что мы вычисляем значение величины x, которая принимает значения в нормированном пространстве с нормой jjxjj. Пусть вычисленное значение x равно a , а точное a. Тогда величину 0 = a a называют невязкой, остаточным членом или

абсолютной погрешностью, а величину 0 = a a относительной

jja jj

погрешностью вычисления a . Любые оценки этих величин и : j 0j , j 0j также называют абсолютной и относительной погрешностями. Если x число, относительную погрешность можно

1 ВЫЧИСЛЕНИЕ ОПРЕДЕЛЕННЫХ ИНТЕГРАЛОВ

7

вычислять и по формуле a a a , кроме того, в этих формулах в зна-

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

Лабораторная работа № 1. Вычисление определенных интегралов

1.1Условие задачи

1. Вычислите аналитически определенный интеграл

I = Z

b

 

f(x) dx

(I.1)

a

Найдите его числовое значение из получившейся формулы.

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

3.Вычислите определенный интеграл (I.1), используя все три квадратурные формулы. Используя метод Рунге определения погрешности, стремитесь к тому, чтобы относительная погрешность не превосходила 0.0001. В результат этого пункта следует включить значения интегралов, погрешности и шаги сетки.

4.Вычислите абсолютные и относительные погрешности вычислений, используя аналитическое решение, считая его точным.

1.2Варианты параметров задачи

a = 0,

b = 10 + ,

f= e x sin e x, если 3,

f= x e x2 cos e x2, если 4 7,

f= x sin((7 + )x2), если 8 15,

f= x2 cos((7 + )x3), если 16 30.

8

Глава I. ЛАБОРАТОРНЫЕ РАБОТЫ

1.3Необходимые сведения

Квадратурной формулой для вычисления определенного интеграла

 

I = Z

b

 

 

f(x) dx

 

называется выражение

a

 

 

 

 

 

S = a1f(x1) + + anf(xn)

(I.2)

В нем (xj) точки отрезка [a; b], (aj) числа. От выбора этих точек и чисел зависит точность вычисления интеграла.

Приведем три квадратурные формулы.

Разобьем отрезок [a; b] на n равных частей длины h = (b a)=n, а точки (xj) расположим в серединах отрезков разбиения; получим

формулу прямоугольников:

S = h(f(x1) + + f(xn))

(I.3)

Оценка абсолютной погрешности для нее:

 

 

=

b a

h2 max

f00(x)

j

(I.4)

24

[a;b] j

 

Чтобы написать формулу трапеций, также разобьем отрезок [a; b] на n равных частей длины h точками x0; : : : ; xn.

S =

=

h

2(f(x0) + 2f(x1) + + 2f(xn 1) + f(xn))

ba h2 max jf00(x)j

12 [a;b]

(I.5)

(I.6)

Разбиение отрезка на 2n равных частей длины h =

b a

2n

x0; : : : ; x2n используется в формуле Симпсона:

 

S =

h

(f(x0) + 4f(x1) + 2f(x2) + 4f(x3) + 2f(x4) + : : :

 

3

 

 

 

 

+ 4f(x2n 1) + f(x2n))

 

b a

 

4 max

fIV (x)

 

 

j

 

= 180 h

 

[a;b] j

 

 

1.4 Метод Рунге оценки погрешностей

точками

(I.7)

(I.8)

Часто точность вычислительного метода зависит от малого параметра h, например, от шага, степенным образом: (h) = Chm. В этом

2 ИНТЕРПОЛЯЦИЯ ФУНКЦИИ МНОГОЧЛЕНОМ ЛАГРАНЖА

9

случае погрешность можно оценить численно, проведя еще одно вычисление с половинным шагом. Пусть A(h); A(h=2) вычисленные

приближения величины A с шагами h и h=2. Тогда

(h=2) =

jjA(h=2) A(h)jj

(I.9)

2m 1

 

 

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

Лабораторная работа № 2.

Интерполяция функции многочленом Лагранжа

2.1Условие задачи

1.Составьте алгоритм аппроксимации заданной функции f(x) на

отрезке [a; b] по ее значениям в n узлах равномерной сетки x1 = a; : : : ; xn = b.

Совет. Многочлен Лагранжа реализуйте в виде подпрограммыфункции, которая по заданному значению x вычисляет значение

P (x).

2.Запрограммируйте этот алгоритм, включив в программу построение графиков функции и многочлена.

3.Постройте графики функции и многочлена на отрезке [c; d], который больше отрезка [a; b] на три шага сетки с каждого конца.

4.Оцените визуально, по графикам на экране, абсолютные и относительные погрешности аппроксимации.

2.2 Варианты параметров задачи a = 0, b = 10 + , n = 11

f= ( x2 + 2x 25)=(x3 + ), если 3,

f= (73x2 2x + 32)=(4x3 + x + 7), если 4 7,

f= ( x3 3x2 + 149)=(x4 + 8 ), если 8 15,

f= ( x3 + 3x2 276)=(x2 + 2 ), если 16 30.

2.3Интерполяция и аппроксимация функций

Слово интерполяция означает, что по заданному набору значений y1; : : : ; yn дискретной (или сеточной) функции в точках x1; : : : ; xn требуется найти гладкую функцию, принимающую в заданных

10

Глава I. ЛАБОРАТОРНЫЕ РАБОТЫ

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

2.4Многочлен Лагранжа

Базисные многочлены Лагранжа на сетке x1; : : : ; xn, числом n штук задаются формулой:

n

x xj

 

 

Pk =

; k = 1; : : : ; n

(I.10)

Y6

xk xj

 

j=1;j=k

 

Очевидно, Pk(xj) = kj, где kj символ Кронекера, иначе сказать,

каждый базисный многочлен равен 1 в одной из точек (xj) и нулю во всех остальных.

на:Интерполяционным многочленом Лагранжа называется величи-

n

P

P = yjPj(x)

j=1

Ясно, что P (xj) = yj, и что многочлен Лагранжа сеточную функцию не только интерполирует, но и экстраполирует.

Если же функция f(x) задана не только в точках (xj), то он будет ее аппроксимировать и, возможно, еще и интерполировать, и экстраполировать. В этом случае можно оценить погрешность приближения функции многочленом.

Лабораторная работа № 3.

Интерполяция функции кубическими сплайнами

3.1Условие задачи

1. Составьте алгоритм аппроксимации заданной функции f(x)

на отрезке [a; b] по ее значениям в n узлах равномерной сетки

x1 = a; : : : ; xn = b. Реализуйте возможность улучшения аппроксимации посредством подходящего выбора первого многочлена сплайна.

Совет. Сплайн реализуйте в виде подпрограммы-функции, которая по заданному значению x вычисляет значение S(x).

2.Запрограммируйте этот алгоритм, включив в программу построение графиков функции и сплайна.