1 MAPLE Комплексные числа Maple может работать с комплексными числами. Мнимая единица в комплексном числе (корень квадратный из -1) обозначается зарезервированным.

Презентация:



Advertisements
Похожие презентации
Лекция 4 Программирование на Паскале. Элементы языка Турбо Паскаль 7.0. Типы данных. Управляющие конструкции.
Advertisements

Моделирование в электронных таблицах. Этап 4 можно реализовать с помощью табличного процессора. Конкретно с помощью программы Microsoft Excel.
Арифметические выражения. Выражение - это формальное правило для вычисления некоторого значения. В зависимости от типа значения выражения можно разделить.
Тема урока Команда присваивания. Арифметические операции и выражения. Стандартные функции.
turbo.exe основной файл среды Любой язык обладает алфавитом, синтаксисом и семантикой. В алфавит входит набор символов, использующихся в языке с помощью.
Объектно-ориентированный язык программирования. Переменная - эта поименованная ячейка памяти, хранящая какое-либо одно значение (одно число, один фрагмент.
Cистема аналитических вычислений MAPLE Введение. Что представляет собой Waterloo Maple? Калькулятор «Машина» символьной математики Среда для решения математических.
Основные объекты и команды Maple. Числа целые десятичные (О, 1, 123, -456 и т.д.), рациональные в виде отношения целых чисел (7/9, 123/127 и т.д.), радикалами,
«Обработка массивов данных» Delphi. Тема 4:4: «Обработка массивов данных» План темы: l1l1. Понятие массива данных. l2l2. Описание массива в программе.
Оператор присваивания. Арифметические выражения. Типы данных. Продолжаем изучать основы Turbo Pascal.
Основы языка Pasсal.
Тип, имя и значение переменной.. Переменные. В объектно-ориентированных языках программирования, и в частности в языке Visual Basic, переменные играют.
Язык программирования Turbo Pascal. Программирование Программирование – это запись разработанного алгоритма на языке программирования. 4 Автор языка Паскаль.
10 класс Урок 55.. Выражения и операции Любое выражение имеет определенный тип и после вычисления возвращает некоторое значение. Простейшими.
Урок 6 Turbo Pascal Язык профессионального программирования, который назван в честь французского математика и философа Блеза Паскаля (1623–1662) и разработан.
Массивы 9 класс. Основные теоретические сведения Примеры решения задач.
LOGO Основные сведения о языке Бейсик Урок информатики в 10 классе Муниципальное образовательное учреждение «Средняя общеобразовательная школа 101» г.
Числовые выражения В языке Q-basic. Переменные. Переменная - это область данных в памяти, имеющая имя. Переменная - это величина, которая может меняться.
Чтобы писать программы в среде программирования необходимо изучить его знаковую систему.
Алфавит и синтаксис языка программирования Visual Basic.
Транксрипт:

1 MAPLE Комплексные числа Maple может работать с комплексными числами. Мнимая единица в комплексном числе (корень квадратный из -1) обозначается зарезервированным символом I (заглавная латинская И). Функции Re(x) и Im(x) возвращают действительную и мнимую части комплексных чисел. Контроль за числами. Функция type(x, numeric) позволяет выяснить, является ли х числом. Если является, то она возвращает логическое значение true (истина), а если нет, то false (ложь). Функции type(x, integer), type(x, rational) и type(x, fraction) можно использовать для проверки того, имеет ли х значение соответственно целого числа, рационального числа или простой дроби.

2 MAPLE Преобразования чисел с разным основанием В Maple возможна работа с числами, имеющими различное основание. Помимо десятичных чисел (основание 10 – decimal) используются: - двоичные (основание 2 binary), - восьмеричные (основание 8 octal), - шестнадцатеричные (основание 16 hex). Функция convert позволяет легко преобразовывать форматы чисел. Эта функция может преобразовывать в числа и строковые выражения.

3 MAPLE Наборы (множества) Любые выражения могут включаться также в наборы. Такие наборы в виде множеств создаются с помощью фигурных скобок { }. Отличительная черта множеств автоматическое устранение из них повторяющихся по значению элементов. Кроме того, Maple расставляет элементы множеств в определенном порядке числа в порядке увеличения значения, а символы и строки в алфавитном порядке. Для множеств нет строгого математического определения, и мы будем считать их наборами, удовлетворяющими перечисленным выше признакам. С помощью множеств, в частности, задаются системы уравнений.

4 MAPLE Списки выражений Для создания упорядоченных наборов списков служат квадратные скобки [ ]: > [10, 2+3, 4+4, 8, 5, 1]: [10, 5, 8, 8, 5, 1] Элементы списков преобразуются и выводятся строго в том порядке, в каком они были заданы. Списки широко применяются для задания векторов и матриц. В ряде случаев, например при подготовке данных для двумерных графиков, возникает необходимость в подготовке парных списков скажем, координат точек (х, у) графика. Для этого можно использовать функцию zip(f, u, v) или zip(f, u, v, d). Здесь f бинарная функция, u, v списки или векторы, d необязательный параметр.

5 MAPLE Для создания векторов (одномерных массивов) и матриц (двумерных массивов) служит функция array. Обычно она используется в следующих формах: - аrrау[а..b,s1] возвращает вектор с индексами от а до b и значениями в одномерном списке s1; - аrrау[а..b,c..d,s2] возвращает матрицу с номерами строк от а до b, номерами столбцов от с до d и значениями в двумерном списке s2. Двумерные списки часто путают с матрицами. Векторы и матрицы создаются с помощью функции array и являются отдельным типом данных. Элементами векторов и массивов могут быть константы, переменные, выражения, списки и иные объекты. Эти элементы являются индексированными переменными и их положение указывается индексами. Размерность массивов, создаваемых списками, не ограничена и массивы могут быть многомерными. Имеется множество функций для работы со списками, массивами и матрицами.

6 MAPLE Таблицы Еще одним важным типом множественных данных являются таблицы. Они задают данные с произвольной индексацией. Для создания таблиц служит функция table, которая при вызове в простейшем виде table[] создает шаблон пустой таблицы. Пустая таблица резервирует память под данные. Когда параметром функции table является список выражений, он выводится в естественном порядке расположения элементов таблицы, но с произвольным порядком индексации. Можно выделить отдельные компоненты таблицы и вывести значения и индексы таблицы с помощью функций entries и indices.

7 MAPLE Строки и комментарии Строковые данные Строки как тип данных это просто цепочки символов. Они обычно используются для создания текстовых комментариев. Строки должны каким-либо образом выделяться, чтобы Maple не отождествляла их с именами констант и переменных. Для этого строки- комментарии имеют внутренний разделительный признак, который устанавливается при их вводе (нажатием клавиши F5, которое приводит к исчезновению знака >). В других случаях последовательность символов рассматривается как строка, если она заключена в обратные апострофы, то есть в знаки '. Два апострофа подряд формируют апостроф как знак символьной строки, например `abc``def ` дает строку abc`def. Любое математическое выражение может входить в строку и при этом не выполняется: > '2+2 не всегда "четыре"'; 2+2 не всегда 'четыре' Неисполняемые программные комментарии Часто возникает необходимость в задании программных комментариев. Любой текст после знака # рассматривается как невыводимый (неисполняемый) программный комментарий даже если это математическое выражение. При этом он не вычисляется. Например: > 2+3; #Это пример. А это выражение не вычисляется: Комментарии полезны в программах на Maple-языке и обычно используются для объяснения особенностей реализованных алгоритмов.

8 MAPLE Константы Константы - это простейшие именованные объекты, несущие заранее предопределенные значения. Их имена (идентификаторы) также заранее определены и не могут меняться. Подробную информацию о константах можно найти, исполнив команду ?constant. В выражениях часто встречаются литералы – это неименованные числовые константы. В выражении 2*sin(1.25) числа 2 и 1.25 являются числовыми литералами. Строковыми константами являются произвольные цепочки символов, заключенные в обратные апострофы, например 'Hello', 'Привет', 'My number. Числа, заключенные в апострофы, например '123456', также становятся строковыми константами, которые нельзя использовать в арифметических выражениях. Встроенные в ядро константы Есть также ряд констант, которые правильнее считать заведомо определенными глобальными переменными: false логическое значение «ложно»; gamma константа Эйлера, равная ; infinity положительная бесконечность (отрицательная задается как -infinity); true логическое значение «истинно»; Catalan константа Каталана, равная ; FAIL специальная константа (см. справку, выдаваемую по команде ?FAIL); I мнимая единица (квадратный корень из -1); Pi представляет константу = В этот список не входит основание натурального логарифма число е. В качестве этой константы рекомендуется использовать ехр(1). Она отображается как жирная прямая буква Е. A exp(1.) выводит (что и следовало ожидать). Идентификация констант Функции type(х, constant) и type(x, realcons) возвращают логическое значение true, если х представляет целочисленную или вещественную константу, и false, если х не является константой.

9 MAPLE Переменные это объекты, значения которых могут меняться по ходу выполнения документа. Тип переменной может быть задан директивно с помощью конструкции name::тип, а также явно простым присвоением значения. Имена (идентификаторы) переменных – это последовательность допустимых символов алфавита, начинающаяся с буквы. Регистр букв учитывается. Не допускается использовать в качестве имен переменных зарезервированные слова, имена предопределенных констант и функций. Чтобы проверить уникальность вводимого идентификатора можно выполнить команду ?name, где name – выбранный идентификатор переменной. По умолчанию любые переменные рассматриваются как объекты символьного типа. Благодаря этому такие переменные могут фигурировать в математических выражениях (таких, как sin(x)/x) без их предварительного объявления – это не влечет за собой появления сообщений об ошибках и является более естественным. Для присваивания переменным конкретных значений используется комбинированный символ присваивания «:=». Если значение переменной определено с помощью оператора присваивания, то такие переменные не могут использоваться в символьных вычислениях. Для придания статуса неопределенных переменных необходимо либо вызвать команду restart (тогда все ранее определенные переменные станут неопределенными), либо выполнить оператор x:=x;, либо использовать функцию x:=evaln(x);.

10 MAPLE Операторы Имеется пять основных типов операторов: - binary бинарные операторы (двумя операндами); - unary унарные операторы (с одним операндом); - nullary нульарные операторы (без операнда это одна, две и три пары кавычек); - precedence операторы старшинства (включая логические операторы); - functional функциональные операторы. Бинарные операторы: «+» - Сложение; «-» - Вычитание; «*» - Умножение; «/» - Деление; «**» или «^» - Возведение в степень; «mod» - Остаток от деления; «$» - Оператор последовательности; «.» - Разделительная точка; - Оператор композиции; - Повторение композиции; «,» - Разделитель выражений; «:=» - Присваивание; «..» - Задание интервала; «||» - Конкатенация (объединение) строк.

11 MAPLE Операторы Для данных типа «множество» определены следующие бинарные операторы: union включает первый операнд (множество) во второй; intersect создает множество, содержащее общие для операндов элементы; minus исключает из первого операнда элементы второго операнда. В любом случае, в результирующем множестве устраняются повторяющиеся элементы. Оператор композиции может использоваться для создания сложных функций, содержащих цепные дроби. В примере используется функциональный оператор «->», задающий пользовательскую функцию. Специальный оператор % обеспечивает подстановку в строку ввода (или в выражение) последнего результата операции, % предпоследнего и %% третьего с конца.

12 MAPLE Операторы Логические операторы: « » - Больше; «>=» - Большее или равно; «=» - Равно; «» - Не равно; «and» - Логическое «и»; «or» - Логическое «или». Результатом вычисления выражения с логическими операторами являются логические константы true или false, если оно не выполняется. Кроме того, к логическим операторам относится унарный оператор «not» он представляет логическое «нет». Для возврата логических значений выражений с этими операторами используется функция evalb(условие). Логические операторы часто используются в управляющих структурах программ, составленных на языке программирования Maple.

13 MAPLE Операторы Специальные типы операторов: - композиционные - функциональные («var -> result» или « »); - неопределенные и инертные («&name»); - заданные с помощью команды define(name, свойство1, свойство2,….) time() – системная функция, показывающая время в секундах, затраченное на выполнение указанного в скобках оператора.

14 MAPLE Математические функции Понятие о встроенных функциях Maple имеет полный набор элементарных математических функций. Все они, кроме арктангенса двух аргументов, имеют один аргумент х, например sin(x). Он может быть целым, рациональным, дробно-рациональным, вещественным или комплексным числом. В ответ на обращение к ним элементарные функции возвращают соответствующее значение. Поэтому они могут быть включены в математические выражения. Все описанные здесь функции называются встроенными, поскольку они реализованы в ядре системы. Целочисленные функции, используемые в теории чисел: factorial(n) функция вычисления факториала (альтернатива оператор !); iquo(a.b) целочисленное деление а на b; irem(a,b) остаток от деления а на b; igcd(a b) наибольший общий делитель; lcm(a,b) наименьшее общее кратное.

15 MAPLE Математические функции В ядре Maple реализован полный набор тригонометрических и гиперболических функций, а также их обратных функций: sin синус; cos косинус; tan тангенс; sec секанс; csc косеканс; cot котангенс; arcsin арксинус; arccos арккосинус; arctan арктангенс; arcsec арксеканс; arccsc арккосеканс; arccot арккотангенс; sinh гиперболический синус; cosh гиперболический косинус; tanh гиперболический тангенс; sech гиперболический секанс; csch гиперболический косеканс; coth гиперболический котангенс; arcsinh гиперболический арксинус; arccosh гиперболический арккосинус; arctanh гиперболический арктангенс; arcsech гиперболический арксеканс; arccsch гиперболический арккосеканс; arccoth гиперболический арккотангенс. К степенным и логарифмическим относятся следующие функции Maple: ехр экспоненциальная функция; ilog10 целочисленный логарифм по основанию 10 (возвращает целую часть от логарифма по основанию 10); ilog целочисленный логарифм (библиотечная функция, возвращающая целую часть от натурального логарифма); ln натуральный логарифм; log логарифм по заданному основанию (библиотечная функция); log10 логарифм по основанию 10; sqrt квадратный корень.

16 MAPLE Математические функции Функции с элементами сравнения В алгоритме вычисления ряда функций заложено сравнение результата с некоторым опорным значением. К таким функциям относятся: abs абсолютное значение числа; ceil наименьшее целое, большее или равное аргументу; floor наибольшее целое, меньшее или равное аргументу; frac дробная часть числа; trunc целое, округленное в направлении нуля; round округленное значение числа; signum(х) знак х (-1 при х 0). Для комплексного аргумента х эти функции определяются следующим образом: tranc(x) = trunc(Re(x)) + I*trunc(Im(x)); round(x) = round(Re(x)) + I*round(Im(x)); frac(x) - frac(Re(x)) + I*frac(Im(x)). flооr(x) = floor(Re(x)) + I*floor(Im(x)) + X, где ceil(x) = -flооr(-х) Специальные математические функции обычно являются решениями линейных дифференциальных уравнений различного типа и выражаются в виде интегралов, не представимых через элементарные функции. Maple имеет практически полный набор таких функций. Их представления можно найти в справочной базе данных Maple.

17 MAPLE Функции работы с массивами, векторами и матрицами Вызов элемента и присваивание ему значений: V[i]:=x присваивание нового значения х i-му элементу вектора V; M[i,j]:=x присваивание нового значения х элементу матрицы М. Векторы и матрицы похожи на списки, но не полностью отождествляются с ними. Используя функцию преобразования данных convert, можно преобразовывать одномерные списки в векторы, а двумерные списки в матрицы. Функция type(V, vector) тестирует аргумент V и возвращает true, если V вектор, и false в ином случае; type(M,matrix) тестирует аргумент М и возвращает true, если М матрица, и false в ином случае. Для проведение вычислений с массивами и матрицами используется функция evalm(M)

18 MAPLE Примеры матричных вычислений: Функции работы с массивами, векторами и матрицами

19 MAPLE Примеры символьных вычислений с матрицами. Функция map(fname, M, x) позволяет выполнить функцию fname над всеми элементами матрицы. Функции работы с массивами, векторами и матрицами

20 MAPLE Работа со строковыми данными Обработка строк Имеется ряд функций для работы со строками. Из них наиболее важны следующие: lenght(str) возвращает число символов, содержащихся в строке str; substring(str, a, b) возвращает подстроку строки str от а-го символа до b-го; cat(strl,str2....) возвращает строку, полученную объединением строк str1, str2,... (альтернатива оператор конкатенации в виде точки.); SearchText(s, str) производит поиск подстроки s в строке str и при его успехе возвращает номер позиции s в строке str (при отсутствии s в str функция возвращает 0). Интерактивный ввод математических выражений с запросом: функция readstat(promt), где promt строка с текстовым комментарием. Ввод строкового выражения с последующим преобразованием его в математическое выражение с помощью функции parse

21 MAPLE Пользовательские функции и средства программирования Для повышения эффективности работы с Maple возникает необходимость в создании собственных функций. Самый простой способ – присвоить некоторой переменной выражение и в дальнейшем его использовать, как функцию. Заданный таким образом объект все же не является полноценной функцией пользователя, поскольку в нем используются только глобальные переменные (х и у) и нет объявленного списка параметров, от которых зависит значение функции. При этом значения переменных функции приходится заведомо задавать отдельно, используя операции присваивания. Для задания полноценных функций пользователя применяется функциональный оператор. При этом используется следующая конструкция: name:=(x,y,...)->expr. После этого вызов функции осуществляется в виде name(x.y,...), где (х.у,...) список формальных параметров функции пользователя с именем name. Переменные, указанные в списке формальных параметров, являются локальными. При подстановке на их место фактических параметров они сохраняют их значения только в теле функции (ехрr). За пределами этой функции переменные с этими именами оказываются либо неопределенными, либо сохраняют ранее присвоенные им значения.

22 MAPLE Пользовательские функции и средства программирования Еще один способ задания функции пользователя базируется на применении функции unapply: name:=unapply(expr,var1,var2,...) При таком задании функции пользователя, помимо численных, можно проводить и символьные вычисления. Для графической визуализации заданных функций, как правило используются функции plot и plot3d

23 MAPLE Пользовательские функции и средства программирования Важный класс функций – импликативные, в которых связь между переменными задана неявно, в виде какого-либо выражения. Самый характерный пример такой функции это выражение для задания окружности радиуса r: х^2 + у^2 = r^2. Импликативные функции записываются как уравнения. Соответственно их можно решать с помощью функции solve. Визуализация импликативных функций осуществляется функцией implicitplot пакета plots

24 MAPLE Пользовательские функции и средства программирования Как и любой другой язык программирования Maple-язык содержит набор операторов, с помощью которых можно организовывать сложные вычисления. К ним относятся: Условный оператор: if (условие) then Элементы_1 else Элементы_2 fi; Оператор цикла: for from to by while do od; и его различные модификации, в том числе упрощенный цикл while do od; Процедуры Можно задать некоторую последовательность действий в виде отдельной процедуры: name := рroc(Формальные_параметры) Тело процедуры end; Вызов осуществляется в любом месте: name(Фактические параметры); Используя оператор return(Значение), можно явно указать значение, возвращаемое процедурой. Если return опущен, то процедура возвращает значение, полученное в последнем выражении тела.

25 MAPLE