> type(123,integer);
true
> type(123.,integer);
false
> type(123/456,rational);
true
> type(1./3,rational);
false
> type(1/2,fraction);
true
> type(0.5,fraction);
false
2.1.8. Преобразования чисел с разным основанием
В Maple возможна работа с числами, имеющими различное основание (base), в частности, с двоичными числами (основание 2 — binary), восьмеричными (основание 8 — octal) и шестнадцатиричными (основание 16 — hex). Функция convert позволяет легко преобразовывать форматы чисел:
> convert(12345,binary);
11000000111001
> convert(%,decimal,binary);
12345
> convert(12345,octal);
30071
> convert(123456,hex);
1E240
> convert(%,decimal,hex);
123456
Помимо приведенных вариантов функция convert имеет еще ряд других форм. С ними можно познакомиться с помощью справки по этой мощной функции. В дальнейшем будет приведен ряд других применений этой функции.
2.1.9. Пакет RealDomain для вычислений с действительными данными
В целом ряде случаев работа вычислителей Maple по умолчанию в области комплексных значений данных нежелательна, поскольку приводит к представлению результатов также в комплексном виде:
> restart:simplify(sqrt(х^2)); ln(-2); solve(х^3-8=0,x);
csgn(x) x
ln(2)+ π I
2, -1+√3I, -1-√3I
В связи с этим в Maple введен новый математический пакет расширения RealDomain, переводящий вычисления в область реальных значений данных. Вызов пакета обеспечивается следующим образом:
> restart:with(RealDomain);
[ℑ, ℜ, ^, arccos, arccosh, arccot, arccoth, arccsc, arccsch, arcsec, arcsech, arcsin, arcsinh, arctan, arctanh, cos, cosh, cot, coth, csc, csch, eval, exp, expand, limit, ln, log, sec, sech, signum, simplify, sin, sinh, solve, sqrt, surd, tan, tanh]
Нетрудно заметить, что этот пакет переопределяет элементарные функции и некоторые другие вычислительные функции таким образом, что вычисления с ними ведутся только с реальными (вещественными, действительными) числами. Это видно из представленных ниже примеров:
> simplify(sqrt(х^2));
|x|
> ln(-2);
undefined
> solve(х^3-8=0,х);
2
Следует отметить, что вычисляемые выражения при работе с данным пакетом надо размещать после его загрузки.
2.1.10. Модификация графической функции plot
В старых версиях Maple функция plot нередко отказывалась строить графики функций, значения которых были комплексными числами. Но уже в Maple 8 алгоритм построения графиков переработан. Теперь, если выражение, по которому строится график, в ходе оценивания дает мнимую часть, она отбрасывается, так что строится график только действительной части выражения. Малые по модулю мнимые части также нередко отбрасываются — впрочем, когда именно не совсем ясно.
Рис. 2.4 дает примеры этого. В верхней части документа строятся графики функции квадратного корня от х, логарифма и синуса. Нетрудно заметить, что для квадратного корня и логарифма строится и впрямь только та часть графиков, где значения функций действительны — при х положительном. Для х< 0 строится только график функции синуса, поскольку синус дает вещественные значения при любом x — как положительном, так и отрицательном.
Рис. 2.4. Особые случаи применения функции plot
Еще более интересен случай, представленный снизу рис. 2.4. Здесь функция задана как решение выражения f, которое дает корни в виде комплексных выражений. Несмотря на это возможные части графика функции f(x) строятся.
Сложными являются такие типы данных, которые являются представлением множественных и подчас разнохарактерных объектов. Нередко такие данные включают как часть себя рассмотренные выше простые типы данных.
2.2.1. Создание наборов (множеств)
В системе Maple любые выражения могут включаться в наборы , относящиеся к множественным данным. Такие наборы в виде множеств создаются с помощью фигурных скобок { }:
> {a,b,a,a,b,d,e,c,d};
{a, b, с, е, d}
> {10,2+3,4+4,8,5,1};
{1, 5, 8, 10}
> {`Hello` ,`my`,`friend`};
{friend, Hello, my}
Отличительная черта множеств — автоматическое устранение из них повторяющихся по значению элементов. Кроме того, Maple расставляет элементы множеств в определенном порядке — числа в порядке увеличения значения, а символы и строки в алфавитном порядке. Для множеств нет строгого математического определения, и мы будем считать их наборами, удовлетворяющими перечисленным выше признакам.
Читать дальше
Конец ознакомительного отрывка
Купить книгу