ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 01.04.2021
Просмотров: 1352
Скачиваний: 16
Данные множественного типа
Неупорядоченные наборы — множества — создаются с помощью
фигурных скобок. Из множеств автоматически удаляются повторяющиеся
элементы.
> {a, b, g, a, a, c, c, f};
{
f, g, a, b, c
}
> {5, 7-4, pi, exp(ln(3)), sqrt(25), 3!};
{
3
,
5
,
6
, π
}
Упорядоченные наборы — списки — создаются с помощью квадрат-
ных скобок:
> s1 := [5, 7-4, pi, exp(ln(3)), sqrt(25), 3!];
s1
:= [5
,
3
, π,
3
,
5
,
6]
> s2 := [[a, b], [c, d]];
s3 := [[1, 2], [2, 5]];
s2
:= [[
a, b
]
,
[
c, d
]]
s3
:= [[1
,
2]
,
[2
,
5]]
Списки широко применяются для задания векторов и матриц:
> V := array(1..6, s1);
V
:= [5
,
3
, π,
3
,
5
,
6]
> M1 := array(1..2, 1..2, s2);
M2 := convert(s3, matrix);
M1
:=
a b
c d
M2
:=
1 2
2 5
Элементы векторов и матриц являются индексированными перемен-
ными. Допустимы операции вызова нужного элемента и присваивания
ему нового значения.
> V[1] := V[3]*V[6]/3:
evalm(V);
[2
π,
3
, π,
3
,
5
,
6]
21
> evalm(M1-a*M2);
0
b
−
2
a
c
−
2
a d
−
5
a
> evalm(M1 &* M2);
a
+ 2
b
2
a
+ 5
b
c
+ 2
d
2
c
+ 5
d
> evalm(M2^(-1));
5
−
2
−
2 1
Подробнее овекторах и матрицах будет сказанов разделе 4.1.
Константы
Константы — это простейшие именованные объекты, несущие за-
ранее предопределенные значения. Их имена также заранее определены
и не могут меняться. Обычные числовые константы не имеют имени и
представлены просто числами.
> type(false, constant);
true
> type(exp(I*Pi), constant);
true
Именованные константы
Константа
Описание
Pi
Число
π
= 3
.
141592654
gamma
Константа Эйлера
γ
= lim
n
→∞
n
i
=1
1
i
−
ln
n
= 0
.
5772156649
Catalan
Константа Каталана
∞
i
=1
(
−
1)
i
(2
i
+ 1)
2
= 0
.
9159655942
infinity
Бесконечность
∞
true
Логическая константа «Истина»
false
Логическая константа «Ложь»
FAIL
Логическая константа «Неопределенность»
Подробную информацию оконстантах системы Maple можнополу-
чить, исполнив команду
?constants
.
22
Переменные
Для явного указания типа переменных используется конструкция
name::type
. Для присваивания переменной значения используется опе-
ратор
:=
. Для отмены присваивания — одна из конструкций
x := ’x’
или
x := evaln(x)
.
Иногда расчеты предполагают, что переменные могут иметь опреде-
ленные ограничения. Например, они не должны принимать отрицатель-
ных значений при обычном вычислении квадратного корня или логарифма
числа. Для придания переменным статуса предполагаемых используются
функция
assume
и команда
assuming
. Действие функции
assume
рас-
пространяется на весь документ, а команды
assuming
— только на одну
операцию.
> sqrt(x^2);
ln(exp(2*y));
√
x
2
ln(e
2
y
)
> assume(x, positive):
sqrt(x^2);
about(x);
x
∼
Originally x, renamed x~:
is assumed to be: RealRange(Open(0),infinity)
ln(exp(2*y)) assuming y>-infinity;
about(y);
2
y
y:
nothing known about this object
Функцию
assume
, как и ко манду
assuming
, можно использовать
не толькодля переменных, нои для целых выражений.
23
2.2
Операторы и операнды
В Maple имеется три типа операторов: бинарные (
binary
), с одним
операндом (
unary
) и без о перандо в (
nullary
).
Некоторые операторы Maple в порядке их выполнения
Оператор
Тип
||
binary
::
binary
%
nullary
.
unary(prefix / postfix) / binary
!
unary(postfix)
^ @@
binary
* &* / @ intersect
binary
+ - union minus
binary
mod
binary
subset
binary
..
binary
< <= > >= = <> in
binary
$
unary(prefix) / binary
not
unary(prefix)
and
binary
or
binary
xor
binary
->
binary
,
binary
:=
binary
Подробную информацию об операторах можно получить, исполнив
команду
?operators
.
Для задания функций используется функциональный оператор
->
:
> f := x -> exp(-I*x)*sin(x):
f(Pi/2);
−
I
> g := (x, y) -> sqrt(x^2+y^2):
simplify(g(sin(x), cos(x)));
1
24
Функция
define
служит для создания операторов, тогда как функ-
ция
definemore
позволяет добавить свойства к уже определенному
функцией
define
оператору.
> define(L, linear, L(1)=t):
L(x^2+2*x+2);
L
(
x
2
) + 2
L
(
x
) + 2
t
2.3
Математические функции
Maple имеет полный набор элементарных функций.
Основные тригонометрические функции
Функция
Описание
sin(x)
Синус
cos(x)
Косинус
tan(x)
Тангенс
cot(x)
Котангенс
sec(x)
Секанс
csc(x)
Косеканс
arcsin(x)
Арксинус
arccos(x)
Арккосинус
arctan(x)
Арктангенс
arccot(x)
Арккотангенс
arcsec(x)
Арксеканс
arccsc(x)
Арккосеканс
sinh(x)
Синус гиперболический
cosh(x)
Косинус гиперболический
tanh(x)
Тангенс гиперболический
coth(x)
Котангенс гиперболический
sech(x)
Секанс гиперболический
csch(x)
Косеканс гиперболический
arcsinh(x)
Арксинус гиперболический
arccosh(x)
Арккосинус гиперболический
arctanh(x)
Арктангенс гиперболический
arccoth(x)
Арккотангенс гиперболический
arcsech(x)
Арксеканс гиперболический
arccsch(x)
Арккосеканс гиперболический
25