Гурский Д., Турбина Е. - Вычисления в MathCad 12 (1077322), страница 78
Текст из файла (страница 78)
Однако, заглянувв справочник, мы обнаружим для данной функции простую и удобную первообразную.-1-П1sin(x)cos (x)n - 11\tan --хn- 1V2n| - - xn| --x1 + tan --x10.1. Нахождение неопределенного интеграла * 3 3 9Формула из справочника:sin(x)dx =(п - l)'cos(x)cos (х)п-1+СВпрочем, в случае приведенного интеграла результат все же можно упростить. Для этого нужноправильно сделать замену. Очевидно, что следует перейти от половинного аргумента к целому,от «тяжелого» тангенса — к простым синусу и косинусу. Для этого используем известную «школьную» формулу tg(a/2)=(l-cos(a))/sin(a).sin(x)dxcos (х), .Гх ^1 - cos (х)substitute ,tan - =\2)sin(x)simplifycos(x)ni_n~При вычислении следующего интеграла первообразная выражается с использованием функцииatanh — гиперболического арктангенса (более корректное название этой функции — ареатангенс). Функция эта достаточно экзотическая, так что ее наличие в первообразной мало информативно для специалиста нематематического профиля.1-13 /,2х -4 1 - хatanh-х22-хОтвет в более простой форме можно найти в справочнике.
Однако можно попытаться упроститьпервообразную и самостоятельно, заменив ареатангенс на явное выражение из более элементарных функций. Для этого можно опять же порыться в справочнике. Но лучше справиться с проблемой своими силами. Так как ареатангенс — это функция, обратная гиперболическому тангенсу, то ее можно найти, выразив из задающего его выражения аргумент (проще говоря, найдязависимость х(у) из известной зависимости у(х)). Легче всего это сделать с помощью оператораsolve, решив соответствующее уравнение:У"УУ~У-In11 +2-In-1•HI + z)-(-l +1+zsolve, у•=zzH-lsimplifyе +еМы получили два решения. Но какое из них является выражением ареатангенса? Это очень просто определить, зная, что аргумент ареатангенса (то есть гиперболический тангенс) изменяется в интервале от -1 до 1.
При этом условии второй из полученных корней является некорректным,3 4 0 •> Глава 10. Вычисление интеграловтак как логарифмируемое выражение в нем является комплексным для любых г. Наоборот, логарифмируемое выражение в первом корне всегда действительное и положительное — следовательно, нужно использовать именно его.Путем элементарных преобразований выражение ареатангенса можно упростить:atanh(z) = - - I n УПодставив полученное выражение вместо функции atanh в выражение первообразной, получимследующую довольно простую формулу:•dx =3 .2X л/1 - X1-14'2-х2In\ 1-x + 121- x -\гУбедиться, что мы не сделали ошибки, можно, продифференцировав полученную первообразную.Подобно тому, как мы избавились от ареасинуса, из результатов символьного интегрированияможно убирать и другие «сложные» функции.
Исключение составляют так называемые интегральные функции, которые не выражаются через сочетания функций элементарных. О данномтипе функций мы поговорим чуть ниже.В качестве последнего примера, демонстрирующего то, что Mathcad заменяет справочник и голову далеко не всегда, мы приведем интеграл, первообразная которого выражается через суммуобщего вида. Mathcad рассчитать такой интеграл не может:х"х+ 1dx->х+ 1dxВ справочнике же первообразная для данного интеграла приводится:п-1x+ 1.
,.k n-k(-1) -x+ (-1+СПервообразные для функций подобного типа нужно сразу брать из справочника. Mathcad их не най •дет даже при наличии помощи с вашей стороны.Для всех ли функций можно найти первообразную? В математическом анализе доказывается, что для любой непрерывной функции существует первообразная. Однако еедалеко не всегда можно выразить как алгебраическое сочетание элементарных функций — показательной, логарифма, косинуса, синуса и т. д.
Если первообразная не выражается через элементарные функции, соответствующий интеграл называется «неберущимся».10.1. Нахождение неопределенного интеграла* 341Какой результат будет получен, если попытаться найти в Mathcad неберущийся интеграл? Тут возможны два варианта. Во-первых, система может возвратить исходное выражение без каких-либо изменений.
Во-вторых, ответ может быть выражен через подходящие интегральные функции.Интегральные функции появились задолго до Mathcad и компьютеров. Они были введены для описания наиболее важных иеберущихся интегралов. Существовали таблицы,в которых приводились значения интегральных функций для различных величин аргумента. В случае сложного неберущегося интеграла его сводили к сочетанию интегралов, которым соответствуют интегральные функции. Точно так же действует и Mathcad.Для примера приведем несколько интегралов, первообразные для которых выражаются через интегральные функции. Описание данных интегральных функций, а также список остальных используемых символьным процессором Mathcad функций можно найтив статье Special Functions and Syntax Used in Symbolic Results справочной системы программы.Пример 10.3.
Вычисление неберущихся интеграловИнтегральные синус (Si) и косинус (Ci):sin(x)dx -> Si(x)cos (x)dx -> Ci(x)Интегральная показательная функция (Ei) и интеграл вероятности (erf):ех-х—•е....dx -» erf (x)Интегралы Френеля (синус — FresnelS, косинус — FresnelC):Isin\x/dx->--2 -n11FresnelS212s (x )dx -> - • 2 • л 2 • FresnelCИнтегральные функции «знает» только символьный процессор Mathcad.
В численныхрасчетах их использовать нельзя. Но что делать, если нужно определить значение первообразной в точке или найти ее нули, построить график ее функции? Проще всегоможно найти величину интегральной функции в точке. Для этого следует присвоитьаргументу нужное значение и задействовать оператор Float панели Symbolic (Символьные). Сложнее определить нули первообразной, в выражение которой входят интегральные функции, а также построить ее график. Чтобы решить эти задачи, следует заменить интегральные функции соответствующими им явными выражениями (найтиэти выражения можно в справочной системе Mathcad, а также в сборниках математических формул).
Обычно интегральной функции соответствует определенный интеграл с неявным верхним пределом, подсчитать который можно численно. Реже интегральные функции выражают через бесконечные ряды. В этом случае создать функцию,с нужной точностью приближающую первообразную, можно, заменив бесконечныйряд конечным. Количество членов в этом ряду должно зависеть от точности, с которойпервообразную следует приблизить. Найти подходящее количество членов можно,342 •Глава 10.
Вычисление интегралови не обращаясь к специальным формулам. Для этого следует последовательно увеличивать количество членов ряда на 1 и сравнивать результаты, полученные при прошлом и данном вычислениях. Показателем того, что нужная точность достигнута, будет то, что результаты окажутся равными вплоть до последнего интересующего знака.Пример 10.4. Найти первообразную для функции е~*/х. Определитьс точностью до 5 знаков мантиссы: а) значение функции первообразнойв точке х=1; Ь) при каких х первообразная равна - 1 . Построить графикфункции первообразнойИскомый интеграл является неберущимся. Первообразная для него выражается с помощью интегральной показательной функции Ei:dx-» -Ei(Найдем приближенное значение Ei в точке х=1 с точностью до пяти знаков:-Ei(l,l) float,5 -»-.21938Чтобы решить остальные поставленные в задаче проблемы, нужно создать аппроксимирующуюEi функцию.
Для этого необходимо знать соответствующее Ei явное выражение. Найти его можно в справочной системе Mathcad:00rnr_nEi(l,x)=-Y-ln(x)-]Tn nn-n!n=Постоянная у в данном выражении — это константа Эйлера. Вычислить ее приближенное значение можно с использованием оператора float:Y float, 5 -> .57722Описанным выше способом определяем, что точности в пять знаков мантиссы можно достичь,заменив бесконечный ряд в выражении для Ei на ряд из восьми членов. Тогда функция, приближающая интегральную показательную функцию, будет иметь вид:ii\n(-1) 'XЕ1(х) := -0.57722- 1п(х) -nДанная функция позволяет вычислять приближенные значения Ei столь же эффективно, чтои оператор float:-Е1(1) =-0.21938Чтобы найти, при какой величине аргумента первообразная принимает значение - 1 , численнорешаем соответствующее уравнение, применяя функцию find.
Так как мы должны получитьответ с точностью до пяти знаков, уменьшаем значение TOL до 10~6:f(z):=EI(z)-lTOL:=105root(f(z),z) =0.264736z:=lEI (0.264736)= 110.2. Аналитическое вычисление определенного интеграла* 343Строим график первообразной на промежутке от 0 до 2 (рис. 10.2).-ВД-1-2-1-Рис. 10.2. График первообразной функции е-х/хОбъективно говоря, в случае численных расчетов интегральные функции ничем не отличаются от функций элементарных. Для подсчета как первых, так и вторых применяются приближенные методы вроде использования аппроксимирующего ряда или численного интегрирования. Вообще, с приходом эры компьютеров разделение функцийна элементарные и сложные потеряло смысл.
Для машины все функции равны — и вычисление синуса обычного ничуть не проще, чем вычисление синуса интегрального.Разница между сложными и элементарными функциями имеется лишь при проведении расчетов аналитически.10.2. Аналитическое вычислениеопределенного интегралаПомимо нахождения неопределенного интеграла, в Mathcad существует возможностьвычисления и определенного интеграла. Для этого следует использовать специальныйоператор Definite Integral (Shift+7) панели Calculus (Вычисления):diОператор содержит четыре маркера, заполняются которые в полном соответствиис принятой в математике формой.В отличие от неопределенного интеграла, определенный может быть вычислен как аналитически, так и численно.
Естественно, символьный метод точнее численного, выдаваемый им аналитический ответ информативнее десятичной дроби численного результата, однако он применим в случае далеко не всех функций. Используемые же в Mathcadчисленные методы практически универсальны — но им присущи существенные недостатки по сравнению с аналитическим подходом. Поэтому численно подсчитыватьопределенный интеграл стоит лишь, если найти его значение не сможет аналитический процессор. Даже если первообразная выдается в виде громоздкого выражения, лучше пересчитать его в десятичную дробь с помощью оператора float или оператора численного вывода «=», чем проводить интегрирование численно (точность при этом будетвыше, а также уменьшится время расчета (что важно в случае кратных интегралов)).3 4 4 • Глава 10.