какой функционал присутствующий сегодня в компютерах на уровне ассемблера представлял фортран во время его введения в использова |
Системы компьютерной математики (СКМ)
12.4.Символьные расчеты в СКМ
Символьные расчеты выполняются во встроенном символьном процессоре путем вызова нужного оператора с панели инструментов Symbolic (либо при помощи главного меню).
Запуск на выполнение символьных действий выполняется при помощи оператора вывода и нажатия клавиши Enter. Результат получается, соответственно, в символьной форме.
Примеры простых символьных расчетов:
Результат здесь получился в таком же виде, как если бы мы выполняли действия вручную – с корнями, или в виде обыкновенной дроби. При выполнении численных расчетов (оператор = на панели "Calculator") результат будет таким:
Вводим теперь классическое соотношение:
и с удивлением обнаруживаем, что ничего не получилось. А, собственно, чего еще можно было ожидать, даже не задав СКМ своих требований. Для этого используются специальные операторы с панели Symbolic. С их помощью и выполняются все упрощения математических выражений и алгебраические преобразования. Наиболее универсальный из этих операторов – simplify (упростить).
Интересно сравнить результаты решения одного и того же, например, квадратного уравнения в символьной форме:
и в численном виде:
Во втором случае полином задается вектором коэффициентов , а функция вычисляет его корни.
Покажем, как выполняются алгебраические преобразования при упрощении математических выражений с помощью других операторов палитры Symbolic (напомним: они вызываются однократным кликом после набора исходного выражения).
Первый пример: оператор expend (разложить), выполняющий перемножение и представляющий результат в виде многочлена. Выполним пример в пошаговом режиме.
- Ввести исходное выражение (его можно скопировать как фрагмент из другого выражения).
-
На палитре Symbolic "кликнуть" на слове expend (разложить) и нажать клавишу Enter.
Выполнилось разложение исходного выражения путем перемножения в числителе и знаменателе. Очень эффектно оператор expend работает в качестве справочного инструмента как показано ниже.
Другой пример
При помощи оператора factor выполняется разложение на множители, например:
А вот как можно проверить, является ли число 199995 простым, – выполняем:
убеждаемся, что это число непростое, поскольку в его разложении нашлись четыре простых множителя. А вот так можно привести выражение к общему знаменателю:
Оператор collect, наоборот, выносит за скобку общий множитель (через запятую нужно обязательно указать его вид):
Однако, несмотря на кажущуюся простоту, это действие (вынесение множителя) является очень сложной интеллектуальной задачей, поэтому оператор collect работает нечетко, требует подсказки – что нужно выносить, и используется достаточно редко.
А вот оператор разложения на элементарные дроби parfrac и работает отлично, и используется широко; особенно он полезен при интегрировании рациональной функции.
Теперь проинтегрировать правую часть не составит труда, если вспомнить, что первообразной для () является .
Часто при решении математических задач возникает необходимость замены переменной в формуле на заданное выражение. Запишем, например, такую формулу:
, где
вызовем оператор substitute (заместить) c панели Symbolic
и в правый маркер (черный квадратик) поместим такую запись, задающую подстановку:
Как видно, программа не только выполнила требуемую подстановку, но и упростила выражение.
К подстановкам часто приходится прибегать при работе с MathCad и вот почему. Эффективность, например, решения уравнений или действие оператора разложения expend резко повышается, если исходная формула не содержит радикалов (корней).
MathCad постоянно совершенствуется – два классических примера бессилия MathCad 12 [3 ]:
Часто на практике требуется выполнить одновременно несколько последовательных преобразований формулы с целью ее упрощения. Для этого служит оператор simplify ("упростить"). Можно сказать, что с его помощью выполняется, в некотором смысле, комплексное упрощение. Оттого он и наиболее востребован.
Например:
Вычисление пределов в среде MathCad отработано надежно и фундаментально, поскольку пределы – основа математического анализа. Про первый замечательный можно даже и не говорить – идеально. Равно как и второй.
С правилом Лопиталя СКМ справляется без проблем:
И переходить к пределу логарифма с последующим потенцированием среда MathCad тоже умеет:
Могут быть вычислены и односторонние пределы. В следующем хрестоматийном [1] примере предел функции:
в точке не существует,
тогда как односторонние могут быть определены. Что с успехом и выполняет MathCad .
Рассмотрим несколько изящных примеров, показывающих возможности вычисления пределов и одновременно красиво демонстрирующих основы математического анализа – нахождение производной классическим способом как предела отношения приращения функции к приращению аргумента при неограниченном уменьшении последнего. Получим известную формулу для