Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

Определение функций пользователя

1) Один из наиболее простых способов задания функции пользователя - присвоение введенной функции (в виде выражения) некоторой переменной:
Name:=выражение

Этот прием фактически означает операцию присваивания. Заданный таким образом объект все же не является полноценной функцией пользователя. Прежде всего потому, что в нем используются только глобальные переменные (х и у). Их значения приходится определять заведомо, используя операцию присваивания. Подобные "функции" нальзя ввести в библиотеки Maple.

2) Более гибкий способ задания полноценных функций пользователя - использование функционального оператора ->. Его синтаксис:

name:=(x,y,...)->Выражение, где name -имя функции (без аргументов), (x,y,...) - список формальных параметров функции, Выражение - вид функции (некоторое выражение, зависящее от параметров (x,y,...)). Вызов функции осуществляется в виде name (x,y,...).Переменные, указанные в списке формальных параметров являются локальными.

При подстановке на их место фактических параметров они сохраняют их значения только в теле функции Выражение. За пределами этой функции переменные с этими именами оказываются либо неопределенными, либо сохраняют ранее присвоенное значение.

3) Еще один способ задания функции пользователя базируется на применении команды unapplay. Её синтаксис:

name:=unapplay(expr, var1,var2,...),

где name - имя функции (без аргументов),
expr - непосредственно выражение функции через аргументы var1,var2,...

В качестве expr может быть использовано имя переменной, которой присвоено выражение, зависящее от var1,var2,... (в этом случае команда unapplay преобразует выражение в функцию).

Обращение к функции осуществляется в виде name(var1,var2,...). Переменные, указанные в качестве формальных параметров являются локальными. Замечание.Для задания сложных выражений можно использовать последовательное определение частей выражения с помощью простого присваивания (1) (при этом переменным не должно быть присвоено никакое значение), а затем, используя (2) или (3), определить сложную функцию, представляющую выражение от ранее определенных (в пункте(1)) выражений.

 


 

Основные объекты и команды Maple

Основные объекты (определение, ввод, действия с ними). Внутренняя структура объектов Maple. Подстановка и преобразование типов

Основные объекты (определение, ввод, действия с ними)

Числа

Maple V работает с числами следующего типа:

  • целыми десятичными (О, 1, 123, -456 и т.д.),
  • рациональными в виде отношения целых чисел (7/9, —123/127 и т.д.),
  • радикалами,
  • вещественными с мантиссой и порядком (1.23E5, 123.456E-10)
  • комплексными (2+3*I)

Целые числа задаются в виде последовательности цифр от 0 до 9.

Maple может работать с целыми числами произвольной величины, количество цифр практически ограничено числом 228. Большие числа, которые не помещаются на одной строке области вывода, Maple переносит на следующую строку, используя символ обратного слэша (\).
Кроме стандартных арифметических операций, к кторым относятся сложение, вычитание, умножение, деление и вычисление факториала (!), Maple предлагает достаточно большой набор команд, позволяющий выполнить действия, специфичные при обработке целых чисел.

 

Получить список всех команд для работы с целыми числами можно, набрав команду:
?integer. Приведем некоторые из этих команд:

ifactor разложение на простые множители
iquo вычисление частного при операции целого деления
irem вычисление остатка при операции целого деления
igcd нахождение наибольшего общего делителя двух целых чисел
isprime проверка, является ли целое число простым

Обыкновенные дроби задаются с помощью операции деления лвух целых чисел.

Заметим, что Maple автоматически произвадит сокращение дробей. Над обыкновенными дробями можно выполнять все основные арифметические операции. Если при задании дроби ее знаменатель сокращается, то такая "дробь" трактуется программой Maple как целое число. Для преобразования обыкновенной дроби в десятичную служит команда evalf(). Второй параметр этой команды задает число значащих цифр. Заметим, что десятичное представление всего лишь аппроксимация точной величины, представленной обыкновенной дробью, т.е. дробь и ее десятичное представление не являются идентичными объектами Maple.

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

В Maple возведение в степень задается символом (^) или последовательностью двух звездочек (**). При задании радикалов также производятся всевозможные упрощения, связанные с вынесением из-под знака радикала максимально возможной величины. Вычисления с целыми, дробями и радикалами являются абсолютно точными, так как при работе с этими объектами Maple не производит никаких округлений в отличие от чисел с плавающей точкой.

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

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

 

Комплексные числа. Для мнимой единицы в Maple используется констаната I. Задание комплексного числа ничем не отличается от его обычного задания в математике (например 2+3*I или d+k*I). Если хотя бы одна из частей комплексного часла (действительная или мнимая) вычисляются в виде числа с плавающей точкой, то и результат будет таким же. Некоторые команды для работы с комплексными числами:

 

Re() выделение действительной части комплексного числа
Im() выделение мнимой части комплексного числа
argument() вычисление аргумента комплексного числа
conjugate() построение комплексно-сопряженного числа

Константы

Maple содержит целый ряд предопределенных именованных констант - таких, к значениям котрых можно обращаться по имени. Часть этих констант не может быть изменена. К ним относятся:

false -логическое значение "не истинно";
gamma -константа Эйлера (0.5772156649..);
infinity -положительная бесконечность;
true -логическое значение "истинно";
Catalan -константа Каталана (0.915965594..);
FAIL -специальная константа, используется в качестве третьего значения при вычислении функций трехзначной логики;
I -мнимая единица;
Pi -константа р=3.141..

Число е задается как exp(1).

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

 

Посмотреть все константы, определенные в Maple, можно, исполнив команду: ?ininame

Кроме перечисленных на странице Cправки констант все прерменные, имена которых начинаются с _Env, по умолчанию являются системными константами Maple.

Строки

Строки - любой набор символов, заключенный в ДВОЙНЫЕ кавычки. Длина строки в Maple практически не ограничена и может достигать на 32-битных компьютерах длины 268 435 439 символов.

Если идут подряд две строки, разделенные символами-разделителями (пробел, табуляция или переход на новую строку), то в обрасти вывода эти две строки соединяются в одну, причем, без пробела между ними. Соединение строк можно осуществить и с помощью операции конкатенации ||, или обращением к функции cat(строка 1, строка 2). Строка представляется как одномерный массив, поэтому можно использовать индекс (или диапазон) для выделения элемента (или подстроки) из заданной строки.

 

Поделиться:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...