Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ЧМ.doc
Скачиваний:
2
Добавлен:
01.09.2019
Размер:
2 Mб
Скачать

3. Контрольная работа № 1

Контрольные мероприятия по темам 1  3 «Многочленная, кусочно-многочленная, сплайновая и обратная интерполяция. Наилучшее среднеквадратическое приближение. Тригоно-метрическая интерполяция. Наилучшее равномерное приближение. Численное дифференцирование. Метод Рунге-Ромберга».

Для студентов специальности «Математическое обеспечение и администрирование информационных систем» отведено 5 часов практических занятий, а для студентов специальности «Программное обеспечение вычислительной техники и автоматизированных систем»  3 часа.

План занятий:

  1. Сдача отчетов по выполнению заданий домашней работы (темы 1-3) и собеседование с преподавателем.

  2. Сдача зачетов по темам 1  3.

4. Практические работы (4-5)

4.1. Практическая работа № 4. Численное интегрирование

Для студентов специальности «Математическое обеспечение и администрирование информационных систем» отведено 6 часов практических занятий, а для студентов специальности «Программное обеспечение вычислительной техники и автоматизированных систем»  2 часа.

План занятий:

  1. Актуализация понятий неопределенного, определенного, несобственных и кратных интегралов, сходимости несобственных интегралов, свойств определенных и несобственных интегралов.

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

  3. Повторение метода повторного счета (правила Рунге)

  4. Повторение первой и второй схем метода Монте-Карло.

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

  6. Решение примеров.

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

Рассматриваемые примеры:

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

Решение:

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

Запишем оценку погрешности приближенного значения :

.

Здесь  положительная постоянная, такая, что на . В нашем случае , , , .

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

Учитывая это, оценку погрешности можно записать в виде: . Ее удобнее выражать через n.

Значение n будем выбирать исходя из требования: , обеспечивающего для приближенного значения интеграла заданную точность. Решим это неравенство относительно n: . Наименьшее целое значение n, удовлетворяющее этому неравенству, равно 7. Итак, , .

2. Составить алгоритм вычисления приближенного значения интеграла методом Симпсона с погрешностью, не превышающей заданного положительного числа . Значение m подбирается методом повторного счета с использованием асимптотической оценки погрешности по правилу Рунге. Записать алгоритм на алгоритмическом языке.

Решение:

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

.

Здесь  шаг интегрирования, ( ) – узлы квадратуры. В обозначении приближенного значения интеграла подчеркнута зависимость его от параметра m. Подставляя значения узлов, получим:

.

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

.

Здесь  порядок точности обобщенной формулы Симпсона.

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

.

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

На каждом шаге цикла используются только два приближенных значения интеграла. Поэтому мы введем две переменные и , которые в цикле должны принимать попарно следующие значения: = , = ; = , = ; = , = и так далее. Заметим, что значение на всех шагах цикла, кроме первого, совпадает со значением на предыдущем шаге цикла. Поэтому в цикле мы будем вычислять только значение = , а значение = мы будем передавать с предыдущего шага цикла: . Условие окончания цикла в этом случае примет вид: . Если используется цикл с постусловием, то для того, чтобы цикл мог начать работу, необходимо до цикла вычислить начальное значение:

= = .

Введем в алгоритмический язык цикл с постусловием, аналогичный циклу repeat в языке Паскаль

нц повторять

Команды, повторяемые в цикле

кц пока не Условие окончания цикла.

Запишем алгоритм вычисления интеграла с заданной точностью на алгоритмическом языке, используя введенную команду цикла с постусловием:

алг Метод Симпсона с автоматическим выбором шага (арг вещ a, b, , рез вещ )

нач вещ , h, , ; цел m, i

| Задание начального значения параметра m

; | Вычисление соответствующего

| значения шага интегрирования

= ; | Вычисление

|начального значения

|

нц повторять | Начало цикла метода повторного счета

; | Передача значения с предыдущего

| шага цикла или начального значения.

; | Изменение значения параметра m.

; | Вычисление соответствующего

| значения шага интегрирования

:=0;

нц для i от 1 до m-1

| Вычисление суммы

|

кц

:=0;

нц для i от 1 до m

| Вычисление суммы

|

кц

| Вычисление

| =

кц пока не | Конец цикла метода

| повторного счета

кон

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

Решение:

Запишем формулу Гаусса с 3-мя узлами. При n=3 формула Гаусса на имеет 3 узла , , , и три коэффициента , .

Узлы формулы Гаусса на равны

,

,

.

Коэффициенты формулы Гаусса на равны

, , .

Формула Гаусса в нашем случае примет вид

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

,

где - мажорантная оценка модуля производной на ( ).

Найдем . Для этого найдем производную . На , очевидно, выполняется: . Отсюда =720.

Вычислим оценку погрешности приближенного значения интеграла:

.

4. Составить алгоритм вычисления приближенного значения интеграла методом Монте-Карло (первая схема) с погрешностью, не превышающей заданного положительного числа с вероятностью 0,997. Записать алгоритм на алгоритмическом языке.

Решение:

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

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

В этих формулах содержатся суммы, число членов которых растет с ростом n. Чтобы избавиться от лишних вычислений, мы будем вычислять величины и по рекуррентным формулам:

, .

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

.

Поскольку на каждом шаге цикла нужно только одно значение каждой из величин , и , мы введем три простые переменные без индексов: Q, P, L, которые в цикле будут принимать соответствующие значения: , , ; , , ; , , и так далее. На каждом n-м шаге цикла эти величины будут вычисляться по формулам:

, ,

.

До начала цикла , . На каждом n-м шаге цикла проверяется условие . Если используется цикл с предусловием, то надо еще до цикла задать также начальное значение величины L. Это может быть любое большое число, например , чтобы условие окончания цикла не выполнилось случайно до выполнения первого шага.

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

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

Запишем получившийся алгоритм на алгоритмическом языке:

алг Метод Монте-Карло (первая схема) (арг вещ a, b, , рез вещ Q)

нач вещ P, L, fr; цел n

| Вычисление первого

| случайного значения функции

; ; | Задание начальных значений

; | параметров.

нц пока L> | Начало цикла метода Монте-Карло.

; | Изменение значения параметра n.

| Вычисление очередного

| случайного значения функции

кц | Конец цикла метода Монте-Карло.

Кон

5. Составить алгоритм вычисления приближенного значения интеграла методом Монте-Карло (вторая схема), , для заданного n. Записать алгоритм на алгоритмическом языке.

Решение:

Исходными данными для алгоритма являются значения a, b, n, и функция . Приближенные значения интеграла вычисляются по формуле: . Здесь n – число испытаний (бросаний случайной точки , равномерно распределенной в прямоугольнике ),  мажорантная оценка функции на ,  количество попаданий случайной точки в криволинейную трапецию, ограниченную сверху графиком функции при n испытаниях. Условие попадания точки в трапецию: .

Будем считать, что у нас есть датчик значений случайной величины, равномерно распределенной на . Обозначим через очередное случайное значение, выдаваемое этим датчиком. Тогда будет представлять собой значение случайной величины, равномерно распределенной на , а  значение случайной величины, равномерно распределенной на . А точка  значение случайной точки, равномерно распределенной в прямоугольнике .

Запишем алгоритм вычисления на алгоритмическом языке.

алг Метод Монте-Карло (вторая схема) (арг вещ a, b, , цел n, рез вещ Q )

нач вещ , , цел i, m

| Задание начального значения числа попаданий

нц для i от 1 до n | Начало цикла подсчета числа

| попаданий

| Вычисление случайного значения

| абсциссы

| Вычисление случайного значения

| ординаты. Значения в этой строчке

| и в предыдущей должна быть разными.

| Это достигается повторным обращением

| к датчику случайных чисел

если

то

все

кц | Конец цикла подсчета числа попаданий.

| Теперь .

Кон

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

Решение:

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

, , .

Здесь  приближенные значения интегралов , вычисляемые с погрешностями, не превышающими . Для вычисления этих интегралов используем алгоритм из примера 3.

Запишем алгоритм на алгоритмическом языке.

алг Табулирование первообразной (арг вещ a, b, , цел n, рез вещ таб )

нач вещ x, h, Q, цел i

| Вычисление шага сетки

| Задание начального значения первообразной

нц для i от 1 до n | Начало цикла вычисления

| значений первообразной

| . При этом .

Метод Симпсона с автоматическим выбором шага (x-h, x, , Q)

кц | Конец цикла вычисления значений первообразной

кон

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

Решение:

Будем выбирать значение величины b исходя из требования:

.

Подынтегральная функция положительна, следовательно, и интеграл тоже, и модуль можно убрать. Кроме того,

.

Отсюда

Для определения значение величины b получается неравенство: . Решая его, получим: .

Искомое приближенное значение несобственного интеграла представляет собой приближенное значение определенного интеграла

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

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

Решение:

Будем выбирать значение величины c исходя из требования:

.

Как известно, модуль интеграла не превышает интеграла от модуля:

.

Здесь использовано, что

.

Для определения значения величины с получается неравенство: . Решить это неравенство точно невозможно. Исследуем функцию . Найдем при . Следовательно, функция возрастает при . Кроме того, , а . Таким образом, наше неравенство решение имеет. Будем искать его подбором. Вычислим несколько значений этой функции при разных значениях с. Для этого можно использовать электронную таблицу Excel или систему программирования Паскаль. Желательно, чтобы искомое значение с было побольше. Таким путем подбирается по возможности наибольшее значение с, удовлетворяющее решаемому неравенству: с = 0,00009.

Искомое приближенное значение несобственного интеграла представляет собой приближенное значение определенного интеграла

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

9. Составить алгоритм для вычисления приближенного значения двойного интеграла , где  область, ограниченная линиями: , , , . При построении кубатурной формулы использовать метод повторного интегрирования и метод средних прямоугольников. В алгоритме должно быть реализовано вычисление приближенного значения интеграла Q при заданном значении m. Записать алгоритм на алгоритмическом языке.

Решение:

Исходными данными для алгоритма являются значения a, b, m, функции , , . Вначале вычисляются и :

, , , .

Затем вычисляются :

, .

После этого вычисляются и :

, ,

, , .

Затем вычисляется приближенное значение интеграла :

.

С целью экономии оперативной памяти и в связи с тем, что значения m и заранее не известны, мы не будем вводить массивов. Обойдемся простыми переменными без индексов. Введем переменные xi, xxi, yij, yyij, ni, hyi, которые в соответствующих циклах будут принимать значения , , , , , . Кроме того, введем переменную S для вычисления внутренней суммы.

Запишем алгоритм на алгоритмическом языке.

алг Вычисление двойного интеграла (арг вещ a, b, цел m,

рез вещ Q)

нач вещ xi, xxi, yij, yyij, hyi, S, , цел i, j, ni

:=(b-a)/m; Q:=0 | Вычисление шага сетки по оси x.

| Задание начального значения суммы

| (приближенного значения интеграла)

нц для i от 1 до m | Начало цикла для вычисления

| внешней суммы.

xi:=a+ ; xxi:=xi- | , .

| .

| .

S:=0 | Задание начального значения для внутренней

|суммы.

нц для j от 1 до ni | Начало цикла для вычисления

| внутренней суммы.

, |

, |

кц | Конец цикла для вычисления внутренней суммы

;

кц | Конец цикла для вычисления внешней суммы.

кон