Гурский Д., Турбина Е. - Вычисления в MathCad 12 (1077322), страница 20
Текст из файла (страница 20)
Нельзя не согласиться, что символьные расчеты имеют целый ряднесомненных преимуществ перед численными. Поэтому ту или иную задачу сначаластоит попытаться решить символьно и лишь при неудаче (или если результат будет ужочень громоздок) использовать численные методы. При всех своих недостатках численные методы имеют одно достоинство — универсальность. Используя их, можно решить практически любую задачу, в то время как аналитические методы хороши лишьв случае отдельных, «удобных» примеров.2.4.2. Принципы проведения расчета символьноЧтобы задействовать для решения задачи символьный процессор, следует использовать специальный оператор вывода в виде стрелки «—>» (Evaluate symbolically).
Ввестиего можно либо с помощью соответствующих кнопок панелей Symbolic (Символьные)или Evaluation (Вычисление), либо сочетанием клавиш Ctrl+«.».В том случае, если аналитическому процессору не удастся получить результат, то справа от оператора символьного вывода будет выдано само же выражение:SinМ—1-Г-» Sin--71Реже может использоваться сообщение об ошибке: No symbolic result was found (Символьный результат не был найден) или некоторые другие.Очень часто подсчитать тот или иной пример можно как символьно, так и численно.Форма ответа при этом почти наверняка будет различной.78•:• Глава 2.
Вычисления и типы данныхПример 2.17. Символьный и численный подсчет значений выраженийи функций^simplify ->2-217- +3910—9я>/8 = 2.8281|—= 0.866Анализируя приведенный пример, можно прийти к выводу, что символьный процессор «стремится» получить результат в такой же форме, как и человек, решая задачу набумаге.
То есть при сложении простых дробей и будет получена простая дробь, а неприближенное число с десятичной частью, как при численном подсчете. При извлечении корня из восьми символьный результат будет привычным: два корня из двух. А привычислении синуса я/3 символьный процессор выдаст известное любому школьникуиррациональное выражение, а не десятичную дробь, которую мы бы получили при использовании в качестве оператора вывода «=». Согласитесь, что в приведенных примерах символьная форма результата куда более наглядная и привычная, чем числас плавающей точкрй, которые дает численный подсчет.Эти рассуждения можно распространить и на другие математические операции, такиекак решение уравнений, интегрирование и дифференцирование.Пример 2.18.
Форма результата при символьном и численном решенииквадратного уравненияSymbolic:Numerical:х - Зх + 1 solve,xpolyroots-34V 1 V/0.382^2.618JОгромным достоинством символьных методов является то, что результат расчета может быть получен в общем виде. А это означает, что можно решать уравнения с параметрами и подсчитывать интегралы с буквенными коэффициентами, получать производную в виде функции, а не графика и т.
д.Пример 2.19. Алгебраические и аналитические символьныепреобразованияа-х + Ьх+ с solve,х —>2-а2-а-Ьt>2-4-a-c) __-Ь-(р 2 -Фа-с) _2.4. Символьные расчеты *179ln(x) dx ->• ln(a - Ь)-а - ln(a - b)-b + 2-b - ln(a + b ) a - l n ( a + b ) - ba+b222;+y +zdxБлагодаря продемонстрированным возможностям, Mathcad может быть использованкак очень неплохой справочник математических формул.Среда разработки Mathcad по умолчанию работает исходя из правил проведения численных расчетов, а не символьных.
Иногда это приводит к проблемам. Например, выможете задать функцию с параметром, чтобы найти затем ее нули аналитически. Такаяфункция абсолютно приемлема с точки зрения символьного процессора, но не численного. Для него она некорректна, так как в нее входит неопределенная явно величина —параметр. Поэтому он будет выделен и появится сообщение This variable is undefined(Переменная не определена). Если расчет проводится аналитически, подобные сообщения нужно смело игнорировать. На результат они никак не повлияют.Если в арифметическом выражении присутствует число с плавающей точкой или жеоно не может быть рассчитано аналитически, то расчет будет проведен численно.
Однако при этом будет использоваться программно реализованная арифметика длинныхчисел, а не аппаратные средства для работы с 64-битными числами, как в случае применения оператора вывода «=». Это означает, что значение выражения или функцииможет быть найдено гораздо точнее тех 15-17 знаков, которые обеспечивает аппарат но поддерживаемая арифметика 64-битных чисел. Так, подсчитав количество десятичных знаков в ответе первого выражения в примере 2.20, вы обнаружите, что их 20.
Этоточность приблизительных расчетов аналитического процессора, принятая по умолчанию. При желании же любое выражение можно подсчитать с точностью до 4000 знаков (для этого используется оператор float, о котором мы поговорим чуть ниже).Пример 2.20. Приблизительные расчеты, проводимые с помощьюсимвольного процессораHQ*7Q-j— + 0.1 = 1.165179104477611967-з— + 0.1 -> 1.1651791044776119467s i r / — j float,30 -> .697564737441253007759588351941е-1Арифметические расчеты с помощью символьного процессора могут быть особенно полезны, если величина результата меньше параметра Zero Threshold (Порог нуля) вкладки Tolerance (Точность) окна Result Format (Формат результата). В этом случае при использовании оператора численного вывода «=» в качестве ответа будет выдан нуль.Вычисление же символически даст правильный результат.
Аналогично при проведении расчета аналитически можно оперировать величинами, превышающими машинную бесконечность.При оперировании очень большими или очень малыми значениями результат можетпредставлять собой число из десятков, сотен и даже тысяч цифр. Никаких ограничений на длину значимой части числа, подобных имеющим место в численных расчетах,при проведении подсчета аналитически нет. Это, с одной стороны, хорошо, так как80•:• Глава 2.
Вычисления и типы данныхответ можно получить без погрешности. С другой стороны, оперировать громоздкимичислами сложно. Если результат аналитического вычисления получается слишкомбольшим, его имеет смысл пересчитать в приблизительную десятичную дробь. Для этого можно использовать оператор численного вывода «=», но лучше задействовать оператор float.Пример 2 . 2 1 . Аналитический расчет в случае экстремально больших илималых величин,1700лооо,300float,5 -> 1.1916 •ю510e-1000float,5^5.0760-Ю-43520370359763344860862684456884093781610514683936659362506361404493543812997633367061833973762.4.3.
Способы проведения символьных преобразованийВ системе Mathcad существует два альтернативных пути осуществления практическилюбого символьного преобразования: с помощью команд специального меню или операторов соответствующей панели.Меню Symbolics (Символические) расположено в главном меню программы. Открывего, вы увидите довольно длинный список различных параметров и команд, отвечающих за ту или иную операцию символьной математики. Чтобы осуществить необходимое символьное преобразование с помощью команд меню Symbolics, необходимо выполнить следующую последовательность действий.1. Ввести выражение. Если это уравнение, то в качестве знака равенства следует использовать оператор логического равенства. В том случае, если уравнение заданов стандартном виде (то есть правая часть равна нулю), можно определить одну лишьлевую часть: она будет приравнена к нулю по умолчанию.2.
В зависимости от того, какой тип символьных операций должен быть примененк введенному выражению, необходимо выделить либо переменную (если нужно использовать, например, команду решения уравнений или разложения в ряд), либовсе выражение целиком (для команд символьной алгебры).3. Выполнить необходимую команду.В результате проделанных действий, в зависимости от действующих настроек, над, подили на месте исходного выражения появится ответ.Пример 2.22. Символьные вычисления с помощью команд менюИнтегрирование (Symbolics • Variable • Integrate):х sm(2x)-1 211х -cos(2-х) + --cos(2-х) + --x-sin(2-x)Разложение в ряд Тейлора (Symbolics • Variable • Expand to Series):x sin(2x)„ 3 4 52-х47x +—x3158 9x H3154283511X+2.4. Символьные расчеты.;.81Произвести настройку особенностей отображения результата при использовании длясимвольных расчетов меню Symbolics (Символические) можно с помощью специального меню Evaluation Style (Стиль вычислений).
Параметры списка Show evaluations steps(Отображать шаги вычислений) данного меню определяют, каким образом по отношению к исходному выражению будет выведен результат символьных расчетов. Данныйсписок содержит три пункта.•Vertically, inserting lines (Вертикально, вставляя линии). Параметр, определенныйпо умолчанию. Результат вставляется в специальную, очищенную от других формул и выражений полосу рабочей области ниже исходного выражения.
Остальныеобъекты листа при этом смещаются вниз на ширину данной полосы.• Vertically, without inserting lines (Вертикально, не вставляя линий). Результат выводится ниже исходного выражения, однако это никак не сказывается на положенииостальных формул и выражений вашего документа.Q Horizontally (Горизонтально). Результат отображается правее исходного выражения.Если вы установите флажок Evaluate in Place (Вычислять на месте), то результат будетпросто заменять исходное выражение.При включении параметра Show Comments (Показать комментарии) ответ будет выводиться на лист вместе с текстовой строкой, содержащей информацию о проделаннойсимвольной операции.
Например, если была задействована команда решения уравнений Symbolics • Variable • Solve, то комментарием будет «msgMapleSolve». Несложно догадаться, что msg — это сокращение от message (сообщение). Maple — это название компании, разработавшей символьный процессор.Панель Symbolic (Символьные) семейства Math (Математические) своим содержаниемпрактически полностью повторяет соответствующее меню (рис. 2.5) (исключение составляют операторы интегрирования и дифференцирования, которые вынесены напанель Calculus (Вычислительные)). Однако между аналитическими вычислениями,осуществляемыми с помощью меню, и операциями, проводимыми с использованиемпанели, существует несколько принципиальных различий.I Symbolic—>. solvecollecttnvfourleiВ• -•:Modifiersfloatcomplexassumesimplifysubstitutefactorexpancfcoeffsseriesparfracfourierlaplaceztransinvispiac 5 ilTVZtr*nSм•-Рис.