[1, 2n, 3n]

> L:=[1,2,3,4];

L:=[1, 2, 3, 4]

> map(proc(x,y) x*y+1 end,[1, 2, 3, 4], 2);

[3, 5, 7, 9]

> map(int,L,x);

[x, 2x, 3x, 4x]

> map(F, [1, 2, 3], x, y, z);

[F(3, x, y, z), F(3, x, y, z), F(3, x, у, z)]

Из этих примеров нетрудно заметить, что если второй параметр функции map — список, то функция (первый параметр) прикладывается к каждому элементу списка, так что возвращается также список. Из последнего примера видно, что если за вторым параметром идет перечисление аргументов, то они включаются в список параметров функции.

Функции map2 отличается иным расположением параметров. Ее действие наглядно поясняют следующие примеры:

> map2(w, g, {а,b,с});

{w(g, a), w(g, b), w(g, с)}

> map2(op,1,[a+b+i,c+d+k, e+f+j]);

[а, с, е]

> map2(ор,3,[a+b+i,c+d+k,e+f+j]);

[i, k, j]

> map2(diff,[sin(х),cos(х),x^n],х);

При решении некоторых задач оптимизации возникает необходимость в создании выражений с множителями Лагранжа. Для этого можно использовать список из трех элементов выражения, заключенный в угловые скобки:

> е := <х^2, -sqrt(16-х^2), 5>;

Примеры на работу с выражениями, имеющими множители Лагранжа можно найти в файле демонстрационным L4lagra.mse.

3.6.3. Подстановки с помощью функций add, mul и seq

Заметим, что операции, подобные описанным выше, Maple реализует и с рядом других функций. Ограничимся примерами на подстановки с помощью функций сложения add, умножения mul и создания последовательностей seq:

> add(i,i=[a,b,c]);

a + b + c

> addi=[a,b,c]);

a² + b² + c²

> add(i^2,i=[1,2,3]);

14

> mul(x-i,i=0..4);

x(x - 1)(x - 2)(x - 3)(x - 4)

> mul(х^i,i=0..4);

x10

> seq(w(i),i={a,b,c});

w(a), w(b), w(c)

> seq(w(x, y, z), i={1,2,3});

w(x, y, z), w(x, y, z), w(x, y, z)

> seq(int(x^i,x),i={1,2,3,4});

3.6.4. Подстановки с помощью функций subs и subsop

Подстановки в общем случае служат для замены одной части выражения на другую. Частными видами подстановок являются такие виды операций, как замена одной переменной на другую или замена символьного значения переменной ее численным значением. Основные операции подстановки выполняют следующие функции:

• subs(x=a,e) — в выражении е заменяет подвыражение х на подвыражение а;

• subs(s1,…,sn,e) — в выражении е заменяет одни подвыражения на другие, выбирая их из списков s1, sn вида х=а;

• subsop(eq1, eq2, …, eqi, …, eqn, e) — в выражении e заменяет указанные в eqi операнды другими, указанными в правой части равенств eqi вида ni=ei, где ni — номер операнда, ei — выражение для замены.

Все эти функции возвращают измененное после подстановки выражение. Ниже показаны примеры применения функций подстановок:

> subs(а=b,b^2-2*а*b-b^2);

-2 b²

> subs (а=2,b=1,b^2-2*а*b-b^2);

> normal(%);

a-b

> subs(a=x,b=y,c=z,[a,b,с]);

[x, y, z]

> subs({x=y,y=x),[x,y]);

[y, х]

> subs(a=sin(x),b=cos(x),а^2+b*b);

sin(x)² + cos(x)²

> simplify(%);

1

> subsop(1=x,a+b+c);

x + b + c

> subsop(2=x,a+b+c);

a + x + c

> subsop(3=x,a+b+c);

a + b + x

> subsop(3=x,a+b/c);

Error, improper op or subscript selector

> subsop(1=sin(x),(1+cos(x))/b);

> subsop(2=sin(x),(1+cos(x))/b);

(1 +cos(x))sin(x)

> subsop(1=sin(x),2=sin(x),(1+cos(x))/b);

sin(x)²
Добавить отзыв
ВСЕ ОТЗЫВЫ О КНИГЕ В ИЗБРАННОЕ

0

Вы можете отметить интересные вам фрагменты текста, которые будут доступны по уникальной ссылке в адресной строке браузера.

Отметить Добавить цитату