Чтение онлайн

ЖАНРЫ

Maple 9.5/10 в математике, физике и образовании

Дьяконов Владимир Павлович

Шрифт:

Примеры применения этих функций (файл sortsel)

> restart;

> sort([у, s,f,a,c,i] ); t([2,5,1,7,3,8]);

[a, c, f, i, s, y]
t([2, 5,1,7, 3, 8])

> sort([y,s,f,a,c,i]);

[a, c, f, i, s, y]

> sort([у,s,f,а,с,i],lexorder);

[a, c, f, i, s, y]

> sort(1+х^4-х^2+х);

x4– x2 + x + 1

> sort(у*х^2+х*у+у-х^2+х^4*у^5);

x4 y5 + x2y - x2 + xy +
у

> sort((y+z+x)/(y-x-z),{x, y})
;

> names:= ["Peter","Anna","Vladimir", "Ivan"];

names := ["Peter", "Anna", "Vladimir", "Ivan"]

> sort(names);

["Anna", "Ivan", "Peter", "Vladimir"]

> integers:=[$10..30];

integers := [10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30]

Если функция сортировки меняет порядок расположения членов в выражении (или порядок расположения выражений), то другая функция — select — служит для выделения требуемого выражения:

select(f, е)

select(f, е, b1, ..., bn)

Как бы обратной ей по действию служит функция remove, устраняющая заданные выражения:

remove(f, е)

remove(f, е, b1,.... bn)

В этих функциях f — процедура, возвращающая логическое значение, е — список, множество, сумма, произведение или функция, b1, …, bn — необязательные дополнительные аргументы.

Ниже даны примеры применения этих функций (файл sortsel):

> integers := [$10..30]:

> select(isprime,integers);

[11, 13, 17, 19, 23, 29]

> remove(isprime,integers);

[10, 12, 14, 15, 16, 18, 20, 21, 22, 24, 25, 26, 27, 28, 30]

> f:=2*ln(a*x)*exp(x)*ln(y);

f: = 2 ln(ax)ex ln(y)

> select(has,f,x);

ln(ax)ex

> remove(has,f,x);

2 ln(y)

> f:=indets(f);

f: = {a, x, y, ex, ln(y), ln(ax)}

> select(type,f,name);

{a, x, y}

> remove(type,f,name);

x, ln(y), ln(ах)}

> f:=2*ln(x)*(y+1);

f:= 2 ln(x)(y + 1)

> c:=remove(has,f,x);

с:= 2y + 2

> f/c;

> select(has,f,x);

ln(x)

Maple

имеет также оператор селекции А[expr]. Его действие поясняют следующие примеры (файл sortsel):

> restart;

> S:=[a+b*c,х^2,с,1,2,3];

S:=[a+ bc, x²,c, 1, 2, 3]

> S[1];

a + bc

> S[1..2];

[a+bc, x²]

> S[-2..-1];

[2, 3]

> S[3..3];

[c]

> S[3..2];

[]

> S[4..6];

[1, 2, 3]

> X:=S[];

X := a + bc, x², c, 1, 2, 3

> X[1];

a + bc

> X[1..2];

a + bc, x²

> X[-2..-1];

2,3

> S:={a,b,c};

S:={a, b, c}

> S[1];

a

> S[3];

c

> S[1..2];

{a, b}

> S[-2..-1];

{b, c}

3.7. Символьные преобразования выражений

3.7.1. Упрощение выражений — simplify

Функция simplify — одна из самых мощных в системах символьной математики. Она предназначена для упрощения математических выражений. «Все гениальное просто» — любим мы повторять, хотя это далеко не всегда так. Тем не менее, стремление представить многие математические выражения в наиболее простом виде поощряется в большинстве вычислений и нередко составляет их цель.

В системе Maple функция упрощения используется в следующем виде:

• simplify(expr) — возвращает упрощенное выражение expr или повторяет его, если упрощение в рамках правил Maple невозможно;

• simplify(expr, n1, n2, …) — возвращает упрощенное выражение expr с учетом параметров с именами n1, n2, … (в том числе заданных списком или множеством);

• simplify(expr,assume=prop) — возвращает упрощенное выражение expr с учетом всех условий, представленных равенством или списком равенств.

Функция simplify — многоцелевая. Она обеспечивает упрощение математических выражений, выполняя следующие типовые действия (для простоты обозначим их как ->):

• комбинируя цифровые подвыражения (3*х*5->15*х, 10*x/5->2*x);

• приводя подобные множители в произведениях (х^3*а*х->а*х^4);

• приводя подобные члены в суммах (5*х+2+3*х->8*х+2);

• используя тождества, содержащие ноль (а+0->а, х-0->х);

• используя тождества, содержащие единицу (1*х->х);

• распределяя целочисленные показатели степени в произведениях ((3*х*у^3)^2->9*х^2*у^6);

• сокращая expr на наибольший общий полиномиальный или иной множитель;

Поделиться с друзьями: