Дьяконов Владимир Павлович
Шрифт:
Для присваивания переменным конкретных значений используется комбинированный символ присваивания «:=», например:
n:=1 — переменной n присваивается целочисленное значение 1;
х:=123.456 — переменной х присваивается вещественное значение 123.456;
у:=17/19 — переменной у присваивается рациональное значение 17/18;
name:=`Piter` — переменной name присваивается строковое значение `Piter`;
expr:=2*Pi/3 — переменной expr присваивается значение выражения 2л??!!/3;
V:=[1,2,3] — переменной V присваивается значение списка чисел [1,2,3];
М:=[[1,2,3],[4,5,6]] — переменной М присваивается значение двумерного массива;
f:=x->x^2 — переменной f присваивается значение функции пользователя f(x)=x^2.
Правая часть выражения присваивания определяет тип переменной. Например, она может быть целочисленной, действительной, строковой, индексированной (элемент массива) и т.д.
2.6.4. Отмена операции присваивания и команда restart
Переменная, имеющая какое либо значение, занимает в памяти намного больше места, чем неопределенная переменная. У последней место в памяти занимают только символы идентификатора. Поэтому нередко целесообразно отменить присваивание у тех переменных, которые в дальнейшем можно не использовать. Это может понадобиться и в том случае, когда какую-либо переменную с численным или иным значением нужно использовать просто как неопределенную переменную. Рассмотрим следующий пример:
Здесь не удалось вычислить интеграл с подынтегральной функцией х^2 из-за того, что переменная х уже определена ранее как целочисленная переменная со значением 10, тогда как для вычисления интеграла она должна быть необъявленной или строковой (убедитесь в этом сами).
Для отмены присваивания надо использовать следующее выражение:
Итак, заключение имени переменной в прямые апострофы ликвидирует присваивание. Так что запись х:=`х` означает, что переменной х возвращается статус неопределенной переменной. Теперь можно вычислить интеграл:
Можно сделать переменную х неопределенной и с помощью выражения вида x:=evaln(x). Это поясняет следующий пример:
Для отмены присваивания значений разом всем переменным (и введенным функциям пользователя) можно использовать команду restart. Следующий пример поясняет ее применение:
Следует отметить, что команда restart отменяет все предшествующие определения, что иногда чревато осложнениями. Применяйте ее только тогда, когда вы уверены, что предшествующая заданной часть документа (или даже ряда документов) действительно не важна.
Важно отметить, что Maple сохраняет в памяти все определения и присваивания, которые были сделаны во всех загруженных в систему документах. Поэтому результаты вычислений в текущем документе могут зависеть от определений в других документах. Команда restart позволяет исключить эту зависимость.
2.6.5. Придание переменным статуса предполагаемых
В большинстве расчетов пользователей Maple вполне удовлетворяет статус переменных, соответствующий присвоенным им значениям. Однако серьезные расчеты предполагают, что переменные могут иметь определенные ограничения — например, они не должны принимать отрицательных значений при обычном вычислении квадратного корня или логарифма числа.
Для придания переменным статуса предполагаемых используется функция assume: