635.23K
Category: programmingprogramming

Maple

1.

Maple
Венатовская Людмила Александровна
[email protected]

2.

Введение
Maple – интерактивная система
• Язык реализации (ядро системы) – С (Си)
• Имеет свой язык процедурного программирования (функции
библиотек) – Maple язык
Начало работы
• Сессия начинается со знака >
• Функции – возвращает результат некоторого преобразования
(sin (x))
• Операторы – специальные знаки (Σ, √, +, =, и т.д.)
• Каждый оператор или команда должны обязательно
завершаться разделительным знаком точка с запятой (;) или
двоеточие (:)

3.

Использование знаков алфавита
Алфавит Maple-языка содержит:
• 26 малых латинских букв (от a до z)
• 26 больших латинских букв (от А до Z)
• 10 арабских цифр (от 0 до 9)
• 32 специальных символа (афиметические операторы +, -, *, / и ^
др.)
Имеется множество особых математических символов.
Имеется 5 пар альтернативных символов (означают одно и тоже)
^ и **
[ и (|
] и |)
{ и (*
} и *)

4.

Специальные одиночные и составные знаки
% - системная переменная, хранящая результат предыдущей
команды;
: - фиксатор выражения, предотвращает вывод результата
вычислений в ячейку вывода;
; - фиксатор выражения, дающий вывод результата вычисления в
ячейку вывода;
# - указатель программного комментария;
` - ограничитель строки (например `string`);
:= - оператор присвоения (например x:=5);
;; - пустой оператор;
:: - указатель типа переменной (например n::integer или
z:: complex);
\ - знак обратного деления, который имеет множественные
значения в зависимости от контекста.

5.

Объекты, переменные и выражения
• Простейшие объекты: числа, константы и строки.
• Вычисления с целыми, дробями и радикалами являются
абсолютно точными.
• Числа:
integer – целые числа
fraction – обыкновенные дроби
radical – радикалы
float – числа с плавающей точкой
complex – комплексные числа

6.

Арифметические операции
+ сложение
вычитание
* умножение
/
деление
!
факториал (применим только к целым неотрицательным
числам)
^ или ** возведение в степень
Последовательно выполнения (слева на право):
! ; ^ или **; * или /; + или -.
Для изменения последовательности – ( ).

7.

Операции с целыми числами
Результат операции – рациональные числа
• length() – вычисляет количество цифр в результате
предыдущего вычисления

8.

Команды для работы с целыми числами
• %% и %%% - идентифицируют результаты предпредыдущей и предпредыдущей команд;
• ifactor – разложение на простые множители;
• вычисление частного iquo и остатка irem при выполнении
операции целого деления;
• igcd – нахождение наибольшего общего делителя двух целых
чисел;
• isprime – выполнение проверки, является ли целое число
простым. Результатом команды является булева константа true
(истина) или false (ложь).
Список всех команд ?integer

9.

Примеры

10.

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

11.

Радикалы
• Радикалы задаются как результат возведения в дробную степень
целых или дробных чисел, или вычисления из них же
квадратного корня функцией sqrt(), или вычисления корня n-ой
степени с помощью функции surd(число, n).
• операция возведения в степень задается символом ctrl+^ или **

12.

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

13.

Числа с плавающей точкой
• Количеством выводимых после десятичной точки цифр можно
управлять

14.

Особенности ввода / вывода чисел
• Для отделения целой части мантиссы от дробной используется
разделительная точка;
• Нулевая мантисса не отображается;
• Мантисса отделяется от порядка пробелом, который
рассматривается как знак умножения;
• Мнимая часть комплексных чисел задается умножением ее на
символ мнимой единицы I
• По возможности Maple предоставляет численный результат в
виде точного рационального числа (отношение двух целых).

15.

Вычисление смешанных арифметических
выражений
• Целые, дроби, радикалы – результат имеет тот же вид данных.
• Если присутствует число с плавающей точкой - результатом
будет число с плавающей точкой (если в выражении не
присутствует радикал).
• Радикал вычисляется точно, а коэффициент при нем либо
точно, либо в виде числа с плавающей точкой

16.

Комплексные числа
Re() – выделение действительной части
Im() – выделение мнимой части
Argument() – вычисляет аргумент комплексного числа
Conjugate() – строит комплексное сопряженное

17.

Числа с различным основанием
Maple может преобразовывать числа с различным основанием (от 2 до 36,
в том числе бинарные и шестнадцатеричные) в десятичные числа
двоичные числа (основание 2 – binary)
восьмеричные числа (основание 8 – octal)
шестнадцатеричные числа (основание 16 – hex)

18.

Сложные типы данных. Множества
Множественные данные
• {…, …}
• автоматическое устранение повторяющихся по значению
элементов
• автоматически расставляет числа в порядке увеличения
значения, а символы и строки – в алфавитном порядке.

19.

Списки выражений
Cписки – упорядоченные наборы.
[…, …]
Для создания парных списков (например координат точек (x,y)):
zip(f, u, v) или zip(f, u, v, d)
f – бинарная функция
u, v – списки или векторы

20.

Примеры

21.

Массивы, векторы, матрицы
Списки
[1, 2.54, 3, 4]
[a, b, `Привет`]
[sin(x), 2*cos(x), a^2-b]
Векторы (одномерный массив) и матрицы (двумерный массив)
array[a..b, s1] – вектор с индексами от a до b и значениями в одномерном
списке s1;
array[a..b, c..d, s2] – матрица с номерами строк от a до b, номерами
столбцов от c до d и значениями в двумерном списке s2

22.

Константы
• Символьные – представлены своим символьным именем.
• Числовые – не имеют имени и представлены просто числами
(например 2*sin(1.25)) – 2 и 1.5 – числовые константы.
• Строковые – произвольная цепочка символов, заключенные в
обратные апострофы (например `Hello`, `My number` и т.д.)
• Встроенные в ядро Maple
Note: ?constant
Все константы ?ininame

23.

Константы встроенные в ядро Maple
false– логическое значение «ложно»;
γили gamma –константа Эйлера, равная 0,5772156649…
∞ или infinity– положительная бесконечность
true– логическое значение «истинно»;
FAIL – специальная константа ;
Catalan – константа Каталана, равная 0,915965594….
I – мнимая единица −1
Pi – число π=3.141592654…
В данный список не входят
число е - используем exp(1)
NULL – пустая часть последовательностей
Order – порядок многочлена и д.р.

24.

Константы, значения которых могут быть
переопределены
• Digits – задает число значащих цифр для операции с числами с
плавающей точкой (по умолчанию равна 10)
• Order – определяет количество членов в разложении функции в
ряд Тейлора (по умолчанию равна 6)

25.

Идентификация констант
type(x, constant), type(x, realcons) – возвращают логическое
значение true, если х представляет целочисленную или
вещественную константу, и false, если х не является константой

26.

Защита и создание новых констант
• Имена встроенных констант (как и имена функций) защищены
специальным атрибутом protected
• Создание новых констант

27.

Строки
• Строка – любой набор символов, заключенный в двойные кавычки
• Тип string – любой набор символов, заключенный в двойные
кавычки.
• Представляет собой одномерный массив => можно использовать
индексы для выделения подстроки.
Команды:
length(str) – возвращает число символов, содержащихся в строке str;
substring(str, a..b) – возвращает подстроку строки str
cat(str1, str2, ..) –объединение строк str1, str2, и т.д.
SearchText(s, str) – производит поиск подстроки s в строке str и при его
успехе возвращает номер позиции s в строке str (иначе возвращает 0)
convert(expr, string) – переводит выражение в строку

28.

Примеры обработки строк

29.

Обработка строк
Неисправляемые программные комментарии - #
Контроль типа строковых данных – type(expession, string)

30.

Переменные, неизвестные и выражения
• Каждая переменная имеет имя, представляющее последовательность
латинских символов, начинающихся с буквы, причем строчные и
прописные буквы считаются различными
• Можно в именах переменных использовать пробелы, но тогда нужно
использовать обратные кавычки
• Запрещено использовать зарезервированные слова языка Maple: and
break, by , catch и д.т.
• Запрещено использовать защищенные слова Maple, например, имена
неизменяемых констант.

31.

Переменные
• Переменные позволяют хранить и обрабатывать разнообразные
типы данных, таких как целый (integer), дробь (fraction),
числовой с плавающей точкой (float) и строка (string) и т.д.
• Перечисление всех допустимых типов данных ?type
• Явное указание типа переменной name::type
По умолчанию имеют тип symbol, представляющий символьную
переменную и ее значением является ее собственное имя.
• whattype() – определяет тип выражения или переменной,
заданных в качестве ее параметра

32.

Выражение
• Выражение представляет собой комбинацию имен переменных,
чисел и других объектов Maple, соединённых знаками
допустимых операций.
• Операция присвоения (:=) переменная:= выражение;

33.

Отмена присвоения
Отмена присвоения
• разом всех переменным: restart;
• для одной переменной х: x:='x';
• предание переменной статуса неопределенной: x:=evaln(x);

34.

Придание переменным статуса
предполагаемых
• assume(x, prop) – предание переменным статуса
предполагаемых, здесь x – переменная, prop – свойство

35.

Придание переменным статуса
предполагаемых

36.

Выражение
• Если в выражении используется переменная, которой не
присвоено никакого значения, то такая переменная
рассматривается как неизвестная величина, а выражение –
называется символьным.
English     Русский Rules