Аналитические преобразования выполняются для получения выражений, тождественных заданным с помощью символьного процессора. При таком преобразовании можно явно видеть связи между переменными; аналитические выражения не содержат числовых результатов и связанных с ними различных проблем (неустойчивость решения, ошибки округления и др.). Однако результаты преобразования могут оказаться более сложными, чем исходные, поэтому пользователь должен сам принять решение, с какой аналитической моделью он будет работать далее.
Аналитические преобразования можно задать двумя способами:
— с помощью символьного знака равенства, являющегося оператором и выполняющим преобразования аналогично численным расчетам;
— с помощью меню команд, которые имеют большую степень контроля над символьными преобразованиями и результатами.
7.1. Использование символьного знака равенства
Символьный знак равенства является оператором MathCAD и в отличие от обычного знака равенства, возвращает не число, а выражение. Символьные преобразования выполняются в следующей последовательности:
— в математическую область вводится аналитическое выражение для преобразования;
— ставится символьный знак равенства (Ctrl+точка), изображаемый стрелкой вправо;
— вводится Enter.
По умолчанию, символьный знак равенства вернет то же самое выражение, что и команда Symbolics/Evaluate/Symbolically. Однако изменить ход символьных преобразований можно с помощью ключевых слов, которые можно записывать в поля ввода символьного знака равенства, вызванного другим способом (Ctrl+Shift+точка). Шаблоны ключевых слов с символьными знаками равенства задаются с помощью палитры, представленной на рис. 7.1. Ключевые слова чувствительны к регистру, но не чувствительны к шрифту. Символьный знак равенства используется, как правило, совместно со следующими ключевыми словами:
— float – предписывает MathCAD выполнять символьные преобразования с числами в форме с плавающей точкой. В шаблоне имеется два знакоместа: в первое записывается выражение для преобразования, во второе — число выводимых значащих цифр численных результатов. Например:
-
complex – предписывает MathCAD выполнять символьные преобразования с комплексными переменными. Шаблон имеет одно знакоместо для записи преобразуемого выражения и ключевое слово. Например:
— expand – разлагает все степени и произведения сумм в выражении. В шаблоне имеется два знакоместа: в первое записывается выражение для преобразования, во второе — переменная или слагаемое, по которому выполняется разложение. Например:
- solve – используется при решении уравнения или системы уравнений символически. Шаблон как и у ключевого слова expand.
Пример 7.1. Найдем точки пересечения окружности и прямой (рис. 7.2) аналитически, используя ключевое слово solve.
Для решения уравнения в математической зоне печатается уравнение окружности (знак равенства печатается с помощью клавиш “Ctrl+=”). Уравнение выделяется и добавляется знакоместо и символьный знак равенства (с помощью клавиш “Ctrl+Shift+.”). В знакоместо записывается ключевое слово solve и запятая. В новом знакоместе записывается имя переменной, относительно которой нужно разрешить уравнение и нажимается Enter.
Для аналитического решения системы уравнений выполняются те же действия, что и для одного уравнения, кроме того, что в знакоместа шаблона записываются вектора-столбцы с числом элементов, равных числу уравнений системы. В первый вектор-столбец записываются уравнения, во второй – искомые переменные;
- simplify – упрощает выражение, выполняя арифметические преобразования, сокращая общие множители, используя основные тождества тригонометрических функций. Шаблон имеет знакоместо для записи преобразуемого выражения и ключевое слово. Примеры:
- substitute – заменяет одно подвыражение (var1) на другое (var2). Шаблон имеет три знакоместа. В первое заносится выражение для преобразования, второе и третье связаны знаком равенства, куда записывается var1=var2. Целесообразно использовать совместно с ключевым словом symplify. Например:
— collect – упрощает выражение, представляя его в виде полинома относительно указанной переменной. Шаблон как и у ключевого слова expand. Например:
— series – разлагает выражение от одной или нескольких переменных в окрестности определенной точки (по умолчанию разложение имеет вид полинома шестой степени). Шаблон имеет три знакоместа: в первое знакоместо, стоящее слева ключевого слова, записывается выражение для преобразования, второе и третье, записанные справа ключевого слова и соединенные знаком равенства, содержат описание переменной и ее значение, определяющее точку, в окрестности которой нужно выполнить разложение. Например:
Заданы две функции f(x)=exp(x) и y(x)=sin(x).
Функция f(x) вблизи точки x=1 разложена в ряд с числом компонентов до второй степени. Для того, чтобы отобразить коэффициенты ряда в числах с плавающей запятой, использовано разложение для ряда до третьей степени и ключевым словом float с числом значащих цифр, равным 5. Функция y(x) вблизи точки х=0 разложена в ряд Тейлора до шестой степени с числами, имеющими пять значащих цифр.
- assume – предписывает MathCAD рассматривать переменную, которая следует за этим ключевым словом, описанную определенным образом. Если требуется упростить выражение, имеющее переменную действительного типа, можно использовать simplify с ключевым словом assume = real (нажмите кнопку Modifies/real, см. рис. 7.1). Может также использоваться для определения ограничений переменных при вычислении выражений (если переменная ограничена интервалом [a,b], то нужно записать assume = RealRange(a,b). В этом случае используется кнопка Modifies/RealRange). При упрощении тригонометрических выражений может использоваться кнопка Modifies/trig. Шаблон имеет формат, аналогичный формату ключевого слова expand.
Например:
- parfrac – пытается развернуть рациональное выражение в виде дроби в сумму дробей с линейными или квадратичными знаменателями. Если попытка является неуспешной, то возвращается исходное выражение. Разложение не выполняется при наличии в выражении десятичных дробей. В версии MathCAD 2000 записывается в виде convert,parfrac. В примерах ключевое слово parfrac использовано с другими:
- coeffs – используется для отыскания коэффициентов полинома относительно выделенной переменной. Коэффициенты записываются в виде вектора. Шаблон имеет формат, аналогичный формату ключевого слова expand. Например:
- factor – разлагает выражение на множители, если выражение может быть представлено в виде произведения сомножителей. Шаблон аналогичен шаблону expand. Например:
- специальные преобразования функций (преобразования Фурье (fourier — invfourier), Лапласа (laplace — invlaplace), Z-преобразования (ztrans — invztrans). Шаблоны специальных функций аналогичны шаблону expand. Например:
-
матричные символьные преобразования, такие как транспонирование, возведение в степень, вычисление определителей и т.д. Например:
- Modifies – вызывает шаблоны дополнительных ключевых слов, используемых в аналитических преобразованиях.
MathCAD разрешает использовать несколько ключевых слов одновременно. Если вызвать шаблон символьного преобразования и в нем установить курсор на знакоместе, то при нажатии Ctrl+Shift+точка можно получить знакоместо для нового ключевого слова.
7.2. Использование меню Symbolics
Символьный знак равенства удобен в использовании, однако набор ключевых слов ограничен. Команды из меню Symbolics обеспечивают большую гибкость символьных преобразований, чем символьный знак равенства. Имеется важное различие между символьными преобразованиями, выполненными символьным знаком равенства и меню Symbolics. Результаты с символьным знаком равенства вычисляются каждый раз заново при внесении изменений в рабочий документ, результаты меню Symbolics автоматически модифицироваться не будут.
Меню Symbolics описано в лекции 1 (см. раздел 1.7). Поэтому ниже приведены примеры использования команд меню Symbolics.
Выражение: |
Преобразуется в: |
Symbolics/Evaluate/Floating Point (выражение выделяется): |
|
Symbolics/Evaluate/Сomplex (выражение выделяется):
Symbolics/Simplify (выражение выделяется):
Symbolics/Expand (выражение выделяется):
Symbolics/Factor (выражение выделяется):
Symbolics/Сollect (подвыражение выделяется):
Symbolics/Polynomial Coefficients (подвыражение выделяется):
Symbolics/Variable/Solve (выделяется переменная, относительно которой решается уравнение):
Symbolics/Variable/Substitute (выделяется переменная, которая будет заменена содержимым буфера обмена):
Symbolics/Variable/Differentiate (выделяется переменная, по которой диффер-енцируется выражение):
Symbolics/Variable/Integrate (выделяется переменная, по которой интегрируется выражение):
Symbolics/Variable/Expand to Seties (выделяется переменная, по которой
выражение разлагается в ряд Тейлора):
Symbolics/Variable/Convert to Partial Fraction (выделяется переменная, по которой линейно или квадратично формируется дробь):
Symbolics/Matrix/Transpose (выделяется матрица, подлежащая символьному обращению):
Symbolics/Matrix/Invert (выделяется матрица, подлежащая
символьному обращению):
Symbolics/Matrix/Determinant (выделяется матрица, подлежащая
для символьного определения определителя):
Symbolics/Transform/Fourier (выделяется переменная, по которой выполняется преобразование):
Symbolics/Transform/Inverse Fourier (выделяется переменная, по которой выполняется обратное преобразование):
Symbolics/Transform/Laplace (выделяется переменная, по которой выполняется преобразование):
Symbolics/Transform/Inverse Laplace (выделяется переменная, по которой выполняется обратное преобразование):
Symbolics/Transform/Z (выделяется переменная, по которой выполняется преобразование) и Symbolics/Transform/Inverse Z (выделяется переменная, по которой выполняется обратное преобразование):