Правила формального синтаксиса команд MAPLE и примеры

 

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

2.2. Объекты и операции с ними

Коротко об этом сказано в [1; 2], но для задач (например, по аналитической механике, как в главе 4 «Методы решения физических задач») потребуются более подробные сведения. Ниже дано несколько примеров использования структур и объектов, которые понадобятся в дальнейшем. Пример – построение функции Лагранжа в аналитической механике.

Объекты Maple sequence, list, set, table, array, vector, matrix применяются для представления сложных данных.

  • a:=vall; b:=val2; n:=vall; m:=val2;
  • Sequencel:=exprl,...,exprn;
  • Sequence2:=seq(f(i),i=a..b); Sequence3:='f(i)'$'i'=a..b;
  • Listl:=[Sequencel];
  • Rangel:=a..n;
  • Setl:={Sequencel};
  • Table1:=table([exprl=Al,...,exprN=AN]);
  • Arrl:=Array(a..n,a,,m);
  • Arr2:=Array();
  • Arr3:=Array(l..n,fill=l);
  • Vecl:=Vector(<al,...,an>); Vec2:=Vector(1..n,[al,...,an]);
  • Matrix(n,m,[all,al2,...,anm]]);
  • Matrix(n,m,symbol=a);
  • Matrix(<<all,a21,a31>|<al2,a22,a32>>);
  • Matrix(n,m,fill=l);
  • Matrix([[all,al2],[a21,a22],[a31,a32]]);
  • f:=(x,y)->expr;
  • Matrix(n,m,(i,j)->f(i,j));
  • Matrix([[all,...],..,[anl,...]]);

sequence, list, set – это группы выражений. Они отличаются способом устройства данных. Maple сохраняет порядок следования данных и их повторение в sequence и list и не сохраняет их в set. Порядок следования данных в set может поменяться при работе с листом Maple.
table – это группа выражений, представленная в виде таблицы. У каждого элемента есть индекс (целочисленный или произвольное выражение) и значение.
array – это таблица с целочисленными индексами. В Maple возможны array любой размерности, лишь бы хватило памяти компа.
vector – это одномерный массив с положительными целочисленными индексами.
matrix – это двумерный массив с положительными целочисленными индексами.
  • a:=5; b:=7; Rangel:=a..b;
  • SI:=x,y,z,a,b,c;
  • >LS1:=[S1]; SS1:={S1};
  • LI:=[sin(x),cos(x),sin(2*x),cos(2*x)]; Setl:={x,y,z};
  • Al:=Array(-l..3);
  • All:=array(-l..3);
  • A2:=Array(l..4,[1,2,3,4]);