Основы Maple

 

версия для печати

Имена переменных

Имена переменных можно задавать так, как хочется, но при этом следует учитывать несколько ограничений. Например, в языках C и Fortran нельзя назвать переменную «sin», так как это слово зарезервировано за функцией. То же касается и остальных зарезервированных слов, список которых известен в каждом языке. То же ограничение действует в Maple. В нем около 3000 команд с резервированными именами, при выборе которых Maple подсказывает пользователю неправильность выбора.

Кроме того, существуют вредные привычки, возникающие от свободы выбора, чему не надо следовать. Например, в коде на обычном языке программирования закон Ньютона выглядит так:

  • Newtons_Gravitational_Constant*Mass_1*Mass_2/
    Distance_Between_The_Masses^2

Вот аналогичная запись в группе Maple:

  • Newtons_Gravitational_Constant*Mass_1*Mass_2/ Distance_Between_The_Masses^2;

Это громоздко и неудобно при наборе текста, чего, конечно, надо избежать, применив простую конструкцию Maple:

  • G*m1*m2/r12^2;

Метод обозначения переменных, использующий подчеркивание и заглавные буквы, следует применять экономно. Лучше обозначать переменные знаками, соответствующими их обозначениям в физических формулах, желательно кратко, например, a, m, F, c, q, L, h, и т. п.

Кроме английского алфавита, Maple может использовать греческий.

Пример

  • alpha*beta/delta;

Доступны также заглавные буквы греческого алфавита:

  • Alpha*A;Beta+B;Chi/Gamma;

Некоторые буквы получаются так:

  • CHI;

Можно получать формулы в «книжном» виде. Чтобы не вспоминать написание букв, пользуйтесь палитрой слева.

Несколько букв недоступны, потому что они используются системой:

  • gamma:=4;Chi:=3;

Конечно, для них можно применить unassign и использовать в расчетах, но делать это не рекомендуется.

Также не рекомендуется ставить нижние индексы для переменных, даже если это разрешено Maple. Например, запись Maple для работы с переменными x1 и x2:

  • x[1]:=1;x[2]:=2;

Смотрится хорошо, но что произойдет, если задать для x значение, а затем посмотреть, что находится в x1:

  • x:=3;
  • x[1];

Теперь понятно, что для работы с переменной x1 ее лучше назвать x1.

Maple позволяет ставить специальные знаки в имена переменных, но тогда придется использовать специальный синтаксис. Например, надо определить выражение f, а затем присвоить его производную переменной с именем f':

  • f:=exp(y)*cos(y);
  • `f'`:=diff(f,y);

Апострофы, в которые взята f', говорят Maple, что в имени переменной используется особый символ ( ') и Maple должен принять это без возражений.

Что может представлять переменная?

В обычных языках программирования, вроде Fortran, C, а также в MatLab переменные представляют ограниченное число разных типов данных: числа (целые, числа с плавающей запятой, комплексные), знаки, строки... Но в Maple переменная может описывать более 100 различных типов данных. Это сильно осложняет жизнь. Например, в Fortran или MatLab оператор a=5 означает, что переменной присвоено значение 5. Но в Maple оператор

  • a=5;

вообще не имеет отношения к присваиванию. Кроме того, уравнение a=5 выглядит глупо. Maple может решить его и найти, что a – это 5, но это выражение не присваивает значение 5 переменной a. То есть нужен оператор присваивания :=:

  • a:=5;

Различие в способах записи станет ещё понятнее, если учесть, что в Maple имеет смысл выражение:

  • Eq:=b=5;

что означает: переменная Eq содержит уравнение b=5.

Еще один пример:

  • Eq2:= x^2 + y^2 = R^2;

Результат странен: откуда взялось 9? Все зависит от предыстории того, что записывалось ранее. Самый быстрый способ исправить ситуацию (пока, конечно, не обращая внимания на результаты расчетов) – применить команду restart:

  • restart;

Теперь поставим курсор на красное выражение для Eq2, щелкнем и получим правильное исполнение. Важно отметить, что так получится, даже если команда restart находилась ниже Eq2:=... . Этим Maple отличается от C или MatLab. Ниже приведена часть списка возможных типов данных. Для полного обзора возможностей примените >?type и в открывшемся окне прокрутите ответ вниз по большому списку возможных типов переменных (и всякого другого). Например, чтобы узнать тип переменной a, примените команду whattype(a):

  • whattype(a);

Для проверки типа уравнения Eq2 надо написать:

  • whattype(Eq2);