> 2*sin(1);

2 sin(1)

Обратите внимание на особую роль десятичной точки — здесь она служит указанием к выполнению вычисления значения sin(1.0) (или, что то же самое, sin(1.)). А вот синус целочисленного аргумента 1 не вычисляется — считается, что вычисленное значение менее ценно, чем точное значение sin(1).

Ради единства терминологии мы будем пользоваться расширительным понятием функции, относя к нему и те объекты, которые в некоторых языках программирования именуют процедурами или командами. Например, команды plot и plot3d построения графиков мы также будем называть функциями, которые возвращают графики аргументов. Под командами же мы будем подразумевать прежде всего команды, содержащиеся в пунктах меню.

Помимо функций, в математических системах для записи математических выражений используется специальные знаки — операторы. К примеру, вычисление квадратного корня часто записывается с помощью его специального знака — √. Достаточно хорошо известны операторы сложения +, вычитания -, умножения деления / и некоторые другие. Операторы обычно используются с операндами в виде констант или переменных, например в записи 2*(3+4) числа 2, 3 и 4 — это операнды, а знаки * и + — операторы. Скобки используются для изменения порядка выполнения операций. Так, без них 2*3+4=10, тогда как 2*(3+4)=14, поскольку вначале вычисляется выражение в скобках.

Пожалуй, самым распространенным оператором является оператор присваивания :=. Он используется для задания переменным конкретных значений, например:

> х:=у;

х := у

> у:=z;

y := z

> z:=2;

z := 2

> х;

2

> у;

2

Этот простой пример наглядно иллюстрирует изменение значений переменных и особую роль оператора присваивания в системе Maple. В частности, в этом примере переменные х, у и z взаимосвязаны с помощью операций присваивания. Поэтому задание значения 2 переменной z приводит к тому, что и переменные у и х принимают то же значение.

Другой распространенный оператор — оператор равенства = используется для задания равенств и логических условий (например, а=b), указания областей изменения переменных (например, i=1..5 означает формирование диапазона изменения i от 1 до 5) и определения значений параметров в функциях и командах (например, color=black для задания черного цвета у линий графиков).

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

С позиции канонов символьной математики квадратный корень из двух уже является основным результатом вычислений. Поэтому такая функция обычно не вычисляется в численном виде, а выводится в естественном виде, с применением знака квадратного корня √. Для вычисления в привычном виде (в виде десятичного числа с мантиссой и порядком) надо воспользоваться функцией evalf(sqrt(2)) — эта функция обеспечивает вычисление символьного выражения, заданного ее параметром (числом 2). Результат точных целочисленных операций Maple стремится представить в виде рационального числа — отношения двух целых чисел. Например:

> (125-2)/(3980+58);

1.11.3. Операторы и средства вывода выражений

Для вывода выражений чаше всего используется оператор-символ «точка с запятой», который ставится после соответствующего выражения. Однако есть и оператор вывода print:

> print(2*sin(1));

> print(2*sin(1.));

2sin(1) 1.682941970

Обратите внимание на несколько необычный вывод в этом примере (до сих пор вывод каждого выражения шел после его завершения). Такой вывод обеспечивается, если строки ввода ряда выражений заключены в общую квадратную скобку слева от приведенных выражений. Для блокирования вывода используется оператор «двоеточия», а оператор «%» применяется для исполнения предшествующего выражения:

> print(2*sin(1.)):

1.682941970

> 2*sin(1.):

> %;

1.682941970

Обратите внимание и на то, что знак «двоеточия» в первом случае не сработал. Это связано с тем, что сам оператор print выполнил свою функцию — вывода.

Некоторые выражения могут записываться в виде инертных функций, которые выводят записываемое выражение, но без их исполнения. Такие функции обычно записываются с большой буквы. Следующие примеры иллюстрирует применение функции интегрирования — обычной int и инертной Int:

> int(х^2,х=0..1);

> Int(х^2,х=0..1);

> evalf(%);

0.3333333333

В первом примере Maple вычисляет интеграл предельно точно и дает ответ в виде рационального числа. Во втором примере просто выводится запись интеграла в математической нотации. В третьем случае функция evalf вычисляет этот интеграл и возвращает результат уже в форме числа с плавающей точкой. Мы еще вернемся в дальнейшем к более подробному описанию этих и иных средств вывода.

1.11.4. Обработка и индикация ошибок

При работе с системой Maple надо строго придерживаться правил корректного ввода выражений и иных объектов Maple-языка, называемых синтаксисом языка.

Алгоритмические, но синтаксически корректные, ошибки часто могут не распознаваться системой. Например, если в выражении a*sin(x) вы вместо аргумента х взяли аргумент b, то есть записали a*sin(b), то такую ошибку Maple распознать не может, ибо синтаксически как a*sin(x), так и a*sin(b) абсолютно корректны. Если вы перепутаете синус с косинусом и запишете a*cos(x), то такая ошибка также не будет распознана.

Добавить отзыв
ВСЕ ОТЗЫВЫ О КНИГЕ В ИЗБРАННОЕ

0

Вы можете отметить интересные вам фрагменты текста, которые будут доступны по уникальной ссылке в адресной строке браузера.

Отметить Добавить цитату