logo search
Алексеев информатика

8.2.2. Компьютерная алгебра

Часто в наших уравнениях

верен только знак равенства.

С. Лец

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

Символьные функции системы Mathcad были заимствованы из пакета Maple V, который разработан фирмой Waterloo Maple Software.

Рассмотрим, как производятся тождественные преобразования. Для примера приведем многочлен к стандартному виду. Если набрать выражение

затем в Главном меню выбрать пункт Symbolics (Символы), далее подпункт Evaluate (Расчеты), а затем – опцию Symbolically (Символические), то в результате выполненных машиной упрощений на экране появится выражение

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

После нажатия клавиши Enter или щелчка левой кнопкой мыши за пределами выражения получится вышеприведенный результат.

Третий способ получения результата базируется на использовании кнопки , находящейся в палитре «Символьные операции».

Математическая система позволяет получать формулы сокращенного умножения. Например, если нужно развернуть выражение (возвести двучлен в натуральную степень)

то его следует активизировать, создав снизу справа от выражения синий уголок

а затем в пункте Symbolics (Символы) выбрать опцию Expand (Расширить). В результате на экране появится следующее выражение:

Если требуется свернуть выражение вида

то его следует активизировать, а затем через пункт Symbolics (Символы) выполнить опцию Factor (Фактор). В результате на экране появится выражение:

Последним способом можно вынести множитель за скобку. Например, дано выражение

После использования опции Factor получим:

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

После стандартного выделения выражения (образование синего уголка) и запуска опции Factor (Фактор) получим

Mathcad позволяет упростить выражение, например, сократить дробь, разделив числитель и знаменатель дроби на общий множитель. В качестве примера возьмем выражение:

Выбрав опцию Simplify (Упростить) в пункте Главного меню Symbolics (Символы), получим

Рассмотрим еще один пример упрощения выражения (опция Simplify):

Результат этого преобразования равен 2/3.

Система позволяет выполнять решение уравнений в символьном виде. Например, если набрать выражение

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

Система позволяет найти производную в символьном виде. Вначале нужно курсором указать (т. е. выделить) переменную дифференцирования:

Затем в пункте Главного меню Symbolics (Символы) выбрать опцию Variable (Переменные), а в появившемся субменю – опцию Differentiate (Дифференцирование). В результате получим

При дифференцировании система рассматривает все символы выражения как константы, за исключением выделенной переменной.

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

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

Рассмотрим, каким образом можно найти первообразную в символьном виде. Пусть дано выражение, которое нужно проинтегрировать:

Укажем курсором переменную интегрирования (в данном случае это х).

В пункте Symbolics (Символы) выберем подпункт Variable (Переменные), а затем опцию Integrate (Интегрирование). В результате будет получено

Рассмотрим порядок вычисления неопределенного интеграла, используя привычную запись символов. Выберем такой вид интеграла:

Выделим интеграл синим уголком. Нажав аккорд клавиш Shift + F9 (это еще один способ запуска программы на счет), получим

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

Система дает возможность находить значения определенных интегралов как в символьном, так и в числовом виде. Например:

или

Символьный процессор позволяет производить разложение в ряд Маклорена. Выполним разложение функции, указав курсором аргумент:

Разложение выполняется с помощью опции Expand to Series. (Разложить на составляющие). Приведем полученный результат:

Последнее слагаемое характеризует ошибку разложения в ряд.

Рассмотрим порядок вычисления пределов.

Чтобы вызвать оператор предела, нужно нажать одновременно клавиши Ctrl+L или воспользоваться соответствующей палитрой. Затем ввести выражение в поле ввода, находящееся справа от оператора lim. После этого ввести переменную, по которой вычисляется предел, в левое поле ввода ниже оператора lim. Наконец, в оставшееся поле ввести значение предела. Полученное выражение охватить уголком и нажать аккорд клавиш Shift + F9. Возьмем конкретный пример:

Результат вычислений равен 1.

Рассмотренные выше примеры можно запустить на счет не только с помощью Главного меню (пункт Symbolics), но и с помощью показанной ниже палитры, в которой содержатся уже знакомые опции: expand, solve, simplify, series, factor и др.

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

Так, нахождение первообразных для интегралов, приведенных в справочнике по интегралам Двайта [72], в 50– 60% случаев дает такие же результаты, как в упомянутой книге. В остальных случаях результаты не столь компактны, как в справочнике, а порой ЭВМ совсем не справляется с поиском первообразной.

Приведем два интеграла, с которыми система не справилась (не смогла найти первообразную):

Приведем еще один пример, который показывает, что пока еще есть простор для совершенствования символьного процессора:

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