Какие задачи позволяет решать символьный процессор mathcad

GeekBrains

Возможности символьного процессора MathCAD.

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

Ядро символьного процессора системы MathCAD — несколько упрощенный вариант ядра известной системы символьной математики Maple V фирмы Waterloo Maple Software, у которой MathSoft (разработчик MathCAD) приобрела лицензию на его применение, благодаря чему MathCAD стала (начиная с версии 3.0) системой символьной математики.

Прямой доступ к большинству операций ядра (возможный в системе Maple V R5/R6), для пользователя MathCAD, к сожалению, закрыт. К примеру, библиотечный модуль Maple V содержит около 100 функций линейной алгебры, тогда как в модуле MathCAD было только три важнейшие функции из этого раздела. Многие функции и правила преобразования в ядре используются лишь для получения промежуточных преобразований.

Тем не менее это обстоятельство нельзя считать уж слишком большим недостатком системы MathCAD. Во-первых, потому, что ее назначение иное — прежде всего решение задач в численном виде, а во-вторых, потому, что система Maple V явно избыточна (в ее ядре около 2800 функций и правил преобразования) и ориентирована на пользователей с весьма далекими от средних потребностями в решении задач компьютерной алгебры (символьной математики)

Введение в систему MathCAD символьных вычислений придает ей качественно новые возможности, которые отсутствовали у прежних версий системы. Куда важней, что символьные вычисления выполняются в конечном счете столь же просто (для пользователя), как, скажем, вычисление квадрата х.

Символьные вычисления в MathCAD могут быть реализованы тремя способами:

  • C использование команд подменю позицииSymbolics (Символика) главного меню.
  • С использованием команд панели Symbolic, включаемой кнопкой на математической панели инструментов. (Начиная с версии MathCAd 4.0 для активных символьных вычислений применяется термин SMARTMATH, представляющий комбинацию слов smart и Mathcad, что в буквальном смысле означает умный Mathcad).
  • С использованием команды Optimization позиции главного меню Math.

Команды меню Symbolics.

  • Операции с выделенными выражениями.
  • Операции с выделенными переменными.
  • Операции с выделенными матрицами.
  • Операции преобразования.
  • Стиль эволюции.

Само выражение в таком случае не выделяется: ведь и так ясно, что если маркер ввода выделяет переменную какого-либо выражения, то это выражение уже отмечено наличием в нем выделяемой переменной.

Следует отметить некоторые особенности при работе с командами менюSymbolics.

  • Для символьных вычислений выражения необходимо указывать явно. Например, недопустимо вводить некоторую функцию пользователя F(x) и пытаться найти ее производные или интеграл. Это существенное ограничение, о котором надо всегда помнить. Однако оно преодолимо при выполнении вычислений с помощью функций системыSmartMath, которая описывается в дальнейшем; главное в том, что для вывода символьных вычислений в этом случае используется оператор—>.
  • Иногда результат вычислений содержит встроенные в систему специальные мат. функции; в этом случае результат помещается в буфер обмена. Используя команду Paste или клавишу F4, можно вставить содержимое буфера обмена в документ как ТЕКСТ и проанализоровать полученный результат. (см.раздел Интерпретация результатов символьных операций в буфере обмена)
  • К недостаткам работы с командами меню Symbolics следует отнести то, что это ручная работа, одношаговая. При дальнейшем использовании результатов символьных вычислений необходимо с помощью операций Copy и Past присвоить этот результат некоторой переменной или функции. Кроме того, при изменении формулы, которая подвергается символьному преобразованию, результат (даже при установленном Автоматическом режиме вычислений) не пересчитывается.
  • Если операция невыполнима — система выводит сообщение об ошибке или просто повторяет выделенное выражение (без изменений)
  • В кчестве минуса при работе с командами меню Symbolics следует отметить не очень наглядную визуализацию процесса вычислений. Хотя при установке определенных параметров стиля эволюции выражений можно вывести некоторые комментарии.

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

Операции с выделенными выражениями.

К операциям с выделенными выражениями относятся следующие:

Evaluate(Вычислить) преобразовать выражение с выбором вида преобразований из подменю
Simplify(Упростить) упростить выделенное выражение с выполнением таких операций, как сокращение подобных слагаемых, приведение к общему знаменателю, использование основных тригонометрических тождеств и т. д.
Expand(Разложить по степеням) раскрыть выражение [например, для (Х+ Y) • (Х- Y) получаем X 2 -У 2 ]
Factor (Разложить на множители) ; разложить число или выражение на множители [например, Х 2 — У 2 даст (Х+ Y) • (Х- Y)]
Collect (Разложить по подвыражению) собрать слагаемые, подобные выделенному выражению, которое может быть отдельной переменной или функцией со своим аргументом (результатом будет выражение, полиномиальное относительно выбранного выражения)
Polynomial Coefficients (Полиномиальные коэффициенты) найти коэффициенты полинома по заданной переменной, приближающего выражение, в котором эта переменная использована

Evaluate (Вычислить)

Эта операция содержит подменю со следующими командами:

  • Evaluate Symbolically [Shift+F9](Вычислить в символах) — выполнить символьное вычисление выражения;
  • Floating Point Evaluation. (С плавающей точкой) — выполнить арифметические операции в выражении с результатом в форме числа с плавающей точкой;
  • Complex Evaluation (В комплексном виде) — выполнить преобразование с представлением в комплексном виде.

КомандаEvaluate Symbolically тут наиболее важная. Назначение других команд очевидно: они нужны, если результат требуется получить в форме комплексного или действительного числа. К примеру, если вы хотите вместо числа p получить 3.141. используйте командуFloating Point Evaluation.В режиме символьных вычислений результат может превосходить машинную бесконечность системы. При этом число точных значащих цифр результата практически не ограничено (или, точнее говоря, зависит от емкости ОЗУ).

Символьная операцияEvaluate Symbolically [Shift+F9] (Вычислить) обеспечивает работу с математическими выражениями, содержащими встроенные в систему функции и представленными в различном виде: полиномиальном, дробно-рациональном, в виде сумм и произведений, производных и интегралов и т. д. Операция стремится произвести все возможные численные вычисления и представить выражение в наиболее простом виде. Она возможна над матрицами с символьными элементами. Производные и определенные интегралы, символьные значения которых вычисляются, должны быть представлены в своей естественной форме.

Особо следует отметить возможность выполнения численных вычислений с повышенной точностью — 20 знаков после запятой. Для перехода в такой режим вычислений нужно числовые константы в вычисляемых объектах задавать с обязательным указанием десятичной точки, например 10.0 или 3.0, а не 10 или 3. Этот признак является указанием на проведение вычислений такого типа.

На рисунке ниже показаны типовые примеры действия операцииEvaluate Symbolically.

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

ОперацияEvaluate Symbolically одна из самых мощных. Как видно на рисунка, она позволяет в символьном виде вычислять суммы (и произведения) рядов, производные и неопределенные интегралы, выполнять символьные и численные операции с матрицами.

Simplify(Упростить)

Символьная операцияSimplify (Упростить) — одна из самых важных. Эта операция позволяет упрощать математические выражения, содержащие алгебраические и тригонометрические функции, а также выражения со степенными многочленами (полиномами).

Упрощение означает замену более сложных фрагментов выражений на более простые. Приоритет тут отдается простоте функций. К примеру, функцияtan(x) считается более сложной, чем функцииsin(x) и cos(x). Поэтому tan(x) упрощается так, что получает представление через соотношение этих функций, что несколько неожиданно, так как в некоторых пакетах символьной математики, например Derive, ситуация иная: они заменяют отношение sin(x)/cos(x) функциейtan(x).

< Эта команда открывает широкие возможности для упрощения сложных и плохо упорядоченных алгебраических выражений. На рисунке слева даны примеры применения операцииSimplify.

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

Однако командаSimplify применительно к вычислениям определенных интегралов делает гораздо больше — она ищет аналитическое выражение для интеграла. Более того, она способна делать это и при вычислении кратных интегралов, пределы которых — функции. Наглядный пример этому продемонстрирован слева.
ОперациюSimplify можно использовать и для вычисления сумм и произведений символьных последовательностей. Результат операции, как и следовало ожидать, получается в символьной форме (если она существует).

Приведенные примеры могут создать впечатление, что MathCAD лихо справляется со всеми производными, интегралами, суммами и произведениями с помощью операцииSimplify. К сожалению, это далеко не так . Нередко система не справляется с кажущимися простыми справочными примерами. Надо помнить, что символьный процессор системы MathCAD обладает заметно урезанной библиотекой функций и преобразований (в сравнении с библиотекой системы Maple V). Поэтому часто система не находит решение в замкнутом виде, хотя оно и приводится в справочнике. Тогда система повторяет введенное выражение или сообщает об ошибке.

В результате преобразований могут появляться специальные функции — как встроенные в систему (функции Бесселя, гамма-функция, интеграл вероятности и др.), так и ряд функций, дополнительно определенных при загрузке символьного процессора (интегральные синус и косинус, интегралы Френеля, эллиптические интегралы и др.). Последние нельзя использовать при создании математических выражений.

Expand (Разложить по степеням)

Действие операцииExpand (Разложить по степеням) в известном смысле противоположно действию операцииSimplify. Подвергаемое преобразованию выражение расширяется с использованием известных (и введенных в символьное ядро) соотношений, например алгебраических разложений многочленов, произведений углов и т. д. Разумеется, расширение происходит только в том случае, когда его результат однозначно возможен. Иначе нельзя считать, что действие этой операции противоположно действию операцииSimplify.К примеру, операцияSimplifyпреобразует сумму квадратов синуса и косинуса в 1, тогда как обратное преобразование многозначно и потому в общем виде невыполнимо.

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

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

Factor (Разложить на множители)

ОперацияFactor Expression (Разложить на множители) используется для факторизации — разложения выражений или чисел на простые множители. Она способствует выявлению математической сущности выражений; к примеру, наглядно выявляет представление полинома через его действительные корни, а в том случае, когда разложение части полинома содержит комплексно-сопряженные корни, порождающее их выражение представляется квадратичным трехчленом. Примеры действия этой операции даны на рисунке ниже.

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

Collect(Разложить по подвыражению)

ОперацияCollect(Разложить по подвыражению) обеспечивает замену указанного выражения выражением, скомплектованным по базису указанной переменной, если такое представление возможно. В противном случае появляется окно с сообщением о невозможности комплектования по указанному базису.

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

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

Polynomial Coefficients( Полиномиальные коэффициенты)

ОперацияPolynomial Coefficients(Полиномиальные коэффициенты) в ранних версиях MathCAD отсутствующая, служит для вычисления коэффициентов полинома.

Операция применяется, если заданное выражение – полином (степенной многочлен) или может быть представлено таковым относительно выделенной переменной. Результатом операции является вектор с коэффициентами полинома. Операция полезна при решении задач полиномиальной аппроксимации и регрессии.
Операции с выделенными переменными.

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

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

Solve (Решить относительно переменной) найти значения выделенной переменной, при которых содержащее ее выражение становится равным нулю (решить уравнение или неравенство относительно выделенной переменной)
Substitute (Заменить переменную) заменить указанную переменную содержимым буфера обмена;
Differentiate (Дифференцировать переменной) дифференцировать все выражение, содержащее выделенную переменную, по отношению по к этой переменной (остальные переменные рассматриваются как константы);
Integrate (Интегрировать по переменной) интегрировать все выражение, содержащее выделенную переменную, по этой переменной;
Expand to Series. (Разложить в ряд) найти несколько членов разложения выражения в ряд Тейлора относительно выделенной переменной;
Convert to Partial Fraction (Разложить на элементарные дроби) разложить на элементарные дроби выражение, которое рассматривается как рациональная дробь относительно выделенной переменной.
Solve (Решить относительно переменной) Если задано некоторое выражение F(x) и отмечена переменная х, то операция Solve (Решить) возвращает символьные значения указанной переменной х, при которых F(x)=0. Это очень удобно для решения алгебраических уравнений, например квадратных и кубических, или для вычисления корней полинома. Рисунок слева содержит примеры решения квадратного уравнения и нахождения комплексных корней полинома четвертой степени.

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

С помощью операцииPaste<(Вставить) в позицииEdit (Правка) главного меню можно перенести решение в основное окно системы, но оно имеет уже тип текстового комментария, а не математического выражения, пригодного для дальнейших преобразований. Впрочем, часть его можно (опять-таки с помощью буфера обмена) ввести в формульные блоки для последующих преобразований и вычислений.

Более того, форма представления результата в таком случае отличается от принятой в системе MathCAD (например, в качестве знака деления используется косая черта, для возведения в степень — составной знак ** и т. д.). Это сделано ради компактности представления результатов вычислений.

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

Substitute (Заменить переменную)

ОперацияSubstitute(Подстановка) возвращает новое выражение, полученное путем подстановки на место указанной переменной некоторого другого выражения. Последнее должно быть подготовлено и скопировано (операциямиCutилиCopy)в буфер обмена. Наряду с получением результата в символьном виде эта команда позволяет найти и числовые значения функции некоторой переменной путем замены ее на числовое значение.

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

Differentiate(Дифференцировать переменной)

Нахождение символьного значения производной — одна из самых распространенных задач в аналитических вычислениях. ОперацияDifferentiate(Дифференцировать по переменной) возвращает символьное значение производной выражения по той переменной, которая указана курсором. Для вычисления производных высшего порядка (свыше 1) нужно повторить вычисление необходимое число раз. На рисунке ниже показано применение операции дифференцирования.

Integrate (Интегрировать по переменной)

Другая не менее важная операция при символьных вычислениях — вычисление интегралов (или нахождение первообразных) для аналитически заданной функции. Для этого используется операцияIntegrate (Интегрировать по переменной). Она возвращает символьное значение неопределенного интеграла по указанной курсором ввода переменной. Выражение, в состав которого входит переменная, является подынтегральной функцией.

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

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

Expand to Series. (Разложить в ряд)

ОперацияExpand to Series. (Разложить в ряд) возвращает разложение в ряд Тейлора выражения относительно выделенной переменной с заданным по запросу числом членов ряда п (число определяется по степеням ряда). По умолчанию задано n=6.<\p>

Разложение возможно для функции заданной переменной. В разложении указывается остаточная погрешность разложения. На рисунке представлено применение этой операции для разложения функции sin(x)/x. Минимальная погрешность получается при малых х.

Символьные операции нередко можно комбинировать для решения сложных задач.

Convert to Partial Fraction (Разложить на элементарные дроби)

ОперацияConvert to Partial Fraction(Разложить на элементарные дроби) возвращает символьное разложение выражения, представленное относительно заданной переменной в виде суммы правильных целых дробей.

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

Операции с выделенными матрицами представлены позицией подменю Matrix (Матричные операции), которая имеет свое подменю со следующими операциями:

Transpose (Транспонировать) — получить транспонированную матрицу; Invert (Обратить) — создать обратную матрицу; Determinant (Определитель) — вычислить детерминант (определитель) матрицы.
Операции преобразования.

В MathCAD 2000 PRO в позицииSymbol содержится раздел операций преобразования, создающий подменю со следующими возможностями:

Fourier Transform(Преобразование Фурье)— выполнить прямое преобразование Фурье относительно выделенной переменной;

Inverse Fourier Transform (Обратное преобразование Фурье) — выполнить обратное преобразование Фурье относительно выделенной переменной;

Laplace Transform(Преобразование Лапласа)— выполнить прямое преобразование Лапласа относительно выделенной переменной (результат — функция от переменной s),

Inverse Laplace Transform (Обратное преобразование Лапласа) — выполнить обратное преобразование Лапласа относительно выделенной переменной (результат — функция от переменнойt);

Z Transform (Z-преобразование) — выполнить прямое Z-преобразование выражения относительно выделенной переменной (результат — функция от переменной z);

Inverse Z Transform (Обратное Z-преобразование) — выполнить обратное Z-преобразование относительно выделенной переменной (результат — функция от переменной n).

На рисунке по строкам показано применение, стоответственно, преобразования фурье, Лапласа и Z-преобразования , а по столбцам — исходная функция, ее интегральное преобразование и обратное преобразование (выражения, стоящего во втором столбце).
Стиль эволюции.

В меню Symbolics находится команда Evaluation Style. , при исполнении которой на экран выводится диалоговое окно, позволяющее установить вид вывода результатов при работе с символьным процнссором MathCAD.

В группе переключателей Show envaluation steps (Стиль эволюции) — можно задать вывод результата символьной операции под основным выражением (со вставкой между исходным выражением и результатом пустой строки и без нее) или рядом с ним. Кроме того можно установить опции Show Comments для вставки комментариев и задать вывод результирующего выражения вместо исходного Evaluate in Place.

4.3 Палитра символьных преобразований SmartMath.

  • Назначение системы SmartMath.
  • Операторы символьного вывода.
  • Состав директив системы SmartMath и их применение.

Начиная с версии 4.0 система MathCAD обзавелась новым средством оптимизации вычислений — SmartMath. Это фактически экспертная система, ускоряющая вычисления в тех случаях, когда это возможно. При запущенной системе SmartMath процессор численных операций, приступая к вычислению формульного блока, запрашивает символьный процессор о том, может ли тот произвести упрощение или иное преобразование исходной формулы. Если это возможно, то вычисления производятся уже по упрощенной формуле.

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

GeekBrains

Система SmartMath в сущности является частью программных средств MathCAD, реализующих линейные программы символьных вычислений.

Операторы символьного вывода.

Вначале для визуализации результатов символьных преобразований был введен специальный символ — удлиненная горизонтальная стрелка —>. Ее можно вызвать нажатием клавиш Ctrl+.(точка) или вызовом из палитр математических символов (для ввода отношений и символьных операций). Шаблон этого знака имеет вид , где на месте черного прямоугольника вводится подвергаемое символьному преобразованию исходное выражение.

Указанный символ можно рассматривать как простой оператор символьного вывода. Если задать исходное выражение и вывести курсор из формульного блока с ним, то система помещает результат его символьных преобразований после стрелки (оператора символьного вывода). Это и есть первый этап работы с системой SmartMath.

В версию системы MathCAD 7.0 PRO введен еще один оператор — расширенный оператор символьного вывода. Он задается нажатием клавиш Ctrl+Shift+. (точка) или выбором из палитры символьных операций. Этот оператор имеет вид . В первый шаблон-прямоугольник вводится исходное выражение, а во второй — директивы символьных преобразований. Задаются эти директивы или вводом соответствующих ключевых слов, или из палитры символьных операций.

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

Состав директив системы SmartMath и их применение.

При вводе стрелки —> после выражения фактически (по умолчанию) над ним исполняется операция Simplify (Упростить). Но что подразумевается под этим, ясно далеко не всегда, даже несмотря на то, что многие символьные операции система выполняет вполне очевидно, например вычисление интеграла или производной в символьном виде.

При необходимости выполняемую операцию можно изменить с помощью ряда ключевых слов, помещенных на панели Symbolic, которая вызывается кнопкой с панели инструментов Math.
Команды панели Symbolic (символы)
Команда Функция Пример
Символьное вычисление
Символьное вычисление с ключевым словом
Modifier Дополнительные модификаторы assume — вводное слово для приведенных далее определений; real — для var=real означает вещественное значение var; RealRange — для var=RealRange(a,b) означает принадлежность вещественной var к интервалу [а,b]; trig — задает направление тригонометрических преобразований.
float Численное вычисление
complex Комплексное вычисление
assume Символьное вычисление с некоторыми предположениями
solve Решение уравнения (системы уравнений) относительно переменной (переменных)
simplify Упрощение выражений
substitute Замена переменной
factor Разложение на множители
expand Перемножение степеней и произведений
coeffs Определение коэффициентов полинома
collect Группировка слагаемых по степеням переменной
series Разложение в ряд Тейлора или Лорана
parfac Разложение на элементарные дроби
fourier Преобразование Фурье
invfourier Обратное преобразование Фурье
lарlасе Преобразование Лапласа
invlaplace Обратное преобразование Лапласа
ztrans Z-преобразование
invztrans Обратное Z-преобразование
M T Транспонирование матрицы
M -1 Нахождение обратной матрицы
|M| Нахождение определителя матрицы

Ключевые слова допустимо набирать только строчными буквами (кроме Modifier — первая буква в этом слове должна быть прописной).

Блоки системы SmartMath имеют следующие отличительные свойства:

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

Как нетрудно заметить, директива упрощения simplify не имеет параметров. Директива разложения в ряд Тейлора series требует указания двух параметров: задания начального значения переменной х и указания числа членов ряда. Директивы преобразования Лапласа laplace и решения уравнений solve требуют одного параметра — указания имени переменной (в нашем случаех). С помощью директивы solve можно решать и системы уравнений — тогда ее параметр будет вектором неизвестных.

Выполнение матричных операций в символьной форме особой специфики не имеет.

Оптимизация.

Оптимизация вычислений достигается заменой сложной функции или математиского выражения их аналитическим представлением (если оно, конечно, есть). Для включения процесса оптимизации необходимо выделить выражение, которое хотелось бы оптимизоровать, и выполнить команду Optimize позиции главного меню Math.

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

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

Лекция 5.
Решение уравнений и систем.

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

Общие условия выбора системы дренажа: Система дренажа выбирается в зависимости от характера защищаемого.

Папиллярные узоры пальцев рук — маркер спортивных способностей: дерматоглифические признаки формируются на 3-5 месяце беременности, не изменяются в течение жизни.

Опора деревянной одностоечной и способы укрепление угловых опор: Опоры ВЛ — конструкции, предназначен­ные для поддерживания проводов на необходимой высоте над землей, водой.

Способы символьных вычислений MathCAD

Символьные вычисления в Mathcad можно осуществлять в двух различных вариантах:

  • с помощью команд меню;
  • с помощью оператора символьного вывода -», ключевых слов символьного процессора и обычных формул (в справочной системе Mathcad этот способ называется символьными вычислениями в реальном времени — live symbolic evaluation).

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

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

Для символьных вычислений при помощи команд предназначено главное меню Symbolics (Символика), объединяющее математические операции, которые Mathcad умеет выполнять аналитически (рис. 5.1). Для реализации второго способа применяются все средства Mathcad, пригодные для численных вычислений (например, панели Calculator, Evaluation и т. д.), и специальная математическая панель инструментов, которую можно вызвать на экран нажатием кнопки Symbolic Keyword Toolbar (Панель символики) на панели Math. На панели Symbolic (Символические) находятся кнопки, соответствующие специфическим командам символьных преобразований (рис 5.2) Например, таким, как разложение выражения на множители, расчет преобразования Лапласа и другим операциям, которые в Mathcad нельзя проводить численно и для которых, соответственно, не предусмотрены встроенные функции.

Рис. 5.1. Меню Symbolics

Рис. 5.2. Панель Symbolic

Рассмотрим оба типа символьных вычислений на простом примере разложения на сомножители выражения sin (2х)

Первый способ (с помощью меню).

  • Введите выражение sin (2х).
  • Выделите его целиком (см. рис. 5.1).
  • Выберите в главном меню пункты Symbolics / Expand (Символика / Разложить).

После этого результат разложения выражения появится чуть ниже в виде еще одной строки (рис. 5.3).

Рис. 5.3. Результат применения команды меню Symbolics / Expand

Символьные операции с помощью меню возможны лишь над каким-либо объектом (выражением, его частью или отдельной переменной) Для того чтобы правильно осуществить желаемое аналитическое преобразование, предварительно необходимо выделить тот объект, к которому оно будет относиться В данном случае преобразование было применено ко всему выражению sin (2х) Если же выделить часть формулы, как показано на рис 5.4, то соответствующее преобразование будет отнесено к выделенной части (нижняя строка на этом рисунке).

Рис. 5.4. Символьное разложение части выражения и его результат

Второй способ символьных преобразований (с помощью оператора ->).

  • Введите выражение sin (2-х).
  • Нажмите кнопку Expand (Разложить) на панели Symbolic.

Рис. 5.5. Символьное разложение выражения

  • Введите в местозаполнитель после появившегося ключевого слова expand (рис. 5.5, сверху) имя переменной х либо нажмите клавишу <Del>, чтобы просто удалить местозаполнитель.
  • Введите оператор символьного вывода ->.
  • Нажмите клавишу <Enter> либо просто щелкните мышью за пределами выражения.

Оператор символьного вывода, как Вы помните, можно ввести в редакторе Mathcad несколькими способами: нажатием кнопки -> на любой из панелей Evaluation (Выражения) или Symbolic (Символика) либо сочетанием клавиш <Ctrl>+<>. Результат символьного разложения выражения показан на рис 5.5, внизу.

Если символьные вычисления осуществляются вторым способом, символьный процессор учитывает все формулы, предварительно введенные в документе (рис. 5.6, внизу). Но если те же преобразования выполняются при помощи меню, символьный процессор "не видит" ничего, кроме одной формулы, и воспринимает все ее переменные аналитически, даже если им предварительно были присвоены какие-то значения (рис. 5.6, сверху). По этой причине, например, символьным преобразованиям через меню недоступны предварительные определения функций пользователя.

Если Вы можете выбрать способ символьных вычислений, рекомендуем второй путь — с помощью оператора ->, поскольку при этом в документе сохраняются действия пользователя. Наличие специального меню символьных вычислений — своего рода дань прежним версиям Mathcad. В них аналитические преобразования были встроены не так гармонично и были доступны, главным образом, через меню.

Не всякое выражение поддается аналитическим преобразованиям. Если это так (либо в силу того, что задача вовсе не имеет аналитического решения, либо она оказывается слишком сложной для символьного процессора Mathcad), то в качестве результата выводится само выражение (листинг 5.1. внизу).

Листинг 5.1. Символьные преобразования

Рис. 5.6. Различие в символьных вычислениях при помощи меню (сверху) и оператора -> (снизу)

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

Дело в том, что в его постановке и выводах произведена подмена, аналогичная подмене в школьной шуточной задачке на сообразительность, в которой спрашивается:
— Cколько яблок на березе, если на одной ветке их 5, на другой ветке — 10 и так далее
При этом внимание учеников намеренно отвлекается от того основополагающего факта, что на березе яблоки не растут, в принципе.

В эксперименте Майкельсона ставится вопрос о движении эфира относительно покоящегося в лабораторной системе интерферометра. Однако, если мы ищем эфир, как базовую материю, из которой состоит всё вещество интерферометра, лаборатории, да и Земли в целом, то, естественно, эфир тоже будет неподвижен, так как земное вещество есть всего навсего определенным образом структурированный эфир, и никак не может двигаться относительно самого себя.

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

Дополнительные возможности символьного процессора.

1. С помощью символьного процессора можно рассчитать численное значение выражения (действительное или комплексное). Иногда такой путь считается более удобным, чем применение численного процессора.

Вычисления по команде complex позволяют представить выражение в виде a+jb. Вышеприведенные действия можно осуществить и с помощью соответствующих команд из меню Symbolic.

2. Последовательности символьных команд.

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

3. Решение неравенств в символьной форме

4. Решение систем уравнений в символьной форме

1. Что такое символьные вычисления? Какие способы символьных вычислений имеются в системе MathCAD? В чем преимущество вычислений с помощью оператора символьного равенства перед вычислениями с помощью меню Symbolic?

2. Какой оператор осуществляет численные вычисления? И какой — символьные вычисления?

3. Какие алгебраические символьные вычисления может делать система MathCAD? Можно ли вычислить сумму или произведение ряда с помощью оператора численного вычисления, если верхний предел равен ?

4. Какие матричные операции можно осуществить символьно?

5. Какие операторы предусмотрены для вычисления пределов в MathCADе? Можно ли вычислить предел численно?

6. Как осуществляется вычисление предела последовательности? Функции в точке, когда функция непрерывна, и в точках разрыва? Как можно обойти на графике особые точки функции (типа 0/0)?

7. Назовите три способа символьного дифференцирования. Приведите пример. Как можно определить производную в точке? Влияют ли константы TOL и CTOL на точность численного дифференцирования? Как можно определить производную вблизи точки разрыва?

8. Как вычисляются в MathCADе производные высших порядков и частные производные? Производные только каких порядков можно вычислить численно и почему?

9. Что такое численное интегрирование в MathCADе и как оно осуществляется? С помощью какой встроенной переменной можно контролировать точность численного интегрирования? От чего еще зависит точность численного интегрирования?

10. Назовите три способа символьного вычисления неопределенного интеграла в системе MathCAD. Приведите пример. Как осуществляется вычисление определенного интеграла с помощью оператора символьного равенства?

11. Как вычисляются интегралы с параметром, расходящиеся интегралы, кратные интегралы?

12. Как можно с помощью символьного процессора рассчитать численное значение выражения (вещественное или комплексное)?

13. Как создаются последовательности символьных команд? Приведите примеры.

14. Как решаются в MathCADе уравнения, неравенства и системы уравнений в символьной форме?

GeekBrains

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *