Гурский Д., Турбина Е. - Вычисления в MathCad 12 (1077322), страница 90
Текст из файла (страница 90)
Как правило, все они создавались с целью повышения точности вычислений прибольших h. Например:1dx-f(x+2-h)-8f(x-h)12-hf(x-2-h)————_——Данная формула относится к группе формул центральных разностей, и в общем случае она на два порядка точнее рассмотренной нами ранее формулы конечной разности. Однако она еще более чувствительна к ошибкам округления, поэтому максимумее точности также смещен влево и подчиняется условию h=e 1/5 . To есть лучших ре-11.3. Численные методы дифференцирования* 3953зультатов от данной формулы стоит ожидать при h=10~ . Ошибка при этом составит1.43995926293883хЮ"13, что почти в 100 раз меньше, чем полученный нами наилучшийрезультат по более простой формуле.В Mathcad для численного определения значения производной в точке используетсяочень эффективный метод Риддера (Ridder). Об его основных идеях вы можете прочитать в справочной системе программы. Главное же, что о нем нужно знать, это то, чтоего точность не зависит отTOLили какой-то другой системной константы.
Кстати, методРиддера применяется для вычисления значения производной и реализации градиентных методов решения систем уравнений (блок Given-Find). Поэтому общие представления о нем могут помочь вам более эффективно использовать средства для численного решения уравнений.Глава 12. Ряды и пределыВ системе Mathcad существует возможность проведения всех основных операций математического анализа: вычисления интегралов и производных, разложения в рядыТейлора и Фурье, определения предела функции или последовательности, осуществления интегральных преобразований.
Кроме того, с помощью специальных операторовможно весьма эффективно находить конечные и бесконечные суммы и произведения.Данная глава будет посвящена особенностям решения в Mathcad задач, связанныхс пределами и рядами. Интегрирование и дифференцирование рассматриваются, ввиду объемности и сложности этих вопросов, в отдельных главах (см. гл. 10 и 11). Преобразования Лапласа и Фурье разбираются в гл. 14, посвященной решению дифференциальных уравнений.12.1. ПределыВычисление пределов функций или последовательностей — одна из важнейших задачматематического анализа. Такое вычисление порой весьма сложно с технической точки зрения, поэтому использование компьютера может значительно сэкономить силыи время.
Тем более Mathcad решает задачи подобного рода весьма эффективно. Любойпредел, который можно встретить в задачниках, будет подсчитан программой с легкостью, причем ей не придется «помогать», например, используя правило ЛопиталяБернулли. Неплохо находятся и очень сложные пределы. Например, в Mathcad можновычислить производную и определенный интеграл, основываясь только на их определениях (см. пример 12.1).Чтобы найти предел, следует обратиться к панели Calculus (Вычисления). Данная панель содержит три вида операторов предела: предел в точке или двусторонний предел(Two-sided Limit) (также вводится сочетанием клавиш Ctrl+L), левосторонний предел(Limit from Below) (Ctrl+Shift+B), правосторонний предел (Limit from Above) (Ctrl+Shift+A).Очень многие пределы вычисляются при условии стремления переменной к бесконечности.
Символ бесконечности (Infinity) в Mathcad можно ввести либо с панели Calculus(Вычисления), либо сочетанием клавиш Ctrl+Shift+Z.В качестве оператора вывода при вычислении пределов можно использовать толькооператор символьного вывода «—>». Если же вы введете оператор численного вывода«=», то будет выдано сообщение об ошибке.12.1. Пределы* 397В том случае, если система предел вычислить не может, в качестве ответа выдаетсясамо выражение с ключевым словом Limit и указанием на точку предела:limп —» ооZxcos l —-> Limit,П<-00cosk=Если ошибка заключена в условии задачи, то будет выведено сообщение вроде: Nosymbolic result was found (Символьный результат не был найден). В некоторых точкахфункция может быть не определена. Если левосторонний и правосторонний пределыдля подобной точки будут иметь разные значения, то предела в этой точке не будет.Если вы попытаетесь его вычислить, в качестве ответа будет выдано слово undefined(Неопределен).Пример 12.1.
Вычисление пределов различных типовВычисление предела в точке:-1lrrnlim6х -4х+3yjx + 8 x + 9 - x -» 4х—> ооВычисление правостороннего и левостороннего пределов:limх-> О"fcos(x) - \/cos(x)|x|-sin(x)112limx-> 0"-1lx|-sin(x)12Пример предела, не существующего в точке. Доказательством того, что данный факт был определен Mathcad верно, является то, что левосторонний и правосторонний пределы имеют разныезначения:1lim— —> -ooxx-> 0 "limx-> 01—X- » ооlim - -> undefinedх-> О хПределы от функций с неявно заданными параметрами:т—пх) - 1lim-> аОп-хх-» ОMathcad умеет вычислять пределы и для более сложных выражений. Например, можно найтипредел бесконечной суммы, произведения.
В выражение могут входить операторы интегрирования и дифференцирования. Для примера приведем формулу Валлиса, представляющую собойсходящееся бесконечное произведение. Его предел равен п, поэтому долгое время оно использовалось для вычисления данного важного числа с точностью до десятков знаков.limт-х)кlimк—> ооП2-п2п-2к+ 1JПоказателем того, насколько хорошо Mathcad считает пределы, является то, что в изучаемойпрограмме можно вычислить производную только исходя из ее определения как предела отношения приращения функции к приращению аргумента, когда это приращение стремится к 0:3 9 8 •:• Глава 12.
Ряды и пределыln(sin(x+5))-ln(sin(x))cos(x)d , , . , L _^ cos(x)lim—>—ln(sin(x)) —>5_> 08sin(x)dxsin(x)Аналогично производной, исходя из одного лишь определения, можно вычислить и определенный интеграл. Как вы помните, это, упрощенно, предел суммы площадей прямоугольников, накоторые можно разбить криволинейную трапецию.
Естественно, что этот предел будет наблюдаться при возрастании количества прямоугольников до бесконечности. Зная это, найдем значение интеграла от f(x)-=sin(x) на промежутке от я/2 до я:•nIX"•I1 IJim> sin—+к- >1 Isin(x) dx -» 1. .„ ^V22-n J 2-nnk=02To, что Mathcad способен вычислять столь сложные пределы, можно использовать для строгихматематических выводов, а также при написании статей или курсовых, в которых важна формальность используемых формул.Интересной возможностью символьного процессора является то, что пределы могутбыть найдены и в комплексной области.1лпn12.2. Вычисление суммы рядаНе менее эффективно, чем с пределами, способен Mathcad справляться с такой важной задачей математического анализа, как вычисление суммы ряда.
Служит для этогоспециальный оператор Summation (Суммирование) панели Calculus (Вычисления) (такжеего можно ввести нажатием сочетания Ctrl+Shift+4):• =iОператор суммы ряда содержит четыре маркера, которые заполняются точно в соответствии с принятыми в математике правилами. Пределы суммирования могут бытьзаданы как числами, так и неизвестными, и даже выражениями. В качестве верхнегопредела также может выступать бесконечность. Соответственно, имеется возможностьнаходить суммы как конечных (численно и аналитически), так и бесконечных (толькоаналитически) рядов (причем ряды могут быть как числовыми, так и функциональными). Бесконечные ряды важны в разного рода аналитических преобразованиях, конечные — в численных расчетах. Рассмотрим особенности их вычисления по отдельности.В Mathcad встроена довольно большая библиотека формул для суммы рядов.
Поэтомупрактически любой ряд из задачника или справочника будет просуммирован без каких-либо сложностей. Правда, иногда ответ получается громоздким, но часто его можноупростить, задействовав оператор simplify (Упростить) панели Symbolic (Символьные).Отлично умеет программа восстанавливать функции на основании соответствующихим степенных рядов. Во многих случаях удается просуммировать и более сложныефункциональные ряды. Совместно с оператором суммирования можно использоватьи другие вычислительные операторы, например почленно дифференцируя или интегрируя ряд. Единственное слабое место оператора суммирования — это бесконечные12.2.
Вычисление суммы ряда * 3 9 9тригонометрические ряды. Ответить на вопрос, к какой функции сходится тригонометрический ряд, он не сможет даже в случае простейших рядов.Пример 12.2. Вычисление сумм бесконечных рядов различных типовНахождение сумм числовых рядов с положительными членами:00£1,„Л1°°11» и. 4У ->ехр(1)(2п- )(()п=0п=0Нахождение сумм знакочередующихся числовых рядов (поразмышляйте над удивительным результатом, полученным при суммировании ряда 1+1-1+1-1...):00Z~n!^-ik-1V3;-(2K : in=0k =ln =0Иногда сумма бесконечного ряда выражается через специальные функции.
Чаще всего невозможно получить точное аналитическое значение подобной функции в точке. Однако его можнорассчитать приблизительно, задействовав оператор float.Сумма приведенного ниже ряда соответствует Z-функции Римана. Для данной функции существуют аналитические значения при четном показателе степени. Если же показатель нечетныйили нецелочисленный, то значение Z-функции можно рассчитать лишь приблизительно.001—n->• Zeta(p)Zeta(3) float,5 -> 1.2021Zeta(2) -> --л6n=Примеры восстановления функций на основании степенных рядов. Обычно при такого рода расчетах ответ выдается громоздким и его нужно упрощать с использованием оператора simplify.Иногда бывает также необходимым указывать область изменения аргумента (см.