Лабораторная работа № 8. Численное дифференцирование и численное интегрирование функций

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

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

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

Легко проверить, что Выберем первоначально Введем с клавиатуры исходные данные и построим графики :

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

 
 

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

Ниже появится выражение для производной:

Выделяем все выражение и выбираем пункт Simplify в меню Symbolics. Ниже получим

Вторая возможность связана с оператором символьных преобразований и оператором символьных преобразований с ключевым словом панели ключевых

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

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

Вводим с клавиатуры следующую информацию:

В точке возможно вычисление только правой разностной производной по формуле (4.1.1), в точке - только левой. Центральная разностная производная по формуле (4.1.5) не может быть посчитана при и . Вводим следующую часть программы:

 
 

 
 

Наконец, находим вторую разностную производную по формуле (4.2.1). Она также не может быть посчитана в первой и последней точках заданной сетки узлов:

 
 

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

 
 

Необходимо выбрать пункт копирования (Copy). Обведенная пунктирной линией часть программы скопируется в буфер обмена. Затем необходимо подвести курсор к нужному месту окна рабочего документа. Щелкнув в этом месте еще раз правой мышкой, раскроем то же дополнительное меню и выберем на этот раз пункт вставки (Paste). Копируемый кусок программы поместится ниже курсора. Приведем здесь лишь графики первых и вторых производных.

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

 
 

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

1.

2.

3.

4.

5.

6.

7.

8.

9.

10.

11.

12.

13.

14.

15.

16.

17.

18.

19.

20.

21.

22.

23.

24.

25.

26.

27.

28.

29.

30.

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

С помощью меню нужно выполнить аналогичные действия, что и при дифференцировании: ввести выражение интегрируемой функции, выделить аргумент и щелкнуть по строке Integrate в пункте Variable меню Symbolics. В случае и получим

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

Численное интегрирование также можно осуществить двумя путями: с помощью панели операций математического анализа и панели равенств и отношений.

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

Формулы численного интегрирования (4.5.3), (4.5.4) и (4.5.6) настолько просты, что значение интеграла можно подсчитать, используя несколько арифметических операторов или с помощью небольшой подпрограммы. Например, формула центральных прямоугольников реализуется таким образом:

 
 

Подпрограмма вычислений по формуле парабол (4.5.6) может быть такой:

Ее параметры: - интегрируемая функция, которая должна быть ранее определена в программе, - пределы интегрирования, - число точек сетки (четное число для формулы парабол).

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


Содержание


Ирина Николаевна Двойцова


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: