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

 

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

2.3. Основные операции со структурами данных

Создать пустые структуры
  • NULL
  • :=
  • []

Примеры:

  • Seql:=NULL; Listl:=NULL; List2:=NULL; List3:=[]; Setl:={};
  • Set2:=NULL;
  • Tabl:=table();
  • Arrayl:=Array(-10..10);
  • Vecl:=Vector(10);
  • Matrixl:=Matrix(10,10);
Конкатенация (сцепление) структур
  • []
  • op
  • [ ]
  • cat

Примеры:

  • k:=1;
  • Seq1:=seq(i,i=1..9);
  • List1:=[Seq1];
  • a||Seq1; "Seq1"||(1..9);
  • k||(1..9);
  • cat(a,Seq1);
  • op([List1,List1]);
  • cat(Seq1,Seq1);
Извлечь i-й элемент из структуры
  • [ ]
  • op
  • select
  • has

Примеры:

  • Seq1:=seq(i^2,i=1..9); List1:=[Seq1]; Set1:={Seq1};
  • Array1:=Array(1..9,1..9,[List1,0,List1,0,List1,List1]);
  • i:=5; j:=2; List1[i]; op(i,List1); Array1[i,j]; op(i,Set1);
  • element:=9; select(has,Set1,element);
Определить число элементов в структуре
  • nops

Примеры:

  • List1:=[x,y,z]; Set1:={op(List1)}; nops(List1); nops(Set1);
Создать подструктуру
  • op
  • [ ]

Примеры:

  • Seq1:=x||(1..9);
  • List1:=[Seq1]; Set1:={Seq1};
  • n:=nops(List1);
  • List2:=[Seq1,Seq1]; n1:=2; n2:=5;
  • List3:=[op(n1..n2,List1)];
  • List4:=List1[n1..n2];
  • Seq2:=op([(n1..n2)],List2); Set2:={op(n1..n2,Set1)};
  • Set3:=Set1[n1..n2];
  • Seq3:=op([(n1..n2)],Set1);

Здесь n1n2n и n – число элементов в List1.

Заменить i-й элемент структуры
  • :=
  • []
  • subsop
  • subs
  • evalm<

Примеры:

  • Seq1:=x[i] $ i=1..9;
  • List1:=[Seq1]; i:=5; j:=2; val:=20;
  • List1[i]:=val; evaln(List1)=List1;
  • List2:=subsop(i=val+1,List1);
  • A:=Matrix(1..i,1..i,symbol=s); A1:=subs(s[i,j]=cos(a+b),A);
Вставить элемент или несколько элементов в структуру
  • [ ]
  • op

Примеры:

  • n1:=2; n2:=5; Seq1:=x[i] $ i=1..9; List1:=[Seq1];
  • List2:=[op(List1),A1]; List3:=[A1,op(List1)];
  • List4:=[op(n1..n2,List1),A1,A2,A3,A4,op(List2)];
Создать структуру в соответствии с формулой или со специальными свойствами
  • zero
  • identity
  • sparse
  • symmetric
  • diagonal
    и т. д.

Примеры:

  • f:=x->cos(x); n:=0; m:=3; Listl:=[seq(f(i*t),i=n..m)];
  • Setl:=map(x->x"2,{x,y,z});
  • Matrixl:=Matrix(m,m,(i,j)->i+j); Vector1:=Vector(m,i->i"2);
  • with(LinearAlgebra):
  • ZeroMatrix(m,m); IdentityMatrix(m,m);
Применить функцию к каждому элементу структуры
  • map
  • apply
  • applyop

Примеры:

  • Setl:={a||(1..9)};
  • func:=x->cos(x);
  • Set2:=map(x->x"2,Setl); Set2:=map(func,Setl);
  • apply(f,op(Setl)); applyop(func,{2,3},Setl);