Первый этап – компьютер, оправдывая свое название (в переводе с англ. "вычислитель"), работал как мощный программируемый калькулятор, способный быстро и автоматически (по веденной программе) выполнять сложные и громоздкие арифметические и логические операции над числами.
Успехи вычислительной математики и постоянно совершенствующиеся численные методы позволяют решить таким способом любую математическую задачу применительно к любой отрасли знаний. Важно отметить, что результат вычислений при этом представляется одним конечным числом в арифметическом виде, то есть при помощи десятичных цифр. Иногда результат представляется множеством (массивом, матрицей) таких чисел, но существо представления от этого не меняется – результат в виде конечного десятичного арифметического числа.
Однако такой результат часто не удовлетворял профессиональных математиков, и вот почему. Подавляющее большинство результатов нетривиальных математических вычислений в классической математике традиционно записывается в символьной форме: с использованием специальных общеизвестных чисел: $$\pi$$, $$e$$, $$С$$, а иррациональные значения – с помощью радикала. Считается, что в противном случае имеет место принципиальная потеря точности.
Другой классический пример, вызывающий замечание математика – выражение, знакомое любому школьнику:
$$sin^2(x) + cos^2(x)$$
всегда равное единице; а в компьютере либо будет предпринята попытка вычислить это выражение (с неизбежными ошибками округления), либо будет выдано сообщение о неопределенности аргумента Х и всякие дальнейшие действия будут прекращены.
На этом первый этап завершился...
Естественно, вслед за стремительным совершенствованием компьютерных систем человеку в компьютерных расчетах захотелось большего: почему бы не заставить компьютер выполнять преобразования традиционными для математики способами (дробно-рациональные преобразования, подстановки, упрощения, решение уравнений, дифференцирование и т.п.).
Их принято называть преобразованиями в символьном виде или аналитическими преобразованиями, а результат получать не как раньше – в виде одного числа, а в виде формулы.
К этому моменту практически все области человеческой деятельности оказались охваченными каждая своим собственным математическим аппаратом и обзавелись собственными пакетами прикладного программного обеспечения (ППО). При этом всем понадобился универсальный математический инструмент, ориентированный на широкий круг пользователей, которые не являются ни профессионалами в математике, ни программистами, воспитанными на узкоспециальных, малопонятных большинству конечных пользователей компьютерных языках.
Это привело к созданию компьютерных систем символьной математики, рассчитанных на широкие круги пользователей – непрофессионалов в математике. Так началась с середины 60-х годов ХХ века эра систем компьютерной математики (СКМ), по-английски
В конце 60-х годов в России на отечественных ЭВМ серии "Мир", разработанных под руководством академика В. Глушкова, была реализована СКМ на языке программирования "Аналитик", обладающая всеми возможностями символьных вычислений, впрочем, с весьма скромными, по нынешним понятиям, характеристиками.
Конечно, даже самые простые неинтеллектуальные компьютерные математические справочники представляют большой практический интерес – ведь ни один самый способный человек не в состоянии вместить в своей голове все математические законы и правила, созданные за многовековую историю человечества.
Данные об особенностях существующих СКМ приведены в табл. 12.1.
| Система | Назначение и возможности | Недостатки |
|---|---|---|
| Система универсального назначения в основном для непрофессиональных математиков и целей образования всех ступеней. Продуманный интерфейс представления данных в традиционной математической форме и изумительная графика на всех этапах работы, включая ввод. Ввод с помощью выбора из панелей инструментов или из меню практически без использования клавиатуры. Мощный и исчерпывающий набор операторов и функций. Множество примеров, электронных книг и библиотек, готовых решений практических задач. Ядро символьных вычислений импортировано из СКМ | Достаточно примитивные средства программирования. Дороговизна электронных книг и библиотек, отсутствие русифицированных версий самого пакета и дополнительных библиотек (книг). Затруднена | |
| Университетское высшее образование и научные расчеты. Мощное ядро символьных вычислений – возможности аналогичны СКМ | Повышенные требования к аппаратным ресурсам. Отсутствие синтеза звуков. Ориентация на опытных пользователей и специалистов по математике. Все недостатки аналитических действий аналогичны СКМ | |
| Mathematica 5/7 | Высшее образование и научные расчеты. Наиболее развитая система символьной математики. Единственная СКМ, обеспечивающая символьное решение дифференциальных уравнений. Совместимость с разными компьютерными платформами. Уникальная трехмерная графика. Поддержка синтеза звука. Развитые средства форматирования документов. Программный синтез звуков. | Высокие требования к аппаратным ресурсам. Чрезмерная защита от копирования. Слабая защита от некорректных задач. Ориентация на опытных пользователей. Ввод задач на уникальном языке функционального программирования. Непривычная индикация функций запуска вычислений. |
| MATLAB 7.* | Образование (в том числе техническое), научные расчеты, численное моделирование, и расчеты, ориентированные на применение матричных методов, при этом скаляр рассматривается как матрица 1х1. Уникальные матричные средства, обилие численных методов, описательная (дескрипторная) графика, высокая скорость вычислений, легкость адаптации к задачам пользователя благодаря множеству пакетов расширения системы. Развитый язык программирования с возможностями объектно-ориентированного программирования (ООП), совместимость с алгоритмическим языком Java | Очень высокие требования к аппаратным ресурсам. Практически отсутствует возможность символьных вычислений. Относительно высокая стоимость. Ввод задач на уникальном языке программирования |
Рассмотрим внутреннюю архитектуру СКМ на примере наиболее мощной, по мнению ряда авторитетных специалистов [6], СКМ Mathematica, обладающей наиболее развитой системой символьной математики. На рис.12.1 представлена ее программная архитектура.
(рис 12.1) Архитектура обобщенной СКМ
Центральная часть – ядро (Kernel) системы СКМ реализует алгоритм функционирования СКМ, обеспечивает совместное функционирование всех ее частей, организует прием и интеллектуальную обработку запроса пользователя, а затем – вызов нужной процедуры решения. В ядре помещается большое количество встроенных функций и операторов системы. Их количество в современных СКМ может достигать многих тысяч. Например, ядро системы Mathematica 4 содержит данные более чем 5000 одних только интегралов, хотя для интегрирования используются только несколько встроенных функций.
Поиск и выполнение функций и процедур, встроенных в ядро СКМ, выполняется быстро, если их там не слишком много. Поэтому объем ядра ограничивают, но к нему добавляют встроенные в СКМ библиотеки процедур и функций, использующихся относительно редко. При этом общее число доступных пользователю математических функций ядра и этих встроенных библиотек достигает многих тысяч.
Кардинальное расширение возможностей СКМ и их приспособленность к нуждам конкретных пользователей для углубленного решения определенного круга задач (например, задач теоретической и прикладной статистики, векторного анализа) достигается за счет установки внешних пакетов расширения. Эти пакеты, приобретаемые отдельно, делают возможности СКМ практически безграничными.
Все эти библиотеки, пакеты расширений и справочная система современных СКМ (назовем их инструментами СКМ) содержат не только и не просто знания в области математики, накопленные за много веков ее развития (этим никого не удивишь: именно такие возможности характерны для широко распространенного класса ИПО – информационно-поисковых систем). Но восхищает, что эти инструменты удивительным образом автоматически и творчески используют такие знания для решения задач, где нужно выбрать и уметь применить один, единственный из многих десятков, неочевидный метод решения. Например, СКМ могут мгновенно найти
Благодаря всем этим возможностям СКМ могут быть отнесены к программным продуктам самого высокого на сегодняшний день уровня – интеллектуального. Такие программы в настоящее время объединяются термином "базы знаний". Современные СКМ, по мнению признанных авторитетов [6, 7], предоставляет неискушенному пользователю возможности выпускника математического вуза в областях численных методов расчета, математического анализа, теории матриц и других общих разделах высшей математики, позволяющих получить конструктивные результаты.
Конечно, в абстрактных разделах математики, типа функционального анализа или вопросов "существования и единственности..." СКМ пока вряд ли могут быть полезны (кроме как для предоставления нужной справки, что очень даже немало), но в прикладных задачах, для которых СКМ и создавались, такие разделы математики обычно не задействованы.
Интегрированная Среда СКМ
По сей день они остаются единственными математическими системами, в которых описание решения математических задач дается с помощью привычных математических формул и знакомых символов. Такой же вид имеют и результаты вычислений. СКМ
Все действия в СКМ
На рис.12.2 приведена архитектура СКМ
Встроенные в среду
Библиотеки и пакеты расширений, ориентированные на решение различных прикладных задач, поставляются и устанавливаются разработчиком отдельно.
Мощный интерфейс СКМ
Интерфейс является визуальным – то есть практически любые действия в СКМ можно выполнять без помощи клавиатуры, просто выбирая нужные пункты меню или инструменты на панелях. В этом интерфейсе реализован принцип "WYSIWYG" – что видим на экране, то и получаем в работе и при выводе.
Интерфейс интеллектуален – конечно, здесь далеко до интеллекта Visual Studio-2010, но во многих случаях он не допустит ошибочных действий пользователя.
Упомянутый входной язык ввода является интерпретирующим, то есть промежуточные результаты появляются по мере ввода очередной формулы. Сама же СКМ
(рис 12.2) Архитектура СКМ MathCad
Объектами рабочего листа могут быть формульные текстовые или графические блоки. Действия над блоками выполняются в
Контент (содержание) этой СКМ можно рассматривать в качестве исключительно мощного справочного средства по математике. Кроме того, в СКМ
Перечислим основные возможности Среды
Составление программ и выполнение расчетов на упрощенном процедурном алгоритмическом языке с возможностью использования всех процедурных конструкций: условных операторов, циклов, массивов, модуль-функций, модуль-процедур.
Обработка данных и финансовые расчеты
Теория вероятностей и математическая статистика
Математическое моделирование
Специальные возможности по прикладным инженерным и научным расчетам
Главное меню и общие традиционные панели Windows: "Стандартная" и "Форматирование". Перечислим основные возможности среды
Все математические действия выполняются при помощи девяти палитр (панелей инструментов), вызываемых, в свою очередь, из панели Мath. Они-то и позволяют получить полный букет всевозможных операторов и команд среды
Эти девять панелей представлены на рис.12.3, а на рис.12.4 показано назначение этих панелей.
Интерфейс этих панелей отличается продуманностью и дружелюбием. Пока понадобятся только три: Сalculator, Сalculus, Symbolic – их и оставим, а остальные закроем. Панель Symbolic – основная панель инструментов для выполнения символьных вычислений. На рис.12.5 приводятся все ее элементы и их назначение.
(рис 12.3) Девять основных палитр панели Мath (Математика) среды MathCad
(рис 12.4) Назначение основных панелей среды MathCad
(рис 12.5) Панель инструментов Symbolic
Продемонстрируем простой пример — найдем сумму известного бесконечного ряда:
$$1-\frac{1}{3}+\frac{1}{5}-\frac{1}{7}+\frac{1}{9}-\frac{1}{11}+\frac{1}{13}-\frac{1}{15}+...$$
по формуле $$\sum_{n=1}^{\infty} \left[(-1)^{n-1}\cdot \left(\frac{1}{2\cdot n -1} \right) \right]$$
Для этого нужно последовательно: вызвать с панели
(везде далее математические записи приводятся в том виде, как они выглядят в документе
Ввести формулу $$\sum_{n=1}^{\infty} \left[(-1)^{n-1}\cdot \left(\frac{1}{2\cdot n -1} \right) \right]$$ при помощи панели Calculator
С панели Symbolic вызвать оператор символьных преобразований $$\to$$ и нажать клавишу Enter.
$$\sum_{n=1}^{\infty} \left[(-1)^{n-1}\cdot \left(\frac{1}{2\cdot n -1} \right) \right] \to \frac {\pi}{4}$$
Результат верный. А ведь мы не набрали ни строчки кода – все делали методом визуального программирования, выбирая нужное с панелей.
Теперь просуммируем такой гармонический ряд:
$$1+\frac{1}{2}+\frac{1}{3}+\frac{1}{4}+\frac{1}{5}+\frac{1}{6}+...+\frac{1}{n}+...$$
который, как известно, расходится, но если уменьшить его на самую малость – должен сойтись:
Повторим все манипуляции с панелью Symbolic и получим маловразумительный результат
$$\lim_{n\to\infty} \left[ \left(\sum_{i=1}^{n}\frac{1}{i}\right) - ln(n) \right] \to \gamma$$ float, 10 $$\to 0.5772156649$$
Теперь понятно: это – постоянная Эйлера (она же – третий
$$\gamma\ float, 250$$$$\to 0.577215664901532860606512090082402431042159335\\9399235988057672348848677267776646709369470632917\\4674951463144724980708248096050401448654283622417\\3997644923536253500333742937337737673942792595258\\2470949160087352039481656708532331517766115286211\\ 99501508.$$
К сожалению, в доступной автору литературе в полном виде эти данные не встречались, а попытки вычислить ее значение "в лоб", например, на С++ в формате данных double, дали только 64 значащие цифры, остальные 186 знаков – на совести разработчиков
Символьные расчеты выполняются во встроенном символьном процессоре путем вызова нужного оператора с панели инструментов Symbolic (либо при помощи главного меню).
Запуск на выполнение символьных действий выполняется при помощи оператора вывода $$\to$$ и нажатия клавиши Enter. Результат получается, соответственно, в символьной форме.
Примеры простых символьных расчетов:
$$\sqrt{27} \to 3\cdot \sqrt{3}$$ $$\frac{1}{2}+\frac{1}{3} \to \frac{5}{6}$$
Результат здесь получился в таком же виде, как если бы мы выполняли действия вручную – с корнями, или в виде обыкновенной дроби. При выполнении численных расчетов (оператор = на панели "Calculator") результат будет таким:
$$\sqrt{27} =5.196$$ $$\frac{1}{2}+\frac{1}{3} =0.833$$
Вводим теперь классическое соотношение:
$$sin(x)^2+cos(x)^2 \to cos(x)^2+sin(x)^2$$
и с удивлением обнаруживаем, что ничего не получилось. А, собственно, чего еще можно было ожидать, даже не задав СКМ своих требований. Для этого используются специальные операторы с панели Symbolic. С их помощью и выполняются все упрощения математических выражений и алгебраические преобразования. Наиболее универсальный из этих операторов –
$$sin(x)^2+cos(x)^2 simplify \to 1$$
Интересно сравнить результаты решения одного и того же, например, квадратного уравнения в символьной форме:
$$x^2-4x+1 solve $$\begin{pmatrix} \sqrt{3}+2\\ 2-\sqrt{3} \end{pmatrix}$$$$
и в численном виде:
$$z:=$$\begin{pmatrix} 1\\ -4\\ 1 \end{pmatrix}$$$$ $$polyroots (z)=$$\begin{pmatrix} 0.268\\ 3.732 \end{pmatrix}$$$$
Во втором случае полином задается вектором коэффициентов $$Z$$, а функция $$polyroots(z)$$ вычисляет его корни.
Покажем, как выполняются алгебраические преобразования при упрощении математических выражений с помощью других операторов палитры Symbolic (напомним: они вызываются однократным кликом после набора исходного выражения).
Первый пример: оператор expend (разложить), выполняющий перемножение и представляющий результат в виде многочлена. Выполним пример в пошаговом режиме.
$$\frac {(x^3+x^2+a)\cdot(x+b)}{(x^2+1)\cdot(x-1)}$$
На палитре Symbolic "кликнуть" на слове expend (разложить) и нажать клавишу Enter.
$$\frac {(x^3+x^2+a)\cdot(x+b)}{(x^2+1)\cdot(x-1)} expand \to \frac {bx^2+bx^3+x^3+x^4+ab+ax}{x^3-x^2+x-1}$$
Выполнилось разложение исходного выражения путем перемножения в числителе и знаменателе. Очень эффектно оператор expend работает в качестве справочного инструмента как показано ниже.
$$sin(x+y+z) expand \to cos(x)*cos(y)*sin(z)+cos(x)*sin(y)*cos(z)+sin(x)*cos(y)*cos(z)-sin(x)*sin(y)*sin(z)$$
Другой пример
$$sin(4x)-cos(6x) expand,x \to 15*cos(x)^4*sin(x)^2-cos(x)^6+4*cos(x)^3*sin(x)-15*cos(x)^2*sin(x)^4-4*cos(x)*sin(x)^3+sin(x)^6$$
При помощи оператора factor выполняется разложение на множители, например:
$$(х^3+1) factor \to (x+1)(x^2-x+1)$$
А вот как можно проверить, является ли число 199995 простым, – выполняем:
$$199995 factor \to 3 \cdot 5 \cdot 67 \cdot 199$$
убеждаемся, что это число непростое, поскольку в его разложении нашлись четыре простых множителя. А вот так можно привести выражение к общему знаменателю:
$$\frac{z}{x-1} + \frac{y}{x+1} factor \to \frac{z-y+xy+xz}{(x-1)(x+1)} $$
Оператор collect, наоборот, выносит за скобку общий множитель (через запятую нужно обязательно указать его вид):
$$x^3y+x^3 collect,x \to (y+1)x^3$$
Однако, несмотря на кажущуюся простоту, это действие (вынесение множителя) является очень сложной интеллектуальной задачей, поэтому оператор collect работает нечетко, требует подсказки – что нужно выносить, и используется достаточно редко.
А вот оператор разложения на элементарные дроби parfrac и работает отлично, и используется широко; особенно он полезен при интегрировании рациональной функции.
$$\frac{5x-1}{(x-1)(x+1)} parfrac \to \frac{2}{x-1} +\frac{3}{x+1}$$
Теперь проинтегрировать правую часть не составит труда, если вспомнить, что первообразной для ($$1/х$$) является $$ln(x)$$.
Часто при решении математических задач возникает необходимость замены переменной в формуле на заданное выражение. Запишем, например, такую формулу:
$$\frac{x^2-1}{x} \cdot z$$, где $$z=\frac{x}{x+1}$$
вызовем оператор substitute (заместить) c панели Symbolic
$$\frac{x^2-1}{x} \cdot z substitute, \blacksquare=\blacksquare \to$$
и в правый маркер (черный квадратик) поместим такую запись, задающую подстановку:
$$\frac{x^2-1}{x} \cdot z substitute, z=\frac{x}{x+1} \to x-1$$
Как видно, программа не только выполнила требуемую подстановку, но и упростила выражение.
К подстановкам часто приходится прибегать при работе с
$$\frac{\sqrt{x}+1}{x-1} simplify \to \frac{x^{\frac{1}{2}}+1}{x-1}$$
$$\frac{sin(2x)}{2cos(x)} simplify \to \frac{1}{2} \cdot \frac{sin(2x)}{cos(x)}$$
в
$$\frac{\sqrt{x}+1}{x-1} simplify \to \frac{1}{\sqrt{x}-1}$$
$$\frac{sin(2x)}{2cos(x)} simplify \to sin(x)$$
Часто на практике требуется выполнить одновременно несколько последовательных
Например:
$$e^{ln(a^2-1)} simplify \to a^2-1$$
Вычисление пределов в среде
С правилом Лопиталя СКМ справляется без проблем:
$$\lim_{n \to 0} \frac{(e^x-e^{-x})}{sin(x)} \to 2$$
И переходить к пределу логарифма с последующим потенцированием среда
$$\lim_{n \to 0} \left(\frac{1}{x} \right) ^{tan(x)} \to 1$$
$$\lim_{n \to \infty} \left( 1+\frac{1}{2x} \right) ^{x} \to \sqrt{e}$$
Могут быть вычислены и односторонние пределы. В следующем хрестоматийном [1] примере предел функции:
$$y=\frac{1}{1+e^{\frac{1}{x}}}$$ 
в точке $$х=0$$ не существует,
$$\lim_{n \to 0} \frac{1}{1+e^{\frac{1}{x}}} \to undefined$$
тогда как односторонние могут быть определены. Что с успехом и выполняет
$$\lim_{n \to 0^-} \frac{1}{1+e^{\frac{1}{x}}} \to 1$$ $$\lim_{n \to 0^+} \frac{1}{1+e^{\frac{1}{x}}} \to 0$$
Рассмотрим несколько изящных примеров, показывающих возможности вычисления пределов и одновременно красиво демонстрирующих основы математического анализа – нахождение производной классическим способом как предела отношения
$$\lim_{\delta \to 0} \frac{(log(x+\delta,a)-logg(x,a)}{\delta} \to \frac{1}{x \cdot ln(a)}$$
Здесь нетрудно догадаться, что в символике
$$\lim_{\delta \to 0} \frac{(ln(tan(x+\delta))-ln(tan(x)))}{\delta} \to \frac{tan(x)^2+1}{tan(x)}$$
А вот совсем простую задачу:
$$\lim_{\delta \to 0} \frac{\left[(x+\delta)^n-x^n \right]}{\delta}$$
в общем виде решить не получается – нужно задать конкретное значение $$n$$.
Для показательной функции $$a^x$$:
$$a^{x+\delta}-a^x parfrac, a^x \to a^{\delta} \cdot a^x-a^x$$
$$\lim_{\delta \to 0} \frac{\left(a^{x+\delta}-a^x \right)}{\delta} \to a^x \cdot ln(a)$$
А теперь еще забавней – проинтегрируем функцию:
$$y=a^x$$
по определению через предел интегральной суммы. Здесь особенность – верхний предел зададим параметрически через $$Х$$. Для этого составим интегральную сумму:
$$\lim_{n \to \infty} \sum_{k=0}^n \left[ \left( \frac{x}{n} \right) \cdot a^{x{\frac{k}{n}}} \right]$$
и вычислим ее в
$$\lim_{n \to \infty} \sum_{k=0}^n \left[ \left( \frac{x}{n} \right) \cdot a^{x{\frac{k}{n}}} \right] \to \frac{a^x-1}{ln(a)}$$
При этом все константы следует собрать вместе в постоянную интегрирования $$С$$:
$$ \frac {a^x-1}{ln(a)}=\frac{a^x}{ln(a)}+C$$
и тогда имеем первообразную, а заодно и красивую демонстрацию теоремы Ньютона-Лейбница.
Теперь вычисление
$$ \sum_{n=0}^{\infty} \frac{x^n}{n!} \to e^x$$
Воспользуемся известным многим поколениям абитуриентов пособием СканавиС.И.[ 8] – задача № 4.077 из раздела "В", решение которой показывает не только "более высокое качество усвоения школьной программы <...> но и позволит экзаменующемуся обнаружить способность к самостоятельному логическому мышлению" [9].
$$\sum_{n=1}^{m} \left[n \left(2^n \right) \right] \to 2^{m+1} \cdot (m-1) -\frac{m(m+1)}{2}+2$$
Рассмотрим
$$(cos(x)) series,x=0,6 \to 1-\frac{x^2}{2} +\frac{x^4}{24}$$
Теперь зададим 44 члена
$$(cos(x)) series,x=0,44 \to 1-\frac{x^2}{2} +\frac{x^4}{24} -\frac{x^6}{720}$$
Решение уравнений – одна из самых актуальных и одновременно самых сложных задач в среде
Самым универсальным способом решения уравнений является графический, возможности использования которого в
Найдем в общем виде корни полиномиального уравнения одной переменной (степенного многочлена) – это наиболее часто встречающаяся практическая задача. Зададим исходный полином четвертой степени
$$a ullet x^4+b ullet x^3+c ullet x^2+d ullet x+g=0$$
Среда

но само решение получено и для дальнейших вычислений им можно пользоваться.
Попробуем получить это решение другим способом: через пункт Simbolic главного меню. Решение получено и в этом случае выводится на экран, но его размеры (более 40-ка страниц текста) превышают возможности буфера ОС, и даже скопировать его по частям не удается. Так проявляется еще одна проблема символьных расчетов, особенно для решений в общем виде – громоздкие выражения, как правило, неудобные для анализа и последующих преобразований. Выход – упрощать выражения, например, разложением в
Как иллюстрация, на рис.12.6 приводится для кубического уравнения: формула для одного из корней – целиком, а для другого корня – только фрагмент формулы. Размеры и здесь впечатляют.
Теперь попробуем решить полиномиальное уравнение с заданными постоянными коэффициентами. Составим заготовку
$$(x-11)(x-222)(x-3333)(x-44444)(x-5555555)$$
и при помощи оператора expand получим полином:
$$(x-11)(x-222)(x-3333)(x-44444)(x-5555555) expand \to x^5-5603564x^4+266881461885x^3-884847515133875x^2+19239696969998319834x-2009655257834454120$$
(рис 12.6) Первый корень и фрагмент второго корня кубического уравнения
Полученные коэффициенты перенесем через буфер ОС в текстовый файл .txt, созданный, например, при помощи приложения ОС "Блокнот", а оттуда вернем обратно через буфер ОС в
Никаких трудностей не возникло, хотя размеры чисел значительно превосходят представление данных целого типа для многих алгоритмических языков высокого уровня. Даже в случае полинома пятой степени решение легко получается в символьном виде, для этого следует: вставить оператор solve c панели Symbolic, через запятую указать имя аргумента "$$х$$" и нажать Enter.
$$x^5-5603564x^4+266881461885x^3-884847515133875x^2+19239696969998319834x-2009655257834454120 solve,x \to $$\begin{pmatrix} 11\\ 222\\ 3333\\ 44444\\ 5555555 \end{pmatrix}$$$$
В том, что решение найдено именно в символьном виде, а не численно, легко убедиться, записав исходный полином с иррациональными корнями, например:
Подготовим полином:
$$(x- \sqrt{5})(x-2)(x-3)(x-4)(x-5) expand,x \to 120x-71\sqrt{5}x^2+14 \sqrt{5}x^3-\sqrt{5}x^4-154x^2+71x^3-14x^4+x^5+154 \sqrt{5}x-120 \sqrt{5} collect \to x^5+(-\sqrt{5}-14)x^4 +(14 \sqrt{5}+71)x^3+(-71\sqrt{5-154})x^2+(154 \sqrt{5}+120)x-120 \sqrt{5}$$
Найдем решение:
$$x^5+(-\sqrt{5}-14)x^4 +(14 \sqrt{5}+71)x^3+(-71\sqrt{5-154})x^2+(154 \sqrt{5}+120)x-120 \sqrt{5} solve,x \to $$\begin{pmatrix} 2\\ 3\\ 4\\ 5\\ -\sqrt{5} \end{pmatrix}$$$$
Очевидно, что ответ получен в символьной форме.
По данным [6], СКМ
Решение неравенств считается одной из самых сложных тем школьной математики, поскольку требует не только навыков выполнения математических преобразования, но и умения логически анализировать поведение функций в области допустимых значений.
Пример, неверно решаемый в СКМ
$$\frac{\sqrt{x}-3}{x-2} > 0 solve,x \to $$\begin{pmatrix} x < 2\\ 9 < x \end{pmatrix}$$$$
Х должен быть не меньше $$0$$; правильно он решен в СКМ
$$\frac{\sqrt{x}-3}{x-2} > 0 solve,x \to 9 < x \lor 0 \le x < 2$$
Рассмотрим аналитическое дифференцирование. Поскольку производная любой элементарной функции может быть определена по жестко установленному алгоритму, среда
$$\frac{d}{d \blacksquare} \blacksquare$$
с панели Symbolic и занесем в него исходное выражение $$Х^Х$$:
$$\frac{d}{dx} x^x$$
результат получается после выполнения оператора $$\to$$.
$$\frac{d}{dx} x^x \to x \cdot x^{x-1}+x^x \cdot ln(x)$$
Проверим
$$\int x \cdot x^{x-1}+x^x \cdot ln(x) dx \to x^x$$
В случае аналитического интегрирования сложнее: и жестко заданного алгоритма нет, и, вообще, в элементарных функциях не для каждой существует первообразная. Интегрирование – это искусство.
$$\int \frac{1}{x^2+bx+c}dx \to \frac {atan \left( \frac{ \frac{b}{2}+x}{\sqrt{c- \frac{b^2}{4}}} \right)}{\sqrt{c- \frac{b^2}{4}}}$$
при решении с конкретными значениями – все верно.
$$\int \frac{1}{x^2+4x+1}dx \to - \frac {\sqrt{3} atanh \left[ \frac{\sqrt{3}(x+2)}{3} \right] }{3}$$ - корни действительные,
$$\int \frac{1}{x^2+x+1}dx \to - \frac { 2 \sqrt{3} atan \left[ \frac{2 \sqrt{3} \left (x+\frac{1}{2} \right) }{3} \right] }{3}$$ - корни мнимые.
Теперь сложнее:
$$\int \frac {1}{(x^2+4x+1)^2}dx \to \frac{\sqrt{3}ln(x+\sqrt{3}+2)}{36} - \frac{\sqrt{3}ln(x-\sqrt{3}+2)}{36} - \frac {\frac{x}{6} + \frac{1}{3}}{x^2+4x+1}$$
Проверим:
$$\frac{d}{dx} \left( \frac{\sqrt{3}ln(x+\sqrt{3}+2)}{36} - \frac{\sqrt{3}ln(x-\sqrt{3}+2)}{36} - \frac {\frac{x}{6} + \frac{1}{3}}{x^2+4x+1} \right) \to simplify \ to \frac {1}{(x^2+4x+1)^2}$$
Следующий пример демонстрирует интегрирование тригонометрических функций:
$$\int \frac{1}{a+b \cdot sin(x)+c \cdot cos(x)} dx \to \frac{2atan \left[ \frac {b+tan \left( \frac{x}{2} \right) \cdot (a-c)}{\sqrt{a^2-b^2-c^2}} \right]}{\sqrt{a^2-b^2-c^2}}$$
Решается и такой интеграл:
$$\int e^{ax} cos(bx)dx \to \frac {e^{ax}(acos(bx)+bsin(bx))}{a^2+b^2}$$
Читатель, несомненно, вспомнит достаточно изощренный способ его нахождения, сводящийся к интегрированию по частям и в результате – к получению уравнения относительно самого этого интеграла; решение этого уравнения и дает искомый результат [10].
Среда
$$\frac{d}{dy} \int^{2y}_y (e^xy)dx \to e^{2y}-e^y-y(e^y-2e^{2y})$$
Действия с матрицами охватывают весь стандартный набор операторов алгебры матриц. На панели Symbolic расположены три оператора: $$М^Т$$,$$ М^(-1)$$ и $$|M|$$ для транспонирования, обращения и поиска определителя соответственно. Остальные операторы выполняются при помощи функций (в количестве 47 для
В качестве примера приведем символьный расчет
$$|M| \to \left| \begin{pmatrix} a b c\\ d e f\\ h q k \end{pmatrix} \right| \to bfh-bdk-afg+cdq-che+ake$$
Связь с MS Excel достигается встроенными средствами и специальным расширением
Решение дифференциальных уравнений (ДУ) является одной из самых сложных задач математики. Она возникает практически во всех областях знаний: в науке, в технике, в экономике. Как известно, дифференциальные уравнения делятся на обыкновенные (ОДУ) и дифференциальные уравнения в частных производных – по-другому их называют уравнениями математической физики. Последние и представляют более общий инструмент исследования, но большие трудности в их решении заставляют, по возможности, применять аппарат ОДУ. Это нашло отражение в средствах пакетов СКМ и, в частности, в
Методы их численного решения глубоко разработаны в вычислительной математике, широко алгоритмизированы и представлены в
Сразу отметим, что в СКМ Mathematica и Marpl имеются встроенные блоки решения ОДУ в символьной форме; разработчики КСМ
Большинство практических задач может быть сведено к аппарату линейных систем ДУ (ЛОДУ). С одной стороны, методы их аналитического решения и анализа хорошо разработаны и широко известны, а нелинейность в большинстве случаев можно исключить, разбив общую задачу на ряд частных подзадач без большого ущерба для точности.
Известно, что решение ЛОДУ в общем виде равно сумме общего решения однородного ЛОДУ (с нулевой правой частью), и какого-либо частного решения неоднородного ЛОДУ.
Покажем, как эта задача решается в СКМ Mathematica 5, где имеются встроенные блоки решения ОДУ. Для решения ЛОДУ используют встроенную функцию DSolve[ ] следующим образом.
$$DSolve[x''[t]+4x'[t]==10Sin[2t],x[t],t]$$
После исполнительной команды – одновременного нажатия клавиш Shift и Enter, сразу получим результат:
$$DSolve[x''[t]+4x'[t]==10Sin[2t],x[t],t]$$
$${{x[t] \to -1/4e^{-4t}C[1]+C[2]-Cos[2t]-1/2Sin[2t]}}$$
Обратите внимание на несколько необычный способ записи функций: при помощи квадратных скобок; но это, равно как и исполнительная команда на выполнение вычислений одновременным нажатием клавиш Shift и Enter, – специфические особенности СКМ Mathematica.
Для решения подобного уравнения СКМ MathСad, где такие решающие блоки отсутствуют, рекомендуется применять операторные методы – прямое и обратное преобразование Лапласа или Фурье. Напомним, что смысл этого метода заключается в переходе от искомой функции, называемой оригиналом, к особым интегральным функциям комплексного переменного $$s$$ – так называемым изображениям, в результате чего после подстановки изображения вместо оригинала в линейное ДУ операция дифференцирования относительно новой переменной заменяется операцией умножения на соответствующий новый аргумент $$s$$, а само ДУ $$n$$-й степени преобразуется в многочлен этой же степени относительно $$s$$, называемый характеристическим. Определив корни характеристического многочлена и выполнив обратный переход от изображения к оригиналу при помощи обратного преобразования Лапласа или Фурье, соответственно, легко можно отыскать решение исходного ДУ.
Конкретные действия для решения указанной задачи следующие.
Пусть дано исходное ЛОДУ:
$$\frac{d^2}{dt^2} x(t) + 4 \frac {d}{dt}x(t):=10sin(2t)$$
Его необходимо записать в форме с нулевой правой частью:
$$\frac{d^2}{dt^2} x(t) + 4 \frac {d}{dt}x(t)-10sin(2t)$$
Вызывать с панели Symbolic оператор laplace и задать исполнение $$\to$$:
$$\frac{d^2}{dt^2} x(t) + 4 \frac {d}{dt}x(t)-10sin(2t) laplace, \blacksquare \to$$
в результате получается малопонятное выражение, в котором обозначим изображение функции одной буквой, например, h, выражения для начальных значений функции и первой производной заменим, например, на Х0 и Х10, соответственно. После всех этих преобразований и замен будет получено следующее выражение:
$$s(sh-X0)-X10+4sh-4X0- \frac{20}{s^2+4}$$
Очень неудобно. Беда еще, к сожалению, в том, что оператор laplace иногда отказывается работать.
Поэтому проще самим написать изображение для уравнения (**) без помощи оператора laplace. При этом производные заменяются изображениями согласно известной теореме по образцу, приведенному в таблице 12.2.
$$s(sh-X0)-X10+4sh-4X0- \frac{20}{s^2+4}$$
| Производные оригинала | Изображение производной |
|---|---|
| $$X(t)$$ | $$h$$ |
| $$X'(t)$$ | $$s ullet h – X(0)$$ |
| $$X''(t)$$ | $$s ullet (s ullet h – X(0)) – X'(0)$$ |
| $$X'''(t)$$ | $$s ullet ( s ullet ( s ullet h – X(0)) – X'(0)) – X''(0)$$ |
Здесь через $$X(0)$$, $$X'(0)$$, $$X''(0)$$ обозначены начальные условия для производных указанных порядков, в нашем примере они обозначены согласно таблице 12.3.
| Начальные условиядля производных | Обозначения в рассматриваемом примере |
|---|---|
| $$X(0)$$ | $$X0$$ |
| $$X'(0)$$ | $$X10$$ |
Продолжить таблицу 2 в случае необходимости не представляет труда – последующая строка легко получается из предыдущей.
Далее при самостоятельном задании изображения для уравнения (**) к правой части уравнения (*) отдельно применим оператор laplace:
$$10sin(2t) laplace, t \to \frac {20}{s^2+4}$$
Подставим в исходное уравнение (**) и получим следующее выражение:
$$s(sh-X0)-X10+4sh-4X0- \frac{20}{s^2+4}$$
Разрешим это уравнение относительно $$Z$$ оператором solve и применим обратное преобразование Лапласа $$invlaplace$$ (оба с панели Symbolic)
$$s(sh-X0)-X10+4sh-4X0- \frac{20}{s^2+4} solve,h \to \frac {4X0+X10+ \frac{20}{s^2+4} +X0s}{s^2+4s}$$
$$\frac {4X0+X10+ \frac{20}{s^2+4} +X0s}{s^2+4s} invlaplace,s \to X0+ \frac{X10}{4} - cos(2t)- \frac{e^{-4t}}{4} -\frac{sin(2t)}{2}- \frac{X10e^{-4t}}{4} +\frac {5}{4}$$
Это и есть решение ЛОДУ (*), отличия от решения СКМ Mathematica – в форме представления постоянной интегрирования. В последнем случае оно содержат начальные условия в явном виде.
Для создания графиков в среде
Возможности среды
Приятно удивляет простота применения, что позволяет использовать графики не только как средство иллюстрации, но и как удобный инструмент вычислений, постоянно готовый к текущему отображению промежуточных результатов.
На рис.12.7 приведена палитра(панель инструментов) меню Graph для отрисовки графиков, а в таблице 12.4 – назначение и возможности каждого инструмента.
(рис 12.7) Палитра меню Graph
| Имя, англ. | Наименование, русск. | Назначение |
|---|---|---|
| X-E Plot | Построение двумерного графика | Построение всевозможных графиков функции одного аргумента в прямоугольной декартовой СК |
| Применение полярных координат | Построение всевозможных графиков функции одного аргумента в полярной СК | |
| 3D Bar Plot | Трехмерная гистограмма | Представление графика в виде множества трехмерных столбиков, высота которых пропорциональна аппликате |
| Сontour Plot | Контурный трехмерный график | Представление поверхности графика изолиниями равного уровня |
| 3D | Точечный трехмерный график | Представление поверхности графика множеством точек заданного цвета и формы |
| Vector Field Plot | Векторное поле | Изображение в отдельных точках плоскости значение вектора в виде стрелки. Для 3D графика таким вектором является градиент |
| Zoom | Увеличение | Увеличение выделенного фрагмента |
| Х-У Trace | Трассировка | Фиксация координат выделенной точки графика |
| Трехмерный график | Обычный график функции двух переменных |
Кроме инструментов, приведенных в таблице 12.4, есть еще два, которые не приведены в палитре рис.12.7. Первый – мастер построения трехмерных графиков (3D Plot Wizard) – вызывается из главного меню (Insert/Graph/3D Plot Wizard) и существенно облегчает форматирование трехмерных графиков.
Второй – окно форматирования рисунка с графиком – вызывается двойным левым щелчком на поле графика или из контекстного меню (КМ). Вид этого окна зависит от типа графика, оно содержит до 9 вкладок и позволяет выполнять с графиком любые манипуляции. Вот некоторые из них:
Для примера приведем последовательность действий при построении графика функции
$$y=x^2$$ на интервале (-2, 2)
Все будет выполнено автоматически после задания диапазона изменения $$Х$$ и указания функции на левом знакоместе шаблона:

Выполним трассировку графика – указание нужной точки графика: в нашем случае пусть это будет минимум функции $$y=x^2$$.
Указанные действия иллюстрирует рис.12.8.
Теперь построим график такой функции двух переменных:
$$Z(x, y)=Sin(xy)$$
Определим функцию z(x,y).
(рис 12.8) Выполнение трассировки графика для получения координат точки минимумаВызовем из палитры "Graph" инструмент
(рис 12.9) Отображения графика функции Z(x,y)=Sin(xy), созданного в режиме автоматического задания диапазонов аргументовПолучилось что-то непонятное. Уменьшим диапазон по осям аргументов в четыре раза, для чего вызовем из КМ окно свойств, как показано на рис.12.10.
(рис 12.10) Отображения графика функции Z(x,y)=Sin(xy), после уменьшения диапазонов аргументов в четыре разаТеперь получилось подозрительно просто – опять увеличим эти диапазоны, а еще захватим график мышью и покрутим его в разные стороны; окончательно получим следующее (см. рис.12.11).
(рис 12.11) Поворот графика функции Z(x,y)=Sin(xy) при помощи мышиЕще одной изящной возможностью среды можно полюбоваться, снова запустив шаблон 3D графика и вызвав из главного меню (Insert/ Graph/3D Plot Wizard) функцию Polyhedron() – как это показано на рис.12.12, она позволяет изобразить один из 80-ти многогранников (подробные сведения о них приводятся в справочной системе МathСad):
$$z:=Polyhedron(Str)$$,
где $$Str$$ – аргумент в виде управляющей строки, которая в двойных кавычках содержит название многогранника ("
(рис 12.12) Изображение многогранников при помощи функции Polyhedron()
(рис 12.13) Использование функции Polylookup() для получения названия многогранника
А желаете узнать, как по-английски правильно называется многогранник, составленный из шести квадратов и восьми треугольников? Взгляните на рис.12.13– там все очевидно.
В заключение упомянем о возможности вставить в разрабатываемый документ анимацию – как при помощи команды Tools/Animation, открывающей окно создания и просмотра анимации, так и путем включения встроенного видеопроигрывателя View/Playback для просмотра любых внешних файлов в формате AVI.
Справочная система обладает развитыми возможностями и позволяет выбрать документ, содержащий функционирующий пример почти по любой теме работы с СКМ или пример его практического применения в сфере прикладных задач науки и техники. Все примеры – именно действующие, к тому же допускающие внесение изменений и редактирование. Это, в сочетании с интеллектуальными подсказками и автоматической поддержкой Сетевого сервисного центра поддержки фирмы, дает право говорить не просто о справочной системе, а о справочно-сервисном процессоре пакета.
Меню Help СКМ
(рис 12.14) Меню Help СКМ MathСad
(рис 12.15) Пример вызова справочной таблицы. Переход к справочной таблице по размерам треугольника
Справочные таблицы содержат обширные сведения по многим областям науки и техники. Пример обращения к конкретному разделу – "Площадь и периметр для треугольника" – показан на рис.12.15. При этом все листы таблиц Reference Tables –действующие документы
Быстрые шпаргалки Quick Sheets – это примеры решенных разработчиками
Электронные книги e-Books представляют собой наборы готовых документов по определенной тематике. Они являются более сложными и предоставляют большие возможности, о которых можно судить из рис.12.17, где представлен лист содержания e-Book. Особенностью электронных книг является наличие листа содержания, предметный указатель, совершенная система переходов при помощи гиперссылок. Электронная книга открывается в собственном окне, снабженном специальными элементами управления и очень напоминающем традиционное окно браузера. Фирма-разработчик предлагает целую библиотеку таких e-Books. Кроме того, можно воспользоваться электронными книгами, созданными пользователями СКМ
(рис 12.16) Пример работы с быстрыми шпаргалками Quick Sheets. Переход к задаче "Векторная алгебра"

Кроме того, в состав СКМ
(рис 12.17) Содержание e-Book "Data Analysis Extensiоn Pack" ("Анализ данных") – фрагмент
В главе приведен ознакомительный материал по СКМ и наиболее яркому и популярному среди студентов пакету СКМ
Основной упор делался только на разделы математики, близкие и знакомые студенту гуманитарного или инженерного вуза. Возможности СКМ
Достоинства СКМ
Трудно переоценить значение СКМ в сфере образования. В 70-х годах прошлого века курсовые работы по математике выполнялись на механических вычислительных машинах (арифмометрах) "Феликс" и требовали многих дней кропотливой работы, которая выполняется в СКМ за доли секунды. Появилась возможность, образно говоря, "пощупать математику руками".
Более того, СКМ
Были продемонстрированы достоинства символьных методов расчета и большие возможности современных СКМ по их реализации.
Кратко перечислим перспективы совершенствования СКМ по обобщению приведенной литературы:
Первый этап – компьютер, оправдывая свое название (в переводе с англ. "вычислитель"), работал как мощный программируемый калькулятор, способный быстро и автоматически (по веденной программе) выполнять сложные и громоздкие арифметические и логические операции над числами.
Успехи вычислительной математики и постоянно совершенствующиеся численные методы позволяют решить таким способом любую математическую задачу применительно к любой отрасли знаний. Важно отметить, что результат вычислений при этом представляется одним конечным числом в арифметическом виде, то есть при помощи десятичных цифр. Иногда результат представляется множеством (массивом, матрицей) таких чисел, но существо представления от этого не меняется – результат в виде конечного десятичного арифметического числа.
Однако такой результат часто не удовлетворял профессиональных математиков, и вот почему. Подавляющее большинство результатов нетривиальных математических вычислений в классической математике традиционно записывается в символьной форме: с использованием специальных общеизвестных чисел: $$\pi$$, $$e$$, $$С$$, а иррациональные значения – с помощью радикала. Считается, что в противном случае имеет место принципиальная потеря точности.
Другой классический пример, вызывающий замечание математика – выражение, знакомое любому школьнику:
$$sin^2(x) + cos^2(x)$$
всегда равное единице; а в компьютере либо будет предпринята попытка вычислить это выражение (с неизбежными ошибками округления), либо будет выдано сообщение о неопределенности аргумента Х и всякие дальнейшие действия будут прекращены.
На этом первый этап завершился...
Естественно, вслед за стремительным совершенствованием компьютерных систем человеку в компьютерных расчетах захотелось большего: почему бы не заставить компьютер выполнять преобразования традиционными для математики способами (дробно-рациональные преобразования, подстановки, упрощения, решение уравнений, дифференцирование и т.п.).
Их принято называть преобразованиями в символьном виде или аналитическими преобразованиями, а результат получать не как раньше – в виде одного числа, а в виде формулы.
К этому моменту практически все области человеческой деятельности оказались охваченными каждая своим собственным математическим аппаратом и обзавелись собственными пакетами прикладного программного обеспечения (ППО). При этом всем понадобился универсальный математический инструмент, ориентированный на широкий круг пользователей, которые не являются ни профессионалами в математике, ни программистами, воспитанными на узкоспециальных, малопонятных большинству конечных пользователей компьютерных языках.
Это привело к созданию компьютерных систем символьной математики, рассчитанных на широкие круги пользователей – непрофессионалов в математике. Так началась с середины 60-х годов ХХ века эра систем компьютерной математики (СКМ), по-английски
В конце 60-х годов в России на отечественных ЭВМ серии "Мир", разработанных под руководством академика В. Глушкова, была реализована СКМ на языке программирования "Аналитик", обладающая всеми возможностями символьных вычислений, впрочем, с весьма скромными, по нынешним понятиям, характеристиками.
Конечно, даже самые простые неинтеллектуальные компьютерные математические справочники представляют большой практический интерес – ведь ни один самый способный человек не в состоянии вместить в своей голове все математические законы и правила, созданные за многовековую историю человечества.
Данные об особенностях существующих СКМ приведены в табл. 12.1.
| Система | Назначение и возможности | Недостатки |
|---|---|---|
| Система универсального назначения в основном для непрофессиональных математиков и целей образования всех ступеней. Продуманный интерфейс представления данных в традиционной математической форме и изумительная графика на всех этапах работы, включая ввод. Ввод с помощью выбора из панелей инструментов или из меню практически без использования клавиатуры. Мощный и исчерпывающий набор операторов и функций. Множество примеров, электронных книг и библиотек, готовых решений практических задач. Ядро символьных вычислений импортировано из СКМ | Достаточно примитивные средства программирования. Дороговизна электронных книг и библиотек, отсутствие русифицированных версий самого пакета и дополнительных библиотек (книг). Затруднена | |
| Университетское высшее образование и научные расчеты. Мощное ядро символьных вычислений – возможности аналогичны СКМ | Повышенные требования к аппаратным ресурсам. Отсутствие синтеза звуков. Ориентация на опытных пользователей и специалистов по математике. Все недостатки аналитических действий аналогичны СКМ | |
| Mathematica 5/7 | Высшее образование и научные расчеты. Наиболее развитая система символьной математики. Единственная СКМ, обеспечивающая символьное решение дифференциальных уравнений. Совместимость с разными компьютерными платформами. Уникальная трехмерная графика. Поддержка синтеза звука. Развитые средства форматирования документов. Программный синтез звуков. | Высокие требования к аппаратным ресурсам. Чрезмерная защита от копирования. Слабая защита от некорректных задач. Ориентация на опытных пользователей. Ввод задач на уникальном языке функционального программирования. Непривычная индикация функций запуска вычислений. |
| MATLAB 7.* | Образование (в том числе техническое), научные расчеты, численное моделирование, и расчеты, ориентированные на применение матричных методов, при этом скаляр рассматривается как матрица 1х1. Уникальные матричные средства, обилие численных методов, описательная (дескрипторная) графика, высокая скорость вычислений, легкость адаптации к задачам пользователя благодаря множеству пакетов расширения системы. Развитый язык программирования с возможностями объектно-ориентированного программирования (ООП), совместимость с алгоритмическим языком Java | Очень высокие требования к аппаратным ресурсам. Практически отсутствует возможность символьных вычислений. Относительно высокая стоимость. Ввод задач на уникальном языке программирования |
Рассмотрим внутреннюю архитектуру СКМ на примере наиболее мощной, по мнению ряда авторитетных специалистов [6], СКМ Mathematica, обладающей наиболее развитой системой символьной математики. На рис.12.1 представлена ее программная архитектура.
(рис 12.1) Архитектура обобщенной СКМ
Центральная часть – ядро (Kernel) системы СКМ реализует алгоритм функционирования СКМ, обеспечивает совместное функционирование всех ее частей, организует прием и интеллектуальную обработку запроса пользователя, а затем – вызов нужной процедуры решения. В ядре помещается большое количество встроенных функций и операторов системы. Их количество в современных СКМ может достигать многих тысяч. Например, ядро системы Mathematica 4 содержит данные более чем 5000 одних только интегралов, хотя для интегрирования используются только несколько встроенных функций.
Поиск и выполнение функций и процедур, встроенных в ядро СКМ, выполняется быстро, если их там не слишком много. Поэтому объем ядра ограничивают, но к нему добавляют встроенные в СКМ библиотеки процедур и функций, использующихся относительно редко. При этом общее число доступных пользователю математических функций ядра и этих встроенных библиотек достигает многих тысяч.
Кардинальное расширение возможностей СКМ и их приспособленность к нуждам конкретных пользователей для углубленного решения определенного круга задач (например, задач теоретической и прикладной статистики, векторного анализа) достигается за счет установки внешних пакетов расширения. Эти пакеты, приобретаемые отдельно, делают возможности СКМ практически безграничными.
Все эти библиотеки, пакеты расширений и справочная система современных СКМ (назовем их инструментами СКМ) содержат не только и не просто знания в области математики, накопленные за много веков ее развития (этим никого не удивишь: именно такие возможности характерны для широко распространенного класса ИПО – информационно-поисковых систем). Но восхищает, что эти инструменты удивительным образом автоматически и творчески используют такие знания для решения задач, где нужно выбрать и уметь применить один, единственный из многих десятков, неочевидный метод решения. Например, СКМ могут мгновенно найти
Благодаря всем этим возможностям СКМ могут быть отнесены к программным продуктам самого высокого на сегодняшний день уровня – интеллектуального. Такие программы в настоящее время объединяются термином "базы знаний". Современные СКМ, по мнению признанных авторитетов [6, 7], предоставляет неискушенному пользователю возможности выпускника математического вуза в областях численных методов расчета, математического анализа, теории матриц и других общих разделах высшей математики, позволяющих получить конструктивные результаты.
Конечно, в абстрактных разделах математики, типа функционального анализа или вопросов "существования и единственности..." СКМ пока вряд ли могут быть полезны (кроме как для предоставления нужной справки, что очень даже немало), но в прикладных задачах, для которых СКМ и создавались, такие разделы математики обычно не задействованы.
Интегрированная Среда СКМ
По сей день они остаются единственными математическими системами, в которых описание решения математических задач дается с помощью привычных математических формул и знакомых символов. Такой же вид имеют и результаты вычислений. СКМ
Все действия в СКМ
На рис.12.2 приведена архитектура СКМ
Встроенные в среду
Библиотеки и пакеты расширений, ориентированные на решение различных прикладных задач, поставляются и устанавливаются разработчиком отдельно.
Мощный интерфейс СКМ
Интерфейс является визуальным – то есть практически любые действия в СКМ можно выполнять без помощи клавиатуры, просто выбирая нужные пункты меню или инструменты на панелях. В этом интерфейсе реализован принцип "WYSIWYG" – что видим на экране, то и получаем в работе и при выводе.
Интерфейс интеллектуален – конечно, здесь далеко до интеллекта Visual Studio-2010, но во многих случаях он не допустит ошибочных действий пользователя.
Упомянутый входной язык ввода является интерпретирующим, то есть промежуточные результаты появляются по мере ввода очередной формулы. Сама же СКМ
(рис 12.2) Архитектура СКМ MathCad
Объектами рабочего листа могут быть формульные текстовые или графические блоки. Действия над блоками выполняются в
Контент (содержание) этой СКМ можно рассматривать в качестве исключительно мощного справочного средства по математике. Кроме того, в СКМ
Перечислим основные возможности Среды
Составление программ и выполнение расчетов на упрощенном процедурном алгоритмическом языке с возможностью использования всех процедурных конструкций: условных операторов, циклов, массивов, модуль-функций, модуль-процедур.
Обработка данных и финансовые расчеты
Теория вероятностей и математическая статистика
Математическое моделирование
Специальные возможности по прикладным инженерным и научным расчетам
Главное меню и общие традиционные панели Windows: "Стандартная" и "Форматирование". Перечислим основные возможности среды
Все математические действия выполняются при помощи девяти палитр (панелей инструментов), вызываемых, в свою очередь, из панели Мath. Они-то и позволяют получить полный букет всевозможных операторов и команд среды
Эти девять панелей представлены на рис.12.3, а на рис.12.4 показано назначение этих панелей.
Интерфейс этих панелей отличается продуманностью и дружелюбием. Пока понадобятся только три: Сalculator, Сalculus, Symbolic – их и оставим, а остальные закроем. Панель Symbolic – основная панель инструментов для выполнения символьных вычислений. На рис.12.5 приводятся все ее элементы и их назначение.
(рис 12.3) Девять основных палитр панели Мath (Математика) среды MathCad
(рис 12.4) Назначение основных панелей среды MathCad
(рис 12.5) Панель инструментов Symbolic
Продемонстрируем простой пример — найдем сумму известного бесконечного ряда:
$$1-\frac{1}{3}+\frac{1}{5}-\frac{1}{7}+\frac{1}{9}-\frac{1}{11}+\frac{1}{13}-\frac{1}{15}+...$$
по формуле $$\sum_{n=1}^{\infty} \left[(-1)^{n-1}\cdot \left(\frac{1}{2\cdot n -1} \right) \right]$$
Для этого нужно последовательно: вызвать с панели
(везде далее математические записи приводятся в том виде, как они выглядят в документе
Ввести формулу $$\sum_{n=1}^{\infty} \left[(-1)^{n-1}\cdot \left(\frac{1}{2\cdot n -1} \right) \right]$$ при помощи панели Calculator
С панели Symbolic вызвать оператор символьных преобразований $$\to$$ и нажать клавишу Enter.
$$\sum_{n=1}^{\infty} \left[(-1)^{n-1}\cdot \left(\frac{1}{2\cdot n -1} \right) \right] \to \frac {\pi}{4}$$
Результат верный. А ведь мы не набрали ни строчки кода – все делали методом визуального программирования, выбирая нужное с панелей.
Теперь просуммируем такой гармонический ряд:
$$1+\frac{1}{2}+\frac{1}{3}+\frac{1}{4}+\frac{1}{5}+\frac{1}{6}+...+\frac{1}{n}+...$$
который, как известно, расходится, но если уменьшить его на самую малость – должен сойтись:
Повторим все манипуляции с панелью Symbolic и получим маловразумительный результат
$$\lim_{n\to\infty} \left[ \left(\sum_{i=1}^{n}\frac{1}{i}\right) - ln(n) \right] \to \gamma$$ float, 10 $$\to 0.5772156649$$
Теперь понятно: это – постоянная Эйлера (она же – третий
$$\gamma\ float, 250$$$$\to 0.577215664901532860606512090082402431042159335\\9399235988057672348848677267776646709369470632917\\4674951463144724980708248096050401448654283622417\\3997644923536253500333742937337737673942792595258\\2470949160087352039481656708532331517766115286211\\ 99501508.$$
К сожалению, в доступной автору литературе в полном виде эти данные не встречались, а попытки вычислить ее значение "в лоб", например, на С++ в формате данных double, дали только 64 значащие цифры, остальные 186 знаков – на совести разработчиков
Символьные расчеты выполняются во встроенном символьном процессоре путем вызова нужного оператора с панели инструментов Symbolic (либо при помощи главного меню).
Запуск на выполнение символьных действий выполняется при помощи оператора вывода $$\to$$ и нажатия клавиши Enter. Результат получается, соответственно, в символьной форме.
Примеры простых символьных расчетов:
$$\sqrt{27} \to 3\cdot \sqrt{3}$$ $$\frac{1}{2}+\frac{1}{3} \to \frac{5}{6}$$
Результат здесь получился в таком же виде, как если бы мы выполняли действия вручную – с корнями, или в виде обыкновенной дроби. При выполнении численных расчетов (оператор = на панели "Calculator") результат будет таким:
$$\sqrt{27} =5.196$$ $$\frac{1}{2}+\frac{1}{3} =0.833$$
Вводим теперь классическое соотношение:
$$sin(x)^2+cos(x)^2 \to cos(x)^2+sin(x)^2$$
и с удивлением обнаруживаем, что ничего не получилось. А, собственно, чего еще можно было ожидать, даже не задав СКМ своих требований. Для этого используются специальные операторы с панели Symbolic. С их помощью и выполняются все упрощения математических выражений и алгебраические преобразования. Наиболее универсальный из этих операторов –
$$sin(x)^2+cos(x)^2 simplify \to 1$$
Интересно сравнить результаты решения одного и того же, например, квадратного уравнения в символьной форме:
$$x^2-4x+1 solve $$\begin{pmatrix} \sqrt{3}+2\\ 2-\sqrt{3} \end{pmatrix}$$$$
и в численном виде:
$$z:=$$\begin{pmatrix} 1\\ -4\\ 1 \end{pmatrix}$$$$ $$polyroots (z)=$$\begin{pmatrix} 0.268\\ 3.732 \end{pmatrix}$$$$
Во втором случае полином задается вектором коэффициентов $$Z$$, а функция $$polyroots(z)$$ вычисляет его корни.
Покажем, как выполняются алгебраические преобразования при упрощении математических выражений с помощью других операторов палитры Symbolic (напомним: они вызываются однократным кликом после набора исходного выражения).
Первый пример: оператор expend (разложить), выполняющий перемножение и представляющий результат в виде многочлена. Выполним пример в пошаговом режиме.
$$\frac {(x^3+x^2+a)\cdot(x+b)}{(x^2+1)\cdot(x-1)}$$
На палитре Symbolic "кликнуть" на слове expend (разложить) и нажать клавишу Enter.
$$\frac {(x^3+x^2+a)\cdot(x+b)}{(x^2+1)\cdot(x-1)} expand \to \frac {bx^2+bx^3+x^3+x^4+ab+ax}{x^3-x^2+x-1}$$
Выполнилось разложение исходного выражения путем перемножения в числителе и знаменателе. Очень эффектно оператор expend работает в качестве справочного инструмента как показано ниже.
$$sin(x+y+z) expand \to cos(x)*cos(y)*sin(z)+cos(x)*sin(y)*cos(z)+sin(x)*cos(y)*cos(z)-sin(x)*sin(y)*sin(z)$$
Другой пример
$$sin(4x)-cos(6x) expand,x \to 15*cos(x)^4*sin(x)^2-cos(x)^6+4*cos(x)^3*sin(x)-15*cos(x)^2*sin(x)^4-4*cos(x)*sin(x)^3+sin(x)^6$$
При помощи оператора factor выполняется разложение на множители, например:
$$(х^3+1) factor \to (x+1)(x^2-x+1)$$
А вот как можно проверить, является ли число 199995 простым, – выполняем:
$$199995 factor \to 3 \cdot 5 \cdot 67 \cdot 199$$
убеждаемся, что это число непростое, поскольку в его разложении нашлись четыре простых множителя. А вот так можно привести выражение к общему знаменателю:
$$\frac{z}{x-1} + \frac{y}{x+1} factor \to \frac{z-y+xy+xz}{(x-1)(x+1)} $$
Оператор collect, наоборот, выносит за скобку общий множитель (через запятую нужно обязательно указать его вид):
$$x^3y+x^3 collect,x \to (y+1)x^3$$
Однако, несмотря на кажущуюся простоту, это действие (вынесение множителя) является очень сложной интеллектуальной задачей, поэтому оператор collect работает нечетко, требует подсказки – что нужно выносить, и используется достаточно редко.
А вот оператор разложения на элементарные дроби parfrac и работает отлично, и используется широко; особенно он полезен при интегрировании рациональной функции.
$$\frac{5x-1}{(x-1)(x+1)} parfrac \to \frac{2}{x-1} +\frac{3}{x+1}$$
Теперь проинтегрировать правую часть не составит труда, если вспомнить, что первообразной для ($$1/х$$) является $$ln(x)$$.
Часто при решении математических задач возникает необходимость замены переменной в формуле на заданное выражение. Запишем, например, такую формулу:
$$\frac{x^2-1}{x} \cdot z$$, где $$z=\frac{x}{x+1}$$
вызовем оператор substitute (заместить) c панели Symbolic
$$\frac{x^2-1}{x} \cdot z substitute, \blacksquare=\blacksquare \to$$
и в правый маркер (черный квадратик) поместим такую запись, задающую подстановку:
$$\frac{x^2-1}{x} \cdot z substitute, z=\frac{x}{x+1} \to x-1$$
Как видно, программа не только выполнила требуемую подстановку, но и упростила выражение.
К подстановкам часто приходится прибегать при работе с
$$\frac{\sqrt{x}+1}{x-1} simplify \to \frac{x^{\frac{1}{2}}+1}{x-1}$$
$$\frac{sin(2x)}{2cos(x)} simplify \to \frac{1}{2} \cdot \frac{sin(2x)}{cos(x)}$$
в
$$\frac{\sqrt{x}+1}{x-1} simplify \to \frac{1}{\sqrt{x}-1}$$
$$\frac{sin(2x)}{2cos(x)} simplify \to sin(x)$$
Часто на практике требуется выполнить одновременно несколько последовательных
Например:
$$e^{ln(a^2-1)} simplify \to a^2-1$$
Вычисление пределов в среде
С правилом Лопиталя СКМ справляется без проблем:
$$\lim_{n \to 0} \frac{(e^x-e^{-x})}{sin(x)} \to 2$$
И переходить к пределу логарифма с последующим потенцированием среда
$$\lim_{n \to 0} \left(\frac{1}{x} \right) ^{tan(x)} \to 1$$
$$\lim_{n \to \infty} \left( 1+\frac{1}{2x} \right) ^{x} \to \sqrt{e}$$
Могут быть вычислены и односторонние пределы. В следующем хрестоматийном [1] примере предел функции:
$$y=\frac{1}{1+e^{\frac{1}{x}}}$$ 
в точке $$х=0$$ не существует,
$$\lim_{n \to 0} \frac{1}{1+e^{\frac{1}{x}}} \to undefined$$
тогда как односторонние могут быть определены. Что с успехом и выполняет
$$\lim_{n \to 0^-} \frac{1}{1+e^{\frac{1}{x}}} \to 1$$ $$\lim_{n \to 0^+} \frac{1}{1+e^{\frac{1}{x}}} \to 0$$
Рассмотрим несколько изящных примеров, показывающих возможности вычисления пределов и одновременно красиво демонстрирующих основы математического анализа – нахождение производной классическим способом как предела отношения
$$\lim_{\delta \to 0} \frac{(log(x+\delta,a)-logg(x,a)}{\delta} \to \frac{1}{x \cdot ln(a)}$$
Здесь нетрудно догадаться, что в символике
$$\lim_{\delta \to 0} \frac{(ln(tan(x+\delta))-ln(tan(x)))}{\delta} \to \frac{tan(x)^2+1}{tan(x)}$$
А вот совсем простую задачу:
$$\lim_{\delta \to 0} \frac{\left[(x+\delta)^n-x^n \right]}{\delta}$$
в общем виде решить не получается – нужно задать конкретное значение $$n$$.
Для показательной функции $$a^x$$:
$$a^{x+\delta}-a^x parfrac, a^x \to a^{\delta} \cdot a^x-a^x$$
$$\lim_{\delta \to 0} \frac{\left(a^{x+\delta}-a^x \right)}{\delta} \to a^x \cdot ln(a)$$
А теперь еще забавней – проинтегрируем функцию:
$$y=a^x$$
по определению через предел интегральной суммы. Здесь особенность – верхний предел зададим параметрически через $$Х$$. Для этого составим интегральную сумму:
$$\lim_{n \to \infty} \sum_{k=0}^n \left[ \left( \frac{x}{n} \right) \cdot a^{x{\frac{k}{n}}} \right]$$
и вычислим ее в
$$\lim_{n \to \infty} \sum_{k=0}^n \left[ \left( \frac{x}{n} \right) \cdot a^{x{\frac{k}{n}}} \right] \to \frac{a^x-1}{ln(a)}$$
При этом все константы следует собрать вместе в постоянную интегрирования $$С$$:
$$ \frac {a^x-1}{ln(a)}=\frac{a^x}{ln(a)}+C$$
и тогда имеем первообразную, а заодно и красивую демонстрацию теоремы Ньютона-Лейбница.
Теперь вычисление
$$ \sum_{n=0}^{\infty} \frac{x^n}{n!} \to e^x$$
Воспользуемся известным многим поколениям абитуриентов пособием СканавиС.И.[ 8] – задача № 4.077 из раздела "В", решение которой показывает не только "более высокое качество усвоения школьной программы <...> но и позволит экзаменующемуся обнаружить способность к самостоятельному логическому мышлению" [9].
$$\sum_{n=1}^{m} \left[n \left(2^n \right) \right] \to 2^{m+1} \cdot (m-1) -\frac{m(m+1)}{2}+2$$
Рассмотрим
$$(cos(x)) series,x=0,6 \to 1-\frac{x^2}{2} +\frac{x^4}{24}$$
Теперь зададим 44 члена
$$(cos(x)) series,x=0,44 \to 1-\frac{x^2}{2} +\frac{x^4}{24} -\frac{x^6}{720}$$
Решение уравнений – одна из самых актуальных и одновременно самых сложных задач в среде
Самым универсальным способом решения уравнений является графический, возможности использования которого в
Найдем в общем виде корни полиномиального уравнения одной переменной (степенного многочлена) – это наиболее часто встречающаяся практическая задача. Зададим исходный полином четвертой степени
$$a ullet x^4+b ullet x^3+c ullet x^2+d ullet x+g=0$$
Среда

но само решение получено и для дальнейших вычислений им можно пользоваться.
Попробуем получить это решение другим способом: через пункт Simbolic главного меню. Решение получено и в этом случае выводится на экран, но его размеры (более 40-ка страниц текста) превышают возможности буфера ОС, и даже скопировать его по частям не удается. Так проявляется еще одна проблема символьных расчетов, особенно для решений в общем виде – громоздкие выражения, как правило, неудобные для анализа и последующих преобразований. Выход – упрощать выражения, например, разложением в
Как иллюстрация, на рис.12.6 приводится для кубического уравнения: формула для одного из корней – целиком, а для другого корня – только фрагмент формулы. Размеры и здесь впечатляют.
Теперь попробуем решить полиномиальное уравнение с заданными постоянными коэффициентами. Составим заготовку
$$(x-11)(x-222)(x-3333)(x-44444)(x-5555555)$$
и при помощи оператора expand получим полином:
$$(x-11)(x-222)(x-3333)(x-44444)(x-5555555) expand \to x^5-5603564x^4+266881461885x^3-884847515133875x^2+19239696969998319834x-2009655257834454120$$
(рис 12.6) Первый корень и фрагмент второго корня кубического уравнения
Полученные коэффициенты перенесем через буфер ОС в текстовый файл .txt, созданный, например, при помощи приложения ОС "Блокнот", а оттуда вернем обратно через буфер ОС в
Никаких трудностей не возникло, хотя размеры чисел значительно превосходят представление данных целого типа для многих алгоритмических языков высокого уровня. Даже в случае полинома пятой степени решение легко получается в символьном виде, для этого следует: вставить оператор solve c панели Symbolic, через запятую указать имя аргумента "$$х$$" и нажать Enter.
$$x^5-5603564x^4+266881461885x^3-884847515133875x^2+19239696969998319834x-2009655257834454120 solve,x \to $$\begin{pmatrix} 11\\ 222\\ 3333\\ 44444\\ 5555555 \end{pmatrix}$$$$
В том, что решение найдено именно в символьном виде, а не численно, легко убедиться, записав исходный полином с иррациональными корнями, например:
Подготовим полином:
$$(x- \sqrt{5})(x-2)(x-3)(x-4)(x-5) expand,x \to 120x-71\sqrt{5}x^2+14 \sqrt{5}x^3-\sqrt{5}x^4-154x^2+71x^3-14x^4+x^5+154 \sqrt{5}x-120 \sqrt{5} collect \to x^5+(-\sqrt{5}-14)x^4 +(14 \sqrt{5}+71)x^3+(-71\sqrt{5-154})x^2+(154 \sqrt{5}+120)x-120 \sqrt{5}$$
Найдем решение:
$$x^5+(-\sqrt{5}-14)x^4 +(14 \sqrt{5}+71)x^3+(-71\sqrt{5-154})x^2+(154 \sqrt{5}+120)x-120 \sqrt{5} solve,x \to $$\begin{pmatrix} 2\\ 3\\ 4\\ 5\\ -\sqrt{5} \end{pmatrix}$$$$
Очевидно, что ответ получен в символьной форме.
По данным [6], СКМ
Решение неравенств считается одной из самых сложных тем школьной математики, поскольку требует не только навыков выполнения математических преобразования, но и умения логически анализировать поведение функций в области допустимых значений.
Пример, неверно решаемый в СКМ
$$\frac{\sqrt{x}-3}{x-2} > 0 solve,x \to $$\begin{pmatrix} x < 2\\ 9 < x \end{pmatrix}$$$$
Х должен быть не меньше $$0$$; правильно он решен в СКМ
$$\frac{\sqrt{x}-3}{x-2} > 0 solve,x \to 9 < x \lor 0 \le x < 2$$
Рассмотрим аналитическое дифференцирование. Поскольку производная любой элементарной функции может быть определена по жестко установленному алгоритму, среда
$$\frac{d}{d \blacksquare} \blacksquare$$
с панели Symbolic и занесем в него исходное выражение $$Х^Х$$:
$$\frac{d}{dx} x^x$$
результат получается после выполнения оператора $$\to$$.
$$\frac{d}{dx} x^x \to x \cdot x^{x-1}+x^x \cdot ln(x)$$
Проверим
$$\int x \cdot x^{x-1}+x^x \cdot ln(x) dx \to x^x$$
В случае аналитического интегрирования сложнее: и жестко заданного алгоритма нет, и, вообще, в элементарных функциях не для каждой существует первообразная. Интегрирование – это искусство.
$$\int \frac{1}{x^2+bx+c}dx \to \frac {atan \left( \frac{ \frac{b}{2}+x}{\sqrt{c- \frac{b^2}{4}}} \right)}{\sqrt{c- \frac{b^2}{4}}}$$
при решении с конкретными значениями – все верно.
$$\int \frac{1}{x^2+4x+1}dx \to - \frac {\sqrt{3} atanh \left[ \frac{\sqrt{3}(x+2)}{3} \right] }{3}$$ - корни действительные,
$$\int \frac{1}{x^2+x+1}dx \to - \frac { 2 \sqrt{3} atan \left[ \frac{2 \sqrt{3} \left (x+\frac{1}{2} \right) }{3} \right] }{3}$$ - корни мнимые.
Теперь сложнее:
$$\int \frac {1}{(x^2+4x+1)^2}dx \to \frac{\sqrt{3}ln(x+\sqrt{3}+2)}{36} - \frac{\sqrt{3}ln(x-\sqrt{3}+2)}{36} - \frac {\frac{x}{6} + \frac{1}{3}}{x^2+4x+1}$$
Проверим:
$$\frac{d}{dx} \left( \frac{\sqrt{3}ln(x+\sqrt{3}+2)}{36} - \frac{\sqrt{3}ln(x-\sqrt{3}+2)}{36} - \frac {\frac{x}{6} + \frac{1}{3}}{x^2+4x+1} \right) \to simplify \ to \frac {1}{(x^2+4x+1)^2}$$
Следующий пример демонстрирует интегрирование тригонометрических функций:
$$\int \frac{1}{a+b \cdot sin(x)+c \cdot cos(x)} dx \to \frac{2atan \left[ \frac {b+tan \left( \frac{x}{2} \right) \cdot (a-c)}{\sqrt{a^2-b^2-c^2}} \right]}{\sqrt{a^2-b^2-c^2}}$$
Решается и такой интеграл:
$$\int e^{ax} cos(bx)dx \to \frac {e^{ax}(acos(bx)+bsin(bx))}{a^2+b^2}$$
Читатель, несомненно, вспомнит достаточно изощренный способ его нахождения, сводящийся к интегрированию по частям и в результате – к получению уравнения относительно самого этого интеграла; решение этого уравнения и дает искомый результат [10].
Среда
$$\frac{d}{dy} \int^{2y}_y (e^xy)dx \to e^{2y}-e^y-y(e^y-2e^{2y})$$
Действия с матрицами охватывают весь стандартный набор операторов алгебры матриц. На панели Symbolic расположены три оператора: $$М^Т$$,$$ М^(-1)$$ и $$|M|$$ для транспонирования, обращения и поиска определителя соответственно. Остальные операторы выполняются при помощи функций (в количестве 47 для
В качестве примера приведем символьный расчет
$$|M| \to \left| \begin{pmatrix} a b c\\ d e f\\ h q k \end{pmatrix} \right| \to bfh-bdk-afg+cdq-che+ake$$
Связь с MS Excel достигается встроенными средствами и специальным расширением
Решение дифференциальных уравнений (ДУ) является одной из самых сложных задач математики. Она возникает практически во всех областях знаний: в науке, в технике, в экономике. Как известно, дифференциальные уравнения делятся на обыкновенные (ОДУ) и дифференциальные уравнения в частных производных – по-другому их называют уравнениями математической физики. Последние и представляют более общий инструмент исследования, но большие трудности в их решении заставляют, по возможности, применять аппарат ОДУ. Это нашло отражение в средствах пакетов СКМ и, в частности, в
Методы их численного решения глубоко разработаны в вычислительной математике, широко алгоритмизированы и представлены в
Сразу отметим, что в СКМ Mathematica и Marpl имеются встроенные блоки решения ОДУ в символьной форме; разработчики КСМ
Большинство практических задач может быть сведено к аппарату линейных систем ДУ (ЛОДУ). С одной стороны, методы их аналитического решения и анализа хорошо разработаны и широко известны, а нелинейность в большинстве случаев можно исключить, разбив общую задачу на ряд частных подзадач без большого ущерба для точности.
Известно, что решение ЛОДУ в общем виде равно сумме общего решения однородного ЛОДУ (с нулевой правой частью), и какого-либо частного решения неоднородного ЛОДУ.
Покажем, как эта задача решается в СКМ Mathematica 5, где имеются встроенные блоки решения ОДУ. Для решения ЛОДУ используют встроенную функцию DSolve[ ] следующим образом.
$$DSolve[x''[t]+4x'[t]==10Sin[2t],x[t],t]$$
После исполнительной команды – одновременного нажатия клавиш Shift и Enter, сразу получим результат:
$$DSolve[x''[t]+4x'[t]==10Sin[2t],x[t],t]$$
$${{x[t] \to -1/4e^{-4t}C[1]+C[2]-Cos[2t]-1/2Sin[2t]}}$$
Обратите внимание на несколько необычный способ записи функций: при помощи квадратных скобок; но это, равно как и исполнительная команда на выполнение вычислений одновременным нажатием клавиш Shift и Enter, – специфические особенности СКМ Mathematica.
Для решения подобного уравнения СКМ MathСad, где такие решающие блоки отсутствуют, рекомендуется применять операторные методы – прямое и обратное преобразование Лапласа или Фурье. Напомним, что смысл этого метода заключается в переходе от искомой функции, называемой оригиналом, к особым интегральным функциям комплексного переменного $$s$$ – так называемым изображениям, в результате чего после подстановки изображения вместо оригинала в линейное ДУ операция дифференцирования относительно новой переменной заменяется операцией умножения на соответствующий новый аргумент $$s$$, а само ДУ $$n$$-й степени преобразуется в многочлен этой же степени относительно $$s$$, называемый характеристическим. Определив корни характеристического многочлена и выполнив обратный переход от изображения к оригиналу при помощи обратного преобразования Лапласа или Фурье, соответственно, легко можно отыскать решение исходного ДУ.
Конкретные действия для решения указанной задачи следующие.
Пусть дано исходное ЛОДУ:
$$\frac{d^2}{dt^2} x(t) + 4 \frac {d}{dt}x(t):=10sin(2t)$$
Его необходимо записать в форме с нулевой правой частью:
$$\frac{d^2}{dt^2} x(t) + 4 \frac {d}{dt}x(t)-10sin(2t)$$
Вызывать с панели Symbolic оператор laplace и задать исполнение $$\to$$:
$$\frac{d^2}{dt^2} x(t) + 4 \frac {d}{dt}x(t)-10sin(2t) laplace, \blacksquare \to$$
в результате получается малопонятное выражение, в котором обозначим изображение функции одной буквой, например, h, выражения для начальных значений функции и первой производной заменим, например, на Х0 и Х10, соответственно. После всех этих преобразований и замен будет получено следующее выражение:
$$s(sh-X0)-X10+4sh-4X0- \frac{20}{s^2+4}$$
Очень неудобно. Беда еще, к сожалению, в том, что оператор laplace иногда отказывается работать.
Поэтому проще самим написать изображение для уравнения (**) без помощи оператора laplace. При этом производные заменяются изображениями согласно известной теореме по образцу, приведенному в таблице 12.2.
$$s(sh-X0)-X10+4sh-4X0- \frac{20}{s^2+4}$$
| Производные оригинала | Изображение производной |
|---|---|
| $$X(t)$$ | $$h$$ |
| $$X'(t)$$ | $$s ullet h – X(0)$$ |
| $$X''(t)$$ | $$s ullet (s ullet h – X(0)) – X'(0)$$ |
| $$X'''(t)$$ | $$s ullet ( s ullet ( s ullet h – X(0)) – X'(0)) – X''(0)$$ |
Здесь через $$X(0)$$, $$X'(0)$$, $$X''(0)$$ обозначены начальные условия для производных указанных порядков, в нашем примере они обозначены согласно таблице 12.3.
| Начальные условиядля производных | Обозначения в рассматриваемом примере |
|---|---|
| $$X(0)$$ | $$X0$$ |
| $$X'(0)$$ | $$X10$$ |
Продолжить таблицу 2 в случае необходимости не представляет труда – последующая строка легко получается из предыдущей.
Далее при самостоятельном задании изображения для уравнения (**) к правой части уравнения (*) отдельно применим оператор laplace:
$$10sin(2t) laplace, t \to \frac {20}{s^2+4}$$
Подставим в исходное уравнение (**) и получим следующее выражение:
$$s(sh-X0)-X10+4sh-4X0- \frac{20}{s^2+4}$$
Разрешим это уравнение относительно $$Z$$ оператором solve и применим обратное преобразование Лапласа $$invlaplace$$ (оба с панели Symbolic)
$$s(sh-X0)-X10+4sh-4X0- \frac{20}{s^2+4} solve,h \to \frac {4X0+X10+ \frac{20}{s^2+4} +X0s}{s^2+4s}$$
$$\frac {4X0+X10+ \frac{20}{s^2+4} +X0s}{s^2+4s} invlaplace,s \to X0+ \frac{X10}{4} - cos(2t)- \frac{e^{-4t}}{4} -\frac{sin(2t)}{2}- \frac{X10e^{-4t}}{4} +\frac {5}{4}$$
Это и есть решение ЛОДУ (*), отличия от решения СКМ Mathematica – в форме представления постоянной интегрирования. В последнем случае оно содержат начальные условия в явном виде.
Для создания графиков в среде
Возможности среды
Приятно удивляет простота применения, что позволяет использовать графики не только как средство иллюстрации, но и как удобный инструмент вычислений, постоянно готовый к текущему отображению промежуточных результатов.
На рис.12.7 приведена палитра(панель инструментов) меню Graph для отрисовки графиков, а в таблице 12.4 – назначение и возможности каждого инструмента.
(рис 12.7) Палитра меню Graph
| Имя, англ. | Наименование, русск. | Назначение |
|---|---|---|
| X-E Plot | Построение двумерного графика | Построение всевозможных графиков функции одного аргумента в прямоугольной декартовой СК |
| Применение полярных координат | Построение всевозможных графиков функции одного аргумента в полярной СК | |
| 3D Bar Plot | Трехмерная гистограмма | Представление графика в виде множества трехмерных столбиков, высота которых пропорциональна аппликате |
| Сontour Plot | Контурный трехмерный график | Представление поверхности графика изолиниями равного уровня |
| 3D | Точечный трехмерный график | Представление поверхности графика множеством точек заданного цвета и формы |
| Vector Field Plot | Векторное поле | Изображение в отдельных точках плоскости значение вектора в виде стрелки. Для 3D графика таким вектором является градиент |
| Zoom | Увеличение | Увеличение выделенного фрагмента |
| Х-У Trace | Трассировка | Фиксация координат выделенной точки графика |
| Трехмерный график | Обычный график функции двух переменных |
Кроме инструментов, приведенных в таблице 12.4, есть еще два, которые не приведены в палитре рис.12.7. Первый – мастер построения трехмерных графиков (3D Plot Wizard) – вызывается из главного меню (Insert/Graph/3D Plot Wizard) и существенно облегчает форматирование трехмерных графиков.
Второй – окно форматирования рисунка с графиком – вызывается двойным левым щелчком на поле графика или из контекстного меню (КМ). Вид этого окна зависит от типа графика, оно содержит до 9 вкладок и позволяет выполнять с графиком любые манипуляции. Вот некоторые из них:
Для примера приведем последовательность действий при построении графика функции
$$y=x^2$$ на интервале (-2, 2)
Все будет выполнено автоматически после задания диапазона изменения $$Х$$ и указания функции на левом знакоместе шаблона:

Выполним трассировку графика – указание нужной точки графика: в нашем случае пусть это будет минимум функции $$y=x^2$$.
Указанные действия иллюстрирует рис.12.8.
Теперь построим график такой функции двух переменных:
$$Z(x, y)=Sin(xy)$$
Определим функцию z(x,y).
(рис 12.8) Выполнение трассировки графика для получения координат точки минимумаВызовем из палитры "Graph" инструмент
(рис 12.9) Отображения графика функции Z(x,y)=Sin(xy), созданного в режиме автоматического задания диапазонов аргументовПолучилось что-то непонятное. Уменьшим диапазон по осям аргументов в четыре раза, для чего вызовем из КМ окно свойств, как показано на рис.12.10.
(рис 12.10) Отображения графика функции Z(x,y)=Sin(xy), после уменьшения диапазонов аргументов в четыре разаТеперь получилось подозрительно просто – опять увеличим эти диапазоны, а еще захватим график мышью и покрутим его в разные стороны; окончательно получим следующее (см. рис.12.11).
(рис 12.11) Поворот графика функции Z(x,y)=Sin(xy) при помощи мышиЕще одной изящной возможностью среды можно полюбоваться, снова запустив шаблон 3D графика и вызвав из главного меню (Insert/ Graph/3D Plot Wizard) функцию Polyhedron() – как это показано на рис.12.12, она позволяет изобразить один из 80-ти многогранников (подробные сведения о них приводятся в справочной системе МathСad):
$$z:=Polyhedron(Str)$$,
где $$Str$$ – аргумент в виде управляющей строки, которая в двойных кавычках содержит название многогранника ("
(рис 12.12) Изображение многогранников при помощи функции Polyhedron()
(рис 12.13) Использование функции Polylookup() для получения названия многогранника
А желаете узнать, как по-английски правильно называется многогранник, составленный из шести квадратов и восьми треугольников? Взгляните на рис.12.13– там все очевидно.
В заключение упомянем о возможности вставить в разрабатываемый документ анимацию – как при помощи команды Tools/Animation, открывающей окно создания и просмотра анимации, так и путем включения встроенного видеопроигрывателя View/Playback для просмотра любых внешних файлов в формате AVI.
Справочная система обладает развитыми возможностями и позволяет выбрать документ, содержащий функционирующий пример почти по любой теме работы с СКМ или пример его практического применения в сфере прикладных задач науки и техники. Все примеры – именно действующие, к тому же допускающие внесение изменений и редактирование. Это, в сочетании с интеллектуальными подсказками и автоматической поддержкой Сетевого сервисного центра поддержки фирмы, дает право говорить не просто о справочной системе, а о справочно-сервисном процессоре пакета.
Меню Help СКМ
(рис 12.14) Меню Help СКМ MathСad
(рис 12.15) Пример вызова справочной таблицы. Переход к справочной таблице по размерам треугольника
Справочные таблицы содержат обширные сведения по многим областям науки и техники. Пример обращения к конкретному разделу – "Площадь и периметр для треугольника" – показан на рис.12.15. При этом все листы таблиц Reference Tables –действующие документы
Быстрые шпаргалки Quick Sheets – это примеры решенных разработчиками
Электронные книги e-Books представляют собой наборы готовых документов по определенной тематике. Они являются более сложными и предоставляют большие возможности, о которых можно судить из рис.12.17, где представлен лист содержания e-Book. Особенностью электронных книг является наличие листа содержания, предметный указатель, совершенная система переходов при помощи гиперссылок. Электронная книга открывается в собственном окне, снабженном специальными элементами управления и очень напоминающем традиционное окно браузера. Фирма-разработчик предлагает целую библиотеку таких e-Books. Кроме того, можно воспользоваться электронными книгами, созданными пользователями СКМ
(рис 12.16) Пример работы с быстрыми шпаргалками Quick Sheets. Переход к задаче "Векторная алгебра"

Кроме того, в состав СКМ
(рис 12.17) Содержание e-Book "Data Analysis Extensiоn Pack" ("Анализ данных") – фрагмент
В главе приведен ознакомительный материал по СКМ и наиболее яркому и популярному среди студентов пакету СКМ
Основной упор делался только на разделы математики, близкие и знакомые студенту гуманитарного или инженерного вуза. Возможности СКМ
Достоинства СКМ
Трудно переоценить значение СКМ в сфере образования. В 70-х годах прошлого века курсовые работы по математике выполнялись на механических вычислительных машинах (арифмометрах) "Феликс" и требовали многих дней кропотливой работы, которая выполняется в СКМ за доли секунды. Появилась возможность, образно говоря, "пощупать математику руками".
Более того, СКМ
Были продемонстрированы достоинства символьных методов расчета и большие возможности современных СКМ по их реализации.
Кратко перечислим перспективы совершенствования СКМ по обобщению приведенной литературы:
Для получения официальных документов о завершении программы дополнительного профессионального образования (удостоверения о повышении квалификации, дипломов о профессиональной переподготовке и MBA) необходимо предоставить:
Внимание! Вы можете не заказывать доставку бумажной версии официального документы, а скачать его в электронном виде и распечатать самостоятельно. Информация о выданном документе в течение 1 месяца загружается в Федеральную информационную систему «Федеральный реестр сведений о документах об образовании и (или) о квалификации, документах об обучении» - ФИС ФРДО.
Доступ на новый сайт осуществляется с использованием адреса электронной почты, который был указан вами при регистрации на "старом". Мы постарались перенести все ваши данные с прежнего ресурса, однако не исключена вероятность потери части информации.
При возникновении проблемы со входом, воспользуйтесь функцией сброса пароля
Если вы обнаружите несоответствия, пожалуйста, сообщите нам.